{ "info": { "_postman_id": "b02d7226-7272-45a5-9289-ef20c6774d56", "name": "The Jira Cloud platform REST API", "description": "Jira Cloud platform REST API documentation", "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" }, "item": [ { "name": "Announcement banner", "description": "This resource represents an announcement banner. Use it to retrieve and update banner configuration.", "item": [ { "name": "Get announcement banner configuration", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/announcementBanner", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the current announcement banner configuration.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update announcement banner configuration", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/announcementBanner", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the announcement banner configuration.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"isDismissible\": false,\n \"isEnabled\": true,\n \"message\": \"This is a public, enabled, non-dismissible banner, set using the API\",\n \"visibility\": \"public\"\n}" } }, "response": [] } ] }, { "name": "App data policies (EAP)", "description": "This resource represents app access rule data policies.", "item": [ { "name": "Get data policy for the workspace (EAP)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/data-policy", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns data policy for the workspace.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get data policy for projects (EAP)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/data-policy/project", "query": [ { "key": "ids", "value": "{{ids}}", "disabled": true, "description": "A list of project identifiers. This parameter accepts a comma-separated list." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns data policies for the projects specified in the request.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Application roles", "description": "This resource represents application roles. Use it to get details of an application role or all application roles.", "item": [ { "name": "Get all application roles", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/applicationrole", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all application roles. In Jira, application roles are managed using the [Application access configuration](https://confluence.atlassian.com/x/3YxjL) page.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get application role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/applicationrole/:key", "query": [], "variable": [ { "key": "key", "value": "{{key}}", "description": "The key of the application role. Use the [Get all application roles](#api-rest-api-2-applicationrole-get) operation to get the key for each application role.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an application role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Audit records", "description": "This resource represents audits that record activities undertaken in Jira. Use it to get a list of audit records.", "item": [ { "name": "Get audit records", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/auditing/record", "query": [ { "key": "offset", "value": "{{offset}}", "disabled": true, "description": "The number of records to skip before returning the first result." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of results to return." }, { "key": "filter", "value": "{{filter}}", "disabled": true, "description": "The strings to match with audit field content, space separated." }, { "key": "from", "value": "{{from}}", "disabled": true, "description": "The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned." }, { "key": "to", "value": "{{to}}", "disabled": true, "description": "The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of audit records. The list can be filtered to include items:\n\n * where each item in `filter` has at least one match in any of these fields:\n \n * `summary`\n * `category`\n * `eventSource`\n * `objectItem.name` If the object is a user, account ID is available to filter.\n * `objectItem.parentName`\n * `objectItem.typeName`\n * `changedValues.changedFrom`\n * `changedValues.changedTo`\n * `remoteAddress`\n \n For example, if `filter` contains *man ed*, an audit record containing `summary\": \"User added to group\"` and `\"category\": \"group management\"` is returned.\n * created on or after a date and time.\n * created or or before a date and time.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Avatars", "description": "This resource represents system and custom avatars. Use it to obtain the details of system or custom avatars, add and remove avatars from a project or issue type, and obtain avatar images.", "item": [ { "name": "Get system avatars by type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/avatar/:type/system", "query": [], "variable": [ { "key": "type", "value": "{{type}}", "description": "The avatar type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get avatars", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/universal_avatar/type/:type/owner/:entityId", "query": [], "variable": [ { "key": "type", "value": "{{type}}", "description": "The avatar type.", "disabled": false }, { "key": "entityId", "value": "{{entityId}}", "description": "The ID of the item the avatar is associated with.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the system and custom avatars for a project or issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * for custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.\n * for custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.\n * for system avatars, none.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Load avatar", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/universal_avatar/type/:type/owner/:entityId", "query": [ { "key": "x", "value": "{{x}}", "disabled": true, "description": "The X coordinate of the top-left corner of the crop region." }, { "key": "y", "value": "{{y}}", "disabled": true, "description": "The Y coordinate of the top-left corner of the crop region." }, { "key": "size", "value": "{{size}}", "disabled": false, "description": "The length of each side of the crop region." } ], "variable": [ { "key": "type", "value": "{{type}}", "description": "The avatar type.", "disabled": false }, { "key": "entityId", "value": "{{entityId}}", "description": "The ID of the item the avatar is associated with.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "*/*" } ], "description": "Loads a custom avatar for a project or issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/' `\n\n`--data-binary \"\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/2/universal_avatar/type/{type}/owner/{entityId}'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use:\n\n * [Update issue type](#api-rest-api-2-issuetype-id-put) to set it as the issue type's displayed avatar.\n * [Set project avatar](#api-rest-api-2-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw" } }, "response": [] }, { "name": "Delete avatar", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/universal_avatar/type/:type/owner/:owningObjectId/avatar/:id", "query": [], "variable": [ { "key": "type", "value": "{{type}}", "description": "The avatar type.", "disabled": false }, { "key": "owningObjectId", "value": "{{owningObjectId}}", "description": "The ID of the item the avatar is associated with.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the avatar.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an avatar from a project or issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get avatar image by type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/universal_avatar/view/type/:type", "query": [ { "key": "size", "value": "{{size}}", "disabled": true, "description": "The size of the avatar image. If not provided the default size is returned." }, { "key": "format", "value": "{{format}}", "disabled": true, "description": "The format to return the avatar image in. If not provided the original content format is returned." } ], "variable": [ { "key": "type", "value": "{{type}}", "description": "The icon type of the avatar.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the default project or issue type avatar image.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get avatar image by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/universal_avatar/view/type/:type/avatar/:id", "query": [ { "key": "size", "value": "{{size}}", "disabled": true, "description": "The size of the avatar image. If not provided the default size is returned." }, { "key": "format", "value": "{{format}}", "disabled": true, "description": "The format to return the avatar image in. If not provided the original content format is returned." } ], "variable": [ { "key": "type", "value": "{{type}}", "description": "The icon type of the avatar.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the avatar.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a project or issue type avatar image by ID.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * For system avatars, none.\n * For custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.\n * For custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get avatar image by owner", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/universal_avatar/view/type/:type/owner/:entityId", "query": [ { "key": "size", "value": "{{size}}", "disabled": true, "description": "The size of the avatar image. If not provided the default size is returned." }, { "key": "format", "value": "{{format}}", "disabled": true, "description": "The format to return the avatar image in. If not provided the original content format is returned." } ], "variable": [ { "key": "type", "value": "{{type}}", "description": "The icon type of the avatar.", "disabled": false }, { "key": "entityId", "value": "{{entityId}}", "description": "The ID of the project or issue type the avatar belongs to.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the avatar image for a project or issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * For system avatars, none.\n * For custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.\n * For custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Classification levels", "description": "This resource represents classification levels.", "item": [ { "name": "Get all classification levels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/classification-levels", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "Optional set of statuses to filter by." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "Ordering of the results by a given field. If not provided, values will not be sorted." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all classification levels.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Dashboards", "description": "This resource represents dashboards. Use it to obtain the details of dashboards as well as get, create, update, or remove item properties and gadgets from dashboards.", "item": [ { "name": "Get all dashboards", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard", "query": [ { "key": "filter", "value": "{{filter}}", "disabled": true, "description": "The filter applied to the list of dashboards. Valid values are:\n\n * `favourite` Returns dashboards the user has marked as favorite.\n * `my` Returns dashboards owned by the user." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a dashboard.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A dashboard to help auditors identify sample of issues to check.\",\n \"editPermissions\": [],\n \"name\": \"Auditors dashboard\",\n \"sharePermissions\": [\n {\n \"type\": \"global\"\n }\n ]\n}" } }, "response": [] }, { "name": "Bulk edit dashboards", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/bulk/edit", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboards to be updated must be owned by the user, or the user must be an administrator.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"action\": \"changePermission\",\n \"entityIds\": [\n 10001,\n 10002\n ],\n \"extendAdminPermissions\": true,\n \"permissionDetails\": {\n \"editPermissions\": [\n {\n \"group\": {\n \"groupId\": \"276f955c-63d7-42c8-9520-92d01dca0625\",\n \"name\": \"jira-administrators\",\n \"self\": \"https://your-domain.atlassian.net/rest/api/~ver~/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\n },\n \"id\": 10010,\n \"type\": \"group\"\n }\n ],\n \"sharePermissions\": [\n {\n \"id\": 10000,\n \"type\": \"global\"\n }\n ]\n }\n}" } }, "response": [] }, { "name": "Get available gadgets", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/gadgets", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets a list of all available gadgets that can be added to all dashboards.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Search for dashboards", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/search", "query": [ { "key": "dashboardName", "value": "{{dashboardName}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with `name`." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with the `owner` parameter." }, { "key": "owner", "value": "{{owner}}", "disabled": true, "description": "This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return dashboards with the matching `owner.name`. This parameter cannot be used with the `accountId` parameter." }, { "key": "groupname", "value": "{{groupname}}", "disabled": true, "description": "As a group's name can change, use of `groupId` is recommended. Group name used to return dashboards that are shared with a group that matches `sharePermissions.group.name`. This parameter cannot be used with the `groupId` parameter." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "Group ID used to return dashboards that are shared with a group that matches `sharePermissions.group.groupId`. This parameter cannot be used with the `groupname` parameter." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by dashboard popularity.\n * `id` Sorts by dashboard ID.\n * `is_favourite` Sorts by whether the dashboard is marked as a favorite.\n * `name` Sorts by dashboard name.\n * `owner` Sorts by dashboard owner name." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "The status to filter by. It may be active, archived or deleted." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the dashboard.\n * `owner` Returns the owner of the dashboard.\n * `viewUrl` Returns the URL that is used to view the dashboard.\n * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.\n * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.\n * `sharePermissions` Returns details of the share permissions defined for the dashboard.\n * `editPermissions` Returns details of the edit permissions defined for the dashboard.\n * `isWritable` Returns whether the current user has permission to edit the dashboard." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of dashboards. This operation is similar to [Get dashboards](#api-rest-api-2-dashboard-get) except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The following dashboards that match the query parameters are returned:\n\n * Dashboards owned by the user. Not returned for anonymous users.\n * Dashboards shared with a group that the user is a member of. Not returned for anonymous users.\n * Dashboards shared with a private project that the user can browse. Not returned for anonymous users.\n * Dashboards shared with a public project.\n * Dashboards shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get gadgets", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/gadget", "query": [ { "key": "moduleKey", "value": "{{moduleKey}}", "disabled": true, "description": "The list of gadgets module keys. To include multiple module keys, separate module keys with ampersand: `moduleKey=key:one&moduleKey=key:two`." }, { "key": "uri", "value": "{{uri}}", "disabled": true, "description": "The list of gadgets URIs. To include multiple URIs, separate URIs with ampersand: `uri=/rest/example/uri/1&uri=/rest/example/uri/2`." }, { "key": "gadgetId", "value": "{{gadgetId}}", "disabled": true, "description": "The list of gadgets IDs. To include multiple IDs, separate IDs with ampersand: `gadgetId=10000&gadgetId=10001`." } ], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of dashboard gadgets on a dashboard.\n\nThis operation returns:\n\n * Gadgets from a list of IDs, when `id` is set.\n * Gadgets with a module key, when `moduleKey` is set.\n * Gadgets from a list of URIs, when `uri` is set.\n * All gadgets, when no other parameters are set.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add gadget to dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/gadget", "query": [], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds a gadget to a dashboard.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"color\": \"blue\",\n \"ignoreUriAndModuleKeyValidation\": false,\n \"moduleKey\": \"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item\",\n \"position\": {\n \"column\": 1,\n \"row\": 0\n },\n \"title\": \"Issue statistics\"\n}" } }, "response": [] }, { "name": "Update gadget on dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/gadget/:gadgetId", "query": [], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false }, { "key": "gadgetId", "value": "{{gadgetId}}", "description": "The ID of the gadget.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Changes the title, position, and color of the gadget on a dashboard.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"color\": \"red\",\n \"position\": {\n \"column\": 1,\n \"row\": 1\n },\n \"title\": \"My new gadget title\"\n}" } }, "response": [] }, { "name": "Remove gadget from dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/gadget/:gadgetId", "query": [], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false }, { "key": "gadgetId", "value": "{{gadgetId}}", "description": "The ID of the gadget.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a dashboard gadget from a dashboard.\n\nWhen a gadget is removed from a dashboard, other gadgets in the same column are moved up to fill the emptied position.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get dashboard item property keys", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/items/:itemId/properties", "query": [], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false }, { "key": "itemId", "value": "{{itemId}}", "description": "The ID of the dashboard item.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the keys of all properties for a dashboard item.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira\\\\u2019s anonymous access is permitted.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get dashboard item property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/items/:itemId/properties/:propertyKey", "query": [], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false }, { "key": "itemId", "value": "{{itemId}}", "description": "The ID of the dashboard item.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the dashboard item property.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the key and value of a dashboard item property.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira\\\\u2019s anonymous access is permitted.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set dashboard item property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/items/:itemId/properties/:propertyKey", "query": [], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false }, { "key": "itemId", "value": "{{itemId}}", "description": "The ID of the dashboard item.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the dashboard item property. The maximum length is 255 characters. For dashboard items with a spec URI and no complete module key, if the provided propertyKey is equal to \"config\", the request body's JSON must be an object with all keys and values as strings.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"number\": 5,\n \"string\": \"string-value\"\n}" } }, "response": [] }, { "name": "Delete dashboard item property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:dashboardId/items/:itemId/properties/:propertyKey", "query": [], "variable": [ { "key": "dashboardId", "value": "{{dashboardId}}", "description": "The ID of the dashboard.", "disabled": false }, { "key": "itemId", "value": "{{itemId}}", "description": "The ID of the dashboard item.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the dashboard item property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a dashboard item property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the dashboard.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a dashboard.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.\n\nHowever, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the dashboard to update.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a dashboard, replacing all the dashboard details with those provided.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be updated must be owned by the user.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A dashboard to help auditors identify sample of issues to check.\",\n \"editPermissions\": [],\n \"name\": \"Auditors dashboard\",\n \"sharePermissions\": [\n {\n \"type\": \"global\"\n }\n ]\n}" } }, "response": [] }, { "name": "Delete dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the dashboard.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be deleted must be owned by the user.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Copy dashboard", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/dashboard/:id/copy", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be copied must be owned by or shared with the user.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A dashboard to help auditors identify sample of issues to check.\",\n \"editPermissions\": [],\n \"name\": \"Auditors dashboard\",\n \"sharePermissions\": [\n {\n \"type\": \"global\"\n }\n ]\n}" } }, "response": [] } ] }, { "name": "Filters", "description": "This resource represents [filters](https://confluence.atlassian.com/x/eQiiLQ). Use it to get, create, update, or delete filters. Also use it to configure the columns for a filter and set favorite filters.", "item": [ { "name": "Create filter", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`." }, { "key": "overrideSharePermissions", "value": "{{overrideSharePermissions}}", "disabled": true, "description": "EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be created. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-2-filter-post). The filter is not selected as a favorite.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Lists all open bugs\",\n \"jql\": \"type = Bug and resolution is empty\",\n \"name\": \"All Open Bugs\"\n}" } }, "response": [] }, { "name": "Get favorite filters", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/favourite", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the visible favorite filters of the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** A favorite filter is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get my filters", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/my", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`." }, { "key": "includeFavourites", "value": "{{includeFavourites}}", "disabled": true, "description": "Include the user's favorite filters in the response." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are also returned.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Search for filters", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/search", "query": [ { "key": "filterName", "value": "{{filterName}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with `name`." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with `owner`." }, { "key": "owner", "value": "{{owner}}", "disabled": true, "description": "This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return filters with the matching `owner.name`. This parameter cannot be used with `accountId`." }, { "key": "groupname", "value": "{{groupname}}", "disabled": true, "description": "As a group's name can change, use of `groupId` is recommended to identify a group. Group name used to returns filters that are shared with a group that matches `sharePermissions.group.groupname`. This parameter cannot be used with the `groupId` parameter." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "Group ID used to returns filters that are shared with a group that matches `sharePermissions.group.groupId`. This parameter cannot be used with the `groupname` parameter." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Do not exceed 200 filter IDs." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `description` Sorts by filter description. Note that this sorting works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by the count of how many users have this filter as a favorite.\n * `is_favourite` Sorts by whether the filter is marked as a favorite.\n * `id` Sorts by filter ID.\n * `name` Sorts by filter name.\n * `owner` Sorts by the ID of the filter owner.\n * `is_shared` Sorts by whether the filter is shared." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the filter.\n * `favourite` Returns an indicator of whether the user has set the filter as a favorite.\n * `favouritedCount` Returns a count of how many users have set this filter as a favorite.\n * `jql` Returns the JQL query that the filter uses.\n * `owner` Returns the owner of the filter.\n * `searchUrl` Returns a URL to perform the filter's JQL query.\n * `sharePermissions` Returns the share permissions defined for the filter.\n * `editPermissions` Returns the edit permissions defined for the filter.\n * `isWritable` Returns whether the current user has permission to edit the filter.\n * `approximateLastUsed` \\[Experimental\\] Returns the approximate date and time when the filter was last evaluated.\n * `subscriptions` Returns the users that are subscribed to the filter.\n * `viewUrl` Returns a URL to view the filter." }, { "key": "overrideSharePermissions", "value": "{{overrideSharePermissions}}", "disabled": true, "description": "EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of filters. Use this operation to get:\n\n * specific filters, by defining `id` only.\n * filters that match all of the specified attributes. For example, all filters for a user with a particular word in their name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters that match the query parameters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get filter", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`." }, { "key": "overrideSharePermissions", "value": "{{overrideSharePermissions}}", "disabled": true, "description": "EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter to return.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a filter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, the filter is only returned where it is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update filter", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`." }, { "key": "overrideSharePermissions", "value": "{{overrideSharePermissions}}", "disabled": true, "description": "EXPERIMENTAL: Whether share permissions are overridden to enable the addition of any share permissions to filters. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter to update.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must own the filter.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Lists all open bugs\",\n \"jql\": \"type = Bug and resolution is empty\",\n \"name\": \"All Open Bugs\"\n}" } }, "response": [] }, { "name": "Delete filter", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter to delete.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Delete a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/columns", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed in *List View* with the *Columns* set to *Filter*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, column details are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/columns", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get fields](#api-rest-api-2-field-get) to get the list fields in Jira. A navigable field has `navigable` set to `true`.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/filter/10000/columns`\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only set for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Reset columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/columns", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Reset the user's column configuration for the filter to the default.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only reset for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add filter as favorite", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/favourite", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Add a filter as a favorite for the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, the user can only favorite:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove filter as favorite", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/favourite", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from the user's favorites list. For example, if the user favorites a public filter that is subsequently made private (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Change filter owner", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/owner", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter to update.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Changes the owner of the filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira. However, the user must own the filter or have the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"accountId\": \"0000-0000-0000-0000\"\n}" } }, "response": [] } ] }, { "name": "Filter sharing", "description": "This resource represents options for sharing [filters](#api-group-Filters). Use it to get share scopes as well as add and remove share scopes from filters.", "item": [ { "name": "Get default share scope", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/defaultShareScope", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the default sharing settings for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set default share scope", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/defaultShareScope", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the default sharing for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"scope\": \"GLOBAL\"\n}" } }, "response": [] }, { "name": "Get share permissions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/permission", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, share permissions are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add share permission", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/permission", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter.\n\nBe aware that this operation uses different objects for updating share permissions compared to [Update filter](#api-rest-api-2-filter-id-put).\n\n**[Permissions](#permissions) required:** *Share dashboards and filters* [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the filter.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"groupname\": \"jira-administrators\",\n \"rights\": 1,\n \"type\": \"group\"\n}" } }, "response": [] }, { "name": "Get share permission", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/permission/:permissionId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false }, { "key": "permissionId", "value": "{{permissionId}}", "description": "The ID of the share permission.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, a share permission is only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete share permission", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/filter/:id/permission/:permissionId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the filter.", "disabled": false }, { "key": "permissionId", "value": "{{permissionId}}", "description": "The ID of the share permission.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a share permission from a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira and the user must own the filter.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Group and user picker", "description": "This resource represents a list of users and a list of groups. Use it to obtain the details to populate user and group picker suggestions list.", "item": [ { "name": "Find users and groups", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/groupuserpicker", "query": [ { "key": "query", "value": "{{query}}", "disabled": false, "description": "The search string." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return in each list." }, { "key": "showAvatar", "value": "{{showAvatar}}", "disabled": true, "description": "Whether the user avatar should be returned. If an invalid value is provided, the default value is used." }, { "key": "fieldId", "value": "{{fieldId}}", "disabled": true, "description": "The custom field ID of the field this request is for." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The ID of a project that returned users and groups must have permission to view. To include multiple projects, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used when `fieldId` is present." }, { "key": "issueTypeId", "value": "{{issueTypeId}}", "disabled": true, "description": "The ID of an issue type that returned users and groups must have permission to view. To include multiple issue types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values, such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only used when `fieldId` is present." }, { "key": "avatarSize", "value": "{{avatarSize}}", "disabled": true, "description": "The size of the avatar to return. If an invalid value is provided, the default value is used." }, { "key": "caseInsensitive", "value": "{{caseInsensitive}}", "disabled": true, "description": "Whether the search for groups should be case insensitive." }, { "key": "excludeConnectAddons", "value": "{{excludeConnectAddons}}", "disabled": true, "description": "Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided, the default value is used." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of users and groups matching a string. The string is used:\n\n * for users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.\n * for groups, to find a case-sensitive match with group name.\n\nFor example, if the string *tin* is used, records with the display name *Tina*, email address *sarah@tinplatetraining.com*, and the group *accounting* would be returned.\n\nOptionally, the search can be refined to:\n\n * the projects and issue types associated with a custom field, such as a user picker. The search can then be further refined to return only users and groups that have permission to view specific:\n \n * projects.\n * issue types.\n \n If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.\n * not return Connect app users and groups.\n * return groups that have a case-insensitive match with the query.\n\nThe primary use case for this resource is to populate a picker field suggestion list with users or groups. To this end, the returned object includes an `html` field for each list. This field highlights the matched query term in the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for use in a picker, specifically *Showing X of Y matching groups*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/yodKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Groups", "description": "This resource represents groups of users. Use it to get, create, find, and delete groups as well as add and remove users from groups. (\\[WARNING\\] The standard Atlassian group names are default names only and can be edited or deleted. For example, an admin or Atlassian support could delete the default group jira-software-users or rename it to jsw-users at any point. See https://support.atlassian.com/user-management/docs/create-and-update-groups/ for details.)", "item": [ { "name": "Get group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/group", "query": [ { "key": "groupname", "value": "{{groupname}}", "disabled": true, "description": "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The ID of the group. This parameter cannot be used with the `groupName` parameter." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "List of fields to expand." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "This operation is deprecated, use [`group/member`](#api-rest-api-2-group-member-get).\n\nReturns all users in a group.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/group", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"name\": \"power-users\"\n}" } }, "response": [] }, { "name": "Remove group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/group", "query": [ { "key": "groupname", "value": "{{groupname}}", "disabled": true }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The ID of the group. This parameter cannot be used with the `groupname` parameter." }, { "key": "swapGroup", "value": "{{swapGroup}}", "disabled": true, "description": "As a group's name can change, use of `swapGroupId` is recommended to identify a group. \nThe group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroupId` parameter." }, { "key": "swapGroupId", "value": "{{swapGroupId}}", "disabled": true, "description": "The ID of the group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroup` parameter." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Deletes a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* strategic [group](https://confluence.atlassian.com/x/24xjL)).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Bulk get groups", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/group/bulk", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`." }, { "key": "groupName", "value": "{{groupName}}", "disabled": true, "description": "The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`." }, { "key": "accessType", "value": "{{accessType}}", "disabled": true, "description": "The access level of a group. Valid values: 'site-admin', 'admin', 'user'." }, { "key": "applicationKey", "value": "{{applicationKey}}", "disabled": true, "description": "The application key of the product user groups to search for. Valid values: 'jira-servicedesk', 'jira-software', 'jira-product-discovery', 'jira-core'." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of groups.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get users from group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/group/member", "query": [ { "key": "groupname", "value": "{{groupname}}", "disabled": true, "description": "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The ID of the group. This parameter cannot be used with the `groupName` parameter." }, { "key": "includeInactiveUsers", "value": "{{includeInactiveUsers}}", "disabled": true, "description": "Include inactive users." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all users in a group.\n\nNote that users are ordered by username, however the username is not returned in the results due to privacy reasons.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add user to group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/group/user", "query": [ { "key": "groupname", "value": "{{groupname}}", "disabled": true, "description": "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The ID of the group. This parameter cannot be used with the `groupName` parameter." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds a user to a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"accountId\": \"5b10ac8d82e05b22cc7d4ef5\"\n}" } }, "response": [] }, { "name": "Remove user from group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/group/user", "query": [ { "key": "groupname", "value": "{{groupname}}", "disabled": true, "description": "As a group's name can change, use of `groupId` is recommended to identify a group. \nThe name of the group. This parameter cannot be used with the `groupId` parameter." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The ID of the group. This parameter cannot be used with the `groupName` parameter." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Removes a user from a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find groups", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/groups/picker", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-2-user-groups-get)." }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "The string to find in group names." }, { "key": "exclude", "value": "{{exclude}}", "disabled": true, "description": "As a group's name can change, use of `excludeGroupIds` is recommended to identify a group. \nA group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`. This parameter cannot be used with the `excludeGroupIds` parameter." }, { "key": "excludeId", "value": "{{excludeId}}", "disabled": true, "description": "A group ID to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `excludeId=group1-id&excludeId=group2-id`. This parameter cannot be used with the `excludeGroups` parameter." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`." }, { "key": "caseInsensitive", "value": "{{caseInsensitive}}", "disabled": true, "description": "Whether the search for groups should be case insensitive." }, { "key": "userName", "value": "{{userName}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.\n\nThe primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically *Showing X of Y matching groups*.\n\nThe list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.\n\n*Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission, calls where query is not an exact match to an existing group will return an empty list.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issues", "description": "This resource represents Jira issues. Use it to:\n\n * create or edit issues, individually or in bulk.\n * retrieve metadata about the options for creating or editing issues.\n * delete an issue.\n * assign a user to an issue.\n * get issue changelogs.\n * send notifications about an issue.\n * get details of the transitions available for an issue.\n * transition an issue.\n * Archive issues.\n * Unarchive issues.\n * Export archived issues.", "item": [ { "name": "Get events", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/events", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all issue events.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue", "query": [ { "key": "updateHistory", "value": "{{updateHistory}}", "disabled": true, "description": "Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. When provided, the issue type and request type are added to the user's history for a project. These values are then used to provide defaults on the issue create screen." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.\n\nThe content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are the same fields that appear on the issue's create screen.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"fields\": {\n \"assignee\": {\n \"id\": \"5b109f2e9729b51b54dc274d\"\n },\n \"components\": [\n {\n \"id\": \"10000\"\n }\n ],\n \"customfield_10000\": \"09/Jun/19\",\n \"customfield_20000\": \"06/Jul/19 3:25 PM\",\n \"customfield_30000\": [\n \"10000\",\n \"10002\"\n ],\n \"customfield_40000\": \"Occurs on all orders\",\n \"customfield_50000\": \"Could impact day-to-day work.\",\n \"customfield_60000\": \"jira-software-users\",\n \"customfield_70000\": [\n \"jira-administrators\",\n \"jira-software-users\"\n ],\n \"customfield_80000\": {\n \"value\": \"red\"\n },\n \"description\": \"Order entry fails when selecting supplier.\",\n \"duedate\": \"2019-03-11\",\n \"environment\": \"UAT\",\n \"fixVersions\": [\n {\n \"id\": \"10001\"\n }\n ],\n \"issuetype\": {\n \"id\": \"10000\"\n },\n \"labels\": [\n \"bugfix\",\n \"blitz_test\"\n ],\n \"parent\": {\n \"key\": \"PROJ-123\"\n },\n \"priority\": {\n \"id\": \"20000\"\n },\n \"project\": {\n \"id\": \"10000\"\n },\n \"reporter\": {\n \"id\": \"5b10a2844c20165700ede21g\"\n },\n \"security\": {\n \"id\": \"10000\"\n },\n \"summary\": \"Main order flow broken\",\n \"timetracking\": {\n \"originalEstimate\": \"10\",\n \"remainingEstimate\": \"5\"\n },\n \"versions\": [\n {\n \"id\": \"10000\"\n }\n ]\n },\n \"update\": {\n \"worklog\": [\n {\n \"add\": {\n \"started\": \"2019-07-05T11:05:00.000+0000\",\n \"timeSpent\": \"60m\"\n }\n }\n ]\n }\n}" } }, "response": [] }, { "name": "Archive issue(s) by issue ID/key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/archive", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the issue(s) archived in the process and the errors encountered, if any.\n\n**Note that:**\n\n * you can't archive subtasks directly, only through their parent issues\n * you can only archive issues from software, service management, and business projects\n\n**[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)\n\n**License required:** Premium or Enterprise\n\n**Signed-in users only:** This API can't be accessed anonymously.\n\n \n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueIdsOrKeys\": [\n \"PR-1\",\n \"1001\",\n \"PROJECT-2\"\n ]\n}" } }, "response": [] }, { "name": "Archive issue(s) by JQL", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/archive", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status of the submitted request.\n\nYou can use the [get task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-get) and [cancel task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-cancel-post) APIs to manage the request.\n\n**Note that:**\n\n * you can't archive subtasks directly, only through their parent issues\n * you can only archive issues from software, service management, and business projects\n\n**[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)\n\n**License required:** Premium or Enterprise\n\n**Signed-in users only:** This API can't be accessed anonymously.\n\n**Rate limiting:** Only a single request per jira instance can be active at any given time.\n\n \n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"jql\": \"project = FOO AND updated < -2y\"\n}" } }, "response": [] }, { "name": "Bulk create issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/bulk", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates upto **50** issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue properties set.\n\nThe content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are the same fields that appear on the issues' create screens.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` the must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which each issue or subtask is created.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueUpdates\": [\n {\n \"fields\": {\n \"assignee\": {\n \"id\": \"5b109f2e9729b51b54dc274d\"\n },\n \"components\": [\n {\n \"id\": \"10000\"\n }\n ],\n \"customfield_10000\": \"09/Jun/19\",\n \"customfield_20000\": \"06/Jul/19 3:25 PM\",\n \"customfield_30000\": [\n \"10000\",\n \"10002\"\n ],\n \"customfield_40000\": \"Occurs on all orders\",\n \"customfield_50000\": \"Could impact day-to-day work.\",\n \"customfield_60000\": \"jira-software-users\",\n \"customfield_70000\": [\n \"jira-administrators\",\n \"jira-software-users\"\n ],\n \"customfield_80000\": {\n \"value\": \"red\"\n },\n \"description\": \"Order entry fails when selecting supplier.\",\n \"duedate\": \"2019-03-11\",\n \"environment\": \"UAT\",\n \"fixVersions\": [\n {\n \"id\": \"10001\"\n }\n ],\n \"issuetype\": {\n \"id\": \"10000\"\n },\n \"labels\": [\n \"bugfix\",\n \"blitz_test\"\n ],\n \"parent\": {\n \"key\": \"PROJ-123\"\n },\n \"priority\": {\n \"id\": \"20000\"\n },\n \"project\": {\n \"id\": \"10000\"\n },\n \"reporter\": {\n \"id\": \"5b10a2844c20165700ede21g\"\n },\n \"security\": {\n \"id\": \"10000\"\n },\n \"summary\": \"Main order flow broken\",\n \"timetracking\": {\n \"originalEstimate\": \"10\",\n \"remainingEstimate\": \"5\"\n },\n \"versions\": [\n {\n \"id\": \"10000\"\n }\n ]\n },\n \"update\": {\n \"worklog\": [\n {\n \"add\": {\n \"started\": \"2019-07-05T11:05:00.000+0000\",\n \"timeSpent\": \"60m\"\n }\n }\n ]\n }\n },\n {\n \"fields\": {\n \"assignee\": {\n \"id\": \"5b109f2e9729b51b54dc274d\"\n },\n \"components\": [\n {\n \"id\": \"10000\"\n }\n ],\n \"customfield_10000\": \"09/Jun/19\",\n \"customfield_20000\": \"06/Jul/19 3:25 PM\",\n \"customfield_30000\": [\n \"10000\",\n \"10002\"\n ],\n \"customfield_40000\": \"Occurs on all orders\",\n \"customfield_50000\": \"Could impact day-to-day work.\",\n \"customfield_60000\": \"jira-software-users\",\n \"customfield_70000\": [\n \"jira-administrators\",\n \"jira-software-users\"\n ],\n \"customfield_80000\": {\n \"value\": \"red\"\n },\n \"description\": \"Order remains pending after approved.\",\n \"duedate\": \"2019-04-16\",\n \"environment\": \"UAT\",\n \"fixVersions\": [\n {\n \"id\": \"10001\"\n }\n ],\n \"issuetype\": {\n \"id\": \"10000\"\n },\n \"labels\": [\n \"new_release\"\n ],\n \"parent\": {\n \"id\": \"10034\"\n },\n \"priority\": {\n \"id\": \"20000\"\n },\n \"project\": {\n \"id\": \"1000\"\n },\n \"reporter\": {\n \"id\": \"5b10a2844c20165700ede21g\"\n },\n \"security\": {\n \"id\": \"10000\"\n },\n \"summary\": \"Order stuck in pending\",\n \"timetracking\": {\n \"originalEstimate\": \"15\",\n \"remainingEstimate\": \"5\"\n },\n \"versions\": [\n {\n \"id\": \"10000\"\n }\n ]\n },\n \"update\": {}\n }\n ]\n}" } }, "response": [] }, { "name": "Get create issue metadata", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/createmeta", "query": [ { "key": "projectIds", "value": "{{projectIds}}", "disabled": true, "description": "List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be provided with `projectKeys`." }, { "key": "projectKeys", "value": "{{projectKeys}}", "disabled": true, "description": "List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be provided with `projectIds`." }, { "key": "issuetypeIds", "value": "{{issuetypeIds}}", "disabled": true, "description": "List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter may be provided with `issuetypeNames`." }, { "key": "issuetypeNames", "value": "{{issuetypeNames}}", "disabled": true, "description": "List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This parameter may be provided with `issuetypeIds`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which returns information about the fields in the issue creation screen for each issue type. Fields hidden from the screen are not returned. Use the information to populate the `fields` and `update` fields in [Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post)." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).\n\nDeprecated, see [Create Issue Meta Endpoint Deprecation Notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1304).\n\nThe request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get create metadata issue types for a project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/createmeta/:projectIdOrKey/issuetypes", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The ID or key of the project.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a page of issue type metadata for a specified project. Use the information to populate the requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get create field metadata for a project and issue type id", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/createmeta/:projectIdOrKey/issuetypes/:issueTypeId", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The ID or key of the project.", "disabled": false }, { "key": "issueTypeId", "value": "{{issueTypeId}}", "description": "The issuetype ID.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a page of field metadata for a specified project and issuetype id. Use the information to populate the requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue limit report", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/limit/report", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all issues breaching and approaching per-issue limits.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) is required for the project the issues are in. Results may be incomplete otherwise\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Unarchive issue(s) by issue keys/ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/unarchive", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Enables admins to unarchive up to 1000 issues in a single request using issue ID/key, returning details of the issue(s) unarchived in the process and the errors encountered, if any.\n\n**Note that:**\n\n * you can't unarchive subtasks directly, only through their parent issues\n * you can only unarchive issues from software, service management, and business projects\n\n**[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)\n\n**License required:** Premium or Enterprise\n\n**Signed-in users only:** This API can't be accessed anonymously.\n\n \n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueIdsOrKeys\": [\n \"PR-1\",\n \"1001\",\n \"PROJECT-2\"\n ]\n}" } }, "response": [] }, { "name": "Get issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey", "query": [ { "key": "fields", "value": "{{fields}}", "disabled": true, "description": "A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all (default) fields except description.\n * `*navigable,-comment` Returns all navigable fields except comment.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`.\n\nNote: All fields are returned by default. This differs from [Search for issues using JQL (GET)](#api-rest-api-2-search-get) and [Search for issues using JQL (POST)](#api-rest-api-2-search-post) where the default is all navigable fields." }, { "key": "fieldsByKeys", "value": "{{fieldsByKeys}}", "disabled": true, "description": "Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the `fields` parameter is ignored." }, { "key": "properties", "value": "{{properties}}", "disabled": true, "description": "A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:\n\n * `*all` Returns all issue properties.\n * Any issue property key, prefixed with a minus to exclude.\n\nExamples:\n\n * `*all` Returns all properties.\n * `*all,-prop1` Returns all properties except `prop1`.\n * `prop1,prop2` Returns `prop1` and `prop2` properties.\n\nThis parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`." }, { "key": "updateHistory", "value": "{{updateHistory}}", "disabled": true, "description": "Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-2-search-get) `lastViewed` field." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the details for an issue.\n\nThe issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is **not** returned. The issue key returned in the response is the key of the issue found.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Edit issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey", "query": [ { "key": "notifyUsers", "value": "{{notifyUsers}}", "disabled": true, "description": "Whether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored." }, { "key": "overrideScreenSecurity", "value": "{{overrideScreenSecurity}}", "disabled": true, "description": "Whether screen security is overridden to enable hidden fields to be edited. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." }, { "key": "overrideEditableFlag", "value": "{{overrideEditableFlag}}", "disabled": true, "description": "Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." }, { "key": "returnIssue", "value": "{{returnIssue}}", "disabled": true, "description": "Whether the response should contain the issue with fields edited in this request. The returned issue will have the same format as in the [Get issue API](#api-rest-api-3-issue-issueidorkey-get)." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "The Get issue API expand parameter to use in the response if the `returnIssue` parameter is `true`." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Edits an issue. Issue properties may be updated as part of the edit. Please note that issue transition will be ignored as it is not supported yet.\n\nThe edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are determined using [ Get edit issue metadata](#api-rest-api-2-issue-issueIdOrKey-editmeta-get).\n\nThe parent field may be set by key or ID. For standard issue types, the parent may be removed by setting `update.parent.set.none` to *true*.\n\nConnect apps having an app user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"fields\": {\n \"customfield_10000\": \"Investigation underway\",\n \"customfield_10010\": 1,\n \"summary\": \"Completed orders still displaying in pending\"\n },\n \"historyMetadata\": {\n \"activityDescription\": \"Complete order processing\",\n \"actor\": {\n \"avatarUrl\": \"http://mysystem/avatar/tony.jpg\",\n \"displayName\": \"Tony\",\n \"id\": \"tony\",\n \"type\": \"mysystem-user\",\n \"url\": \"http://mysystem/users/tony\"\n },\n \"cause\": {\n \"id\": \"myevent\",\n \"type\": \"mysystem-event\"\n },\n \"description\": \"From the order testing process\",\n \"extraData\": {\n \"Iteration\": \"10a\",\n \"Step\": \"4\"\n },\n \"generator\": {\n \"id\": \"mysystem-1\",\n \"type\": \"mysystem-application\"\n },\n \"type\": \"myplugin:type\"\n },\n \"properties\": [\n {\n \"key\": \"key1\",\n \"value\": \"Order number 10784\"\n },\n {\n \"key\": \"key2\",\n \"value\": \"Order number 10923\"\n }\n ],\n \"update\": {\n \"components\": [\n {\n \"set\": \"\"\n }\n ],\n \"labels\": [\n {\n \"add\": \"triaged\"\n },\n {\n \"remove\": \"blocker\"\n }\n ],\n \"summary\": [\n {\n \"set\": \"Bug in business logic\"\n }\n ],\n \"timetracking\": [\n {\n \"edit\": {\n \"originalEstimate\": \"1w 1d\",\n \"remainingEstimate\": \"4d\"\n }\n }\n ]\n }\n}" } }, "response": [] }, { "name": "Delete issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey", "query": [ { "key": "deleteSubtasks", "value": "{{deleteSubtasks}}", "disabled": true, "description": "Whether the issue's subtasks are deleted when the issue is deleted." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue.\n\nAn issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`. This causes the issue's subtasks to be deleted with the issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Assign issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/assignee", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue to be assigned.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Assigns an issue to a user. Use this operation when the calling user does not have the *Edit Issues* permission but has the *Assign issue* permission for the project that the issue is in.\n\nIf `name` or `accountId` is set to:\n\n * `\"-1\"`, the issue is assigned to the default assignee for the project.\n * `null`, the issue is set to unassigned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* and *Assign Issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"accountId\": \"5b10ac8d82e05b22cc7d4ef5\"\n}" } }, "response": [] }, { "name": "Get changelogs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/changelog", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get changelogs by IDs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/changelog/list", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns changelogs for an issue specified by a list of changelog IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"changelogIds\": [\n 10001,\n 10002\n ]\n}" } }, "response": [] }, { "name": "Get edit issue metadata", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/editmeta", "query": [ { "key": "overrideScreenSecurity", "value": "{{overrideScreenSecurity}}", "disabled": true, "description": "Whether hidden fields are returned. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." }, { "key": "overrideEditableFlag", "value": "{{overrideEditableFlag}}", "disabled": true, "description": "Whether non-editable fields are returned. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to populate the requests in [Edit issue](#api-rest-api-2-issue-issueIdOrKey-put).\n\nThis endpoint will check for these conditions:\n\n1. Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type scheme configuration. `overrideScreenSecurity=true` skips this condition.\n2. Field is visible in the [field configuration](https://support.atlassian.com/jira-cloud-administration/docs/change-a-field-configuration/). `overrideScreenSecurity=true` skips this condition.\n3. Field is shown on the issue: each field has different conditions here. For example: Attachment field only shows if attachments are enabled. Assignee only shows if user has permissions to assign the issue.\n4. If a field is custom then it must have valid custom field context, applicable for its project and issue type. All system fields are assumed to have context in all projects and all issue types.\n5. Issue has a project, issue type, and status defined.\n6. Issue is assigned to a valid workflow, and the current status has assigned a workflow step. `overrideEditableFlag=true` skips this condition.\n7. The current workflow step is editable. This is true by default, but [can be disabled by setting](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) the `jira.issue.editable` property to `false`. `overrideEditableFlag=true` skips this condition.\n8. User has [Edit issues permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/).\n9. Workflow permissions allow editing a field. This is true by default but [can be modified](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) using `jira.permission.*` workflow properties.\n\nFields hidden using [Issue layout settings page](https://support.atlassian.com/jira-software-cloud/docs/configure-field-layout-in-the-issue-view/) remain editable.\n\nConnect apps having an app user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), can return additional details using:\n\n * `overrideScreenSecurity` When this flag is `true`, then this endpoint skips checking if fields are available through screens, and field configuration (conditions 1. and 2. from the list above).\n * `overrideEditableFlag` When this flag is `true`, then this endpoint skips checking if workflow is present and if the current step is editable (conditions 6. and 7. from the list above).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote: For any fields to be editable the user must have the *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Send notification for issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/notify", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "ID or key of the issue that the notification is sent for.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an email notification for an issue and adds it to the mail queue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"htmlBody\": \"The latest test results for this ticket are now available.\",\n \"restrict\": {\n \"groupIds\": [],\n \"groups\": [\n {\n \"name\": \"notification-group\"\n }\n ],\n \"permissions\": [\n {\n \"key\": \"BROWSE\"\n }\n ]\n },\n \"subject\": \"Latest test results\",\n \"textBody\": \"The latest test results for this ticket are now available.\",\n \"to\": {\n \"assignee\": false,\n \"groupIds\": [],\n \"groups\": [\n {\n \"name\": \"notification-group\"\n }\n ],\n \"reporter\": false,\n \"users\": [\n {\n \"accountId\": \"5b10a2844c20165700ede21g\",\n \"active\": false\n }\n ],\n \"voters\": true,\n \"watchers\": true\n }\n}" } }, "response": [] }, { "name": "Get transitions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/transitions", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about transitions in the response. This parameter accepts `transitions.fields`, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the `fields` and `update` fields in [Transition issue](#api-rest-api-2-issue-issueIdOrKey-transitions-post)." }, { "key": "transitionId", "value": "{{transitionId}}", "disabled": true, "description": "The ID of the transition." }, { "key": "skipRemoteOnlyCondition", "value": "{{skipRemoteOnlyCondition}}", "disabled": true, "description": "Whether transitions with the condition *Hide From User Condition* are included in the response." }, { "key": "includeUnavailableTransitions", "value": "{{includeUnavailableTransitions}}", "disabled": true, "description": "Whether details of transitions that fail a condition are included in the response" }, { "key": "sortByOpsBarAndStatus", "value": "{{sortByOpsBarAndStatus}}", "disabled": true, "description": "Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status.\n\nNote, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required: A list or transition is returned only when the user has:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nHowever, if the user does not have the *Transition issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Transition issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/transitions", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.\n\nsortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update` parameters in the request body. Get details about the fields using [ Get transitions](#api-rest-api-2-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Transition issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"fields\": {\n \"assignee\": {\n \"name\": \"Will\"\n },\n \"resolution\": {\n \"name\": \"Fixed\"\n }\n },\n \"historyMetadata\": {\n \"activityDescription\": \"Complete order processing\",\n \"actor\": {\n \"avatarUrl\": \"http://mysystem/avatar/tony.jpg\",\n \"displayName\": \"Tony\",\n \"id\": \"tony\",\n \"type\": \"mysystem-user\",\n \"url\": \"http://mysystem/users/tony\"\n },\n \"cause\": {\n \"id\": \"myevent\",\n \"type\": \"mysystem-event\"\n },\n \"description\": \"From the order testing process\",\n \"extraData\": {\n \"Iteration\": \"10a\",\n \"Step\": \"4\"\n },\n \"generator\": {\n \"id\": \"mysystem-1\",\n \"type\": \"mysystem-application\"\n },\n \"type\": \"myplugin:type\"\n },\n \"transition\": {\n \"id\": \"5\"\n },\n \"update\": {\n \"comment\": [\n {\n \"add\": {\n \"body\": \"Bug has been fixed.\"\n }\n }\n ]\n }\n}" } }, "response": [] }, { "name": "Export archived issue(s)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issues/archive/export", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Enables admins to retrieve details of all archived issues. Upon a successful request, the admin who submitted it will receive an email with a link to download a CSV file with the issue details.\n\nNote that this API only exports the values of system fields and archival-specific fields (`ArchivedBy` and `ArchivedDate`). Custom fields aren't supported.\n\n**[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)\n\n**License required:** Premium or Enterprise\n\n**Signed-in users only:** This API can't be accessed anonymously.\n\n**Rate limiting:** Only a single request can be active at any given time.\n\n \n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"archivedBy\": [\n \"uuid-rep-001\",\n \"uuid-rep-002\"\n ],\n \"archivedDate\": {\n \"dateAfter\": \"2023-01-01\",\n \"dateBefore\": \"2023-01-12\"\n },\n \"archivedDateRange\": {\n \"dateAfter\": \"2023-01-01\",\n \"dateBefore\": \"2023-01-12\"\n },\n \"issueTypes\": [\n \"10001\",\n \"10002\"\n ],\n \"projects\": [\n \"FOO\",\n \"BAR\"\n ],\n \"reporters\": [\n \"uuid-rep-001\",\n \"uuid-rep-002\"\n ]\n}" } }, "response": [] } ] }, { "name": "UI modifications (apps)", "description": "UI modifications is a feature available for **Forge apps only**. It enables Forge apps to control how selected Jira fields behave on the following views: global issue create, issue view. For example: hide specific fields, set them as required, etc.", "item": [ { "name": "Get UI modifications", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/uiModifications", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `data` Returns UI modification data.\n * `contexts` Returns UI modification contexts." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets UI modifications. UI modifications can only be retrieved by Forge apps.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create UI modification", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/uiModifications", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a UI modification. UI modification can only be created by Forge apps.\n\nEach app can define up to 3000 UI modifications. Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI modifications.\n\n**[Permissions](#permissions) required:**\n\n * *None* if the UI modification is created without contexts.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the UI modification is created with contexts.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"contexts\": [\n {\n \"issueTypeId\": \"10000\",\n \"projectId\": \"10000\",\n \"viewType\": \"GIC\"\n },\n {\n \"issueTypeId\": \"10001\",\n \"projectId\": \"10000\",\n \"viewType\": \"IssueView\"\n },\n {\n \"issueTypeId\": \"10002\",\n \"projectId\": \"10000\",\n \"viewType\": null\n }\n ],\n \"data\": \"{field: 'Story Points', config: {hidden: false}}\",\n \"description\": \"Reveals Story Points field when any Sprint is selected.\",\n \"name\": \"Reveal Story Points\"\n}" } }, "response": [] }, { "name": "Update UI modification", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/uiModifications/:uiModificationId", "query": [], "variable": [ { "key": "uiModificationId", "value": "{{uiModificationId}}", "description": "The ID of the UI modification.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a UI modification. UI modification can only be updated by Forge apps.\n\nEach UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI modifications.\n\n**[Permissions](#permissions) required:**\n\n * *None* if the UI modification is created without contexts.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the UI modification is created with contexts.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"contexts\": [\n {\n \"issueTypeId\": \"10000\",\n \"projectId\": \"10000\",\n \"viewType\": \"GIC\"\n },\n {\n \"issueTypeId\": \"10001\",\n \"projectId\": \"10000\",\n \"viewType\": \"IssueView\"\n }\n ],\n \"data\": \"{field: 'Story Points', config: {hidden: true}}\",\n \"name\": \"Updated Reveal Story Points\"\n}" } }, "response": [] }, { "name": "Delete UI modification", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/uiModifications/:uiModificationId", "query": [], "variable": [ { "key": "uiModificationId", "value": "{{uiModificationId}}", "description": "The ID of the UI modification.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can only be deleted by Forge apps.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue attachments", "description": "This resource represents issue attachments and the attachment settings for Jira. Use it to get the metadata for an attachment, delete an attachment, and view the metadata for the contents of an attachment. Also, use it to get the attachment settings for Jira.", "item": [ { "name": "Get attachment content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/attachment/content/:id", "query": [ { "key": "redirect", "value": "{{redirect}}", "disabled": true, "description": "Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to `false` to avoid making multiple requests to download the attachment." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the attachment.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) for details.\n\nTo return a thumbnail of the attachment, use [Get attachment thumbnail](#api-rest-api-2-attachment-thumbnail-id-get).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Jira attachment settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/attachment/meta", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.\n\nNote that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get attachment thumbnail", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/attachment/thumbnail/:id", "query": [ { "key": "redirect", "value": "{{redirect}}", "disabled": true, "description": "Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to `false` to avoid making multiple requests to download the attachment." }, { "key": "fallbackToDefault", "value": "{{fallbackToDefault}}", "disabled": true, "description": "Whether a default thumbnail is returned when the requested thumbnail is not found." }, { "key": "width", "value": "{{width}}", "disabled": true, "description": "The maximum width to scale the thumbnail to." }, { "key": "height", "value": "{{height}}", "disabled": true, "description": "The maximum height to scale the thumbnail to." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the attachment.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the thumbnail of an attachment.\n\nTo return the attachment contents, use [Get attachment content](#api-rest-api-2-attachment-content-id-get).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get attachment metadata", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/attachment/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the attachment.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the metadata for an attachment. Note that the attachment itself is not returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/attachment/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the attachment.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an attachment from an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the project holding the issue containing the attachment:\n\n * *Delete own attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by the calling user.\n * *Delete all attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by any user.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get all metadata for an expanded attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/attachment/:id/expand/human", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the attachment.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.\n\nUse this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get contents metadata for an expanded attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/attachment/:id/expand/raw", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the attachment.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.\n\nUse this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/attachments", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue that attachments are added to.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)).\n\nNote that:\n\n * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information.\n * The name of the multipart/form-data parameter that contains the attachments must be `file`.\n\nThe following examples upload a file called *myfile.txt* to the issue *TEST-123*:\n\n#### curl ####\n\n curl --location --request POST 'https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments'\n -u 'email@example.com:'\n -H 'X-Atlassian-Token: no-check'\n --form 'file=@\"myfile.txt\"'\n\n#### Node.js ####\n\n // This code sample uses the 'node-fetch' and 'form-data' libraries:\n // https://www.npmjs.com/package/node-fetch\n // https://www.npmjs.com/package/form-data\n const fetch = require('node-fetch');\n const FormData = require('form-data');\n const fs = require('fs');\n \n const filePath = 'myfile.txt';\n const form = new FormData();\n const stats = fs.statSync(filePath);\n const fileSizeInBytes = stats.size;\n const fileStream = fs.createReadStream(filePath);\n \n form.append('file', fileStream, {knownLength: fileSizeInBytes});\n \n fetch('https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments', {\n method: 'POST',\n body: form,\n headers: {\n 'Authorization': `Basic ${Buffer.from(\n 'email@example.com:'\n ).toString('base64')}`,\n 'Accept': 'application/json',\n 'X-Atlassian-Token': 'no-check'\n }\n })\n .then(response => {\n console.log(\n `Response: ${response.status} ${response.statusText}`\n );\n return response.text();\n })\n .then(text => console.log(text))\n .catch(err => console.error(err));\n\n#### Java ####\n\n // This code sample uses the 'Unirest' library:\n // http://unirest.io/java.html\n HttpResponse response = Unirest.post(\"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\")\n .basicAuth(\"email@example.com\", \"\")\n .header(\"Accept\", \"application/json\")\n .header(\"X-Atlassian-Token\", \"no-check\")\n .field(\"file\", new File(\"myfile.txt\"))\n .asJson();\n \n System.out.println(response.getBody());\n\n#### Python ####\n\n # This code sample uses the 'requests' library:\n # http://docs.python-requests.org\n import requests\n from requests.auth import HTTPBasicAuth\n import json\n \n url = \"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\"\n \n auth = HTTPBasicAuth(\"email@example.com\", \"\")\n \n headers = {\n \"Accept\": \"application/json\",\n \"X-Atlassian-Token\": \"no-check\"\n }\n \n response = requests.request(\n \"POST\",\n url,\n headers = headers,\n auth = auth,\n files = {\n \"file\": (\"myfile.txt\", open(\"myfile.txt\",\"rb\"), \"application-type\")\n }\n )\n \n print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(\",\", \": \")))\n\n#### PHP ####\n\n // This code sample uses the 'Unirest' library:\n // http://unirest.io/php.html\n Unirest\\Request::auth('email@example.com', '');\n \n $headers = array(\n 'Accept' => 'application/json',\n 'X-Atlassian-Token' => 'no-check'\n );\n \n $parameters = array(\n 'file' => File::add('myfile.txt')\n );\n \n $response = Unirest\\Request::post(\n 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments',\n $headers,\n $parameters\n );\n \n var_dump($response)\n\n#### Forge ####\n\n // This sample uses Atlassian Forge and the `form-data` library.\n // https://developer.atlassian.com/platform/forge/\n // https://www.npmjs.com/package/form-data\n import api from \"@forge/api\";\n import FormData from \"form-data\";\n \n const form = new FormData();\n form.append('file', fileStream, {knownLength: fileSizeInBytes});\n \n const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', {\n method: 'POST',\n body: form,\n headers: {\n 'Accept': 'application/json',\n 'X-Atlassian-Token': 'no-check'\n }\n });\n \n console.log(`Response: ${response.status} ${response.statusText}`);\n console.log(await response.json());\n\nTip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** \n\n * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw" } }, "response": [] } ] }, { "name": "Issue comments", "description": "This resource represents issue comments. Use it to:\n\n * get, create, update, and delete a comment from an issue.\n * get all comments from issue.\n * get a list of comments by comment ID.", "item": [ { "name": "Get comments by IDs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/comment/list", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedBody` Returns the comment body rendered in HTML.\n * `properties` Returns the comment's properties." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of comments specified by a list of comment IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are returned where the user:\n\n * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"ids\": [\n 1,\n 2,\n 5,\n 10\n ]\n}" } }, "response": [] }, { "name": "Get comments", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/comment", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field. Accepts *created* to sort comments by their created date." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all comments for an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add comment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/comment", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds a comment to an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"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.\",\n \"visibility\": {\n \"identifier\": \"Administrators\",\n \"type\": \"role\",\n \"value\": \"Administrators\"\n }\n}" } }, "response": [] }, { "name": "Get comment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/comment/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the comment.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update comment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/comment/:id", "query": [ { "key": "notifyUsers", "value": "{{notifyUsers}}", "disabled": true, "description": "Whether users are notified when a comment is updated." }, { "key": "overrideEditableFlag", "value": "{{overrideEditableFlag}}", "disabled": true, "description": "Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the comment.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or *Edit own comments* to update comment created by the user.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"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.\",\n \"visibility\": {\n \"identifier\": \"Administrators\",\n \"type\": \"role\",\n \"value\": \"Administrators\"\n }\n}" } }, "response": [] }, { "name": "Delete comment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/comment/:id", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the comment.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a comment.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or *Delete own comments* to delete comment created by the user,\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue comment properties", "description": "This resource represents [issue comment](#api-group-Issue-comments) properties, which provides for storing custom data against an issue comment. Use is to get, set, and delete issue comment properties as well as obtain the keys of all properties on a comment. Comment properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).", "item": [ { "name": "Get comment property keys", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/comment/:commentId/properties", "query": [], "variable": [ { "key": "commentId", "value": "{{commentId}}", "description": "The ID of the comment.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the keys of all the properties of a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get comment property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/comment/:commentId/properties/:propertyKey", "query": [], "variable": [ { "key": "commentId", "value": "{{commentId}}", "description": "The ID of the comment.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the value of a comment property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set comment property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/comment/:commentId/properties/:propertyKey", "query": [], "variable": [ { "key": "commentId", "value": "{{commentId}}", "description": "The ID of the comment.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property. The maximum length is 255 characters.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete comment property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/comment/:commentId/properties/:propertyKey", "query": [], "variable": [ { "key": "commentId", "value": "{{commentId}}", "description": "The ID of the comment.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a comment property.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue fields", "description": "This resource represents issue fields, both system and custom fields. Use it to get fields, field configurations, and create custom fields.", "item": [ { "name": "Get fields", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns system and custom issue fields according to the following rules:\n\n * Fields that cannot be added to the issue navigator are always returned.\n * Fields that cannot be placed on an issue screen are always returned.\n * Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking fields, subtasks, votes, and watches.\n * For all other fields, this operation only returns the fields that the user has permission to view (that is, the field is used in at least one project that the user has *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.)\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create custom field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Custom field for picking groups\",\n \"name\": \"New custom field\",\n \"searcherKey\": \"com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher\",\n \"type\": \"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker\"\n}" } }, "response": [] }, { "name": "Get fields paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "type", "value": "{{type}}", "disabled": true, "description": "The type of fields to search." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The IDs of the custom fields to return or, where `query` is specified, filter." }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with field names or descriptions." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `contextsCount` sorts by the number of contexts related to a field\n * `lastUsed` sorts by the date when the value of the field last changed\n * `name` sorts by the field name\n * `screensCount` sorts by the number of screens related to a field" }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `key` returns the key for each field\n * `lastUsed` returns the date when the value of the field last changed\n * `screensCount` returns the number of screens related to a field\n * `contextsCount` returns the number of contexts related to a field\n * `isLocked` returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og)\n * `searcherKey` returns the searcher key for each custom field" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of fields for Classic Jira projects. The list can include:\n\n * all fields\n * specific fields, by defining `id`\n * fields that contain a string in the field name or description, by defining `query`\n * specific fields that contain a string in the field name or description, by defining `id` and `query`\n\nOnly custom fields can be queried, `type` must be set to `custom`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get fields in trash paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/search/trashed", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with field names or descriptions." }, { "key": "expand", "value": "{{expand}}", "disabled": true }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `name` sorts by the field name\n * `trashDate` sorts by the date the field was moved to the trash\n * `plannedDeletionDate` sorts by the planned deletion date" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of fields in the trash. The list may be restricted to fields whose field name or description partially match a string.\n\nOnly custom fields can be queried, `type` must be set to `custom`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update custom field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Select the manager and the corresponding employee.\",\n \"name\": \"Managers and employees list\",\n \"searcherKey\": \"com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher\"\n}" } }, "response": [] }, { "name": "Get contexts for a field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/contexts", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the field to return contexts for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of the contexts a field is used in. Deprecated, use [ Get custom field contexts](#api-rest-api-2-field-fieldId-context-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete custom field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of a custom field.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a custom field. The custom field is deleted whether it is in the trash or not. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Restore custom field from trash", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:id/restore", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of a custom field.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Restores a custom field from trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Move custom field to trash", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:id/trash", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of a custom field.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Moves a custom field to trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue field configurations", "description": "This resource represents issue field configurations. Use it to get, set, and delete field configurations and field configuration schemes.", "item": [ { "name": "Get all field configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfiguration", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." }, { "key": "isDefault", "value": "{{isDefault}}", "disabled": true, "description": "If *true* returns default field configurations only." }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "The query string used to match against field configuration names and descriptions." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of field configurations. The list can be for all field configurations or a subset determined by any combination of these criteria:\n\n * a list of field configuration item IDs.\n * whether the field configuration is a default.\n * whether the field configuration name or description contains a query string.\n\nOnly field configurations used in company-managed (classic) projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create field configuration", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfiguration", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a field configuration. The field configuration is created with the same field properties as the default configuration, with all the fields being optional.\n\nThis operation can only create configurations for use in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My field configuration description\",\n \"name\": \"My Field Configuration\"\n}" } }, "response": [] }, { "name": "Update field configuration", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfiguration/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a field configuration. The name and the description provided in the request override the existing values.\n\nThis operation can only update configurations used in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A brand new description\",\n \"name\": \"My Modified Field Configuration\"\n}" } }, "response": [] }, { "name": "Delete field configuration", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfiguration/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a field configuration.\n\nThis operation can only delete configurations used in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get field configuration items", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfiguration/:id/fields", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all fields for a configuration.\n\nOnly the fields from configurations used in company-managed (classic) projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update field configuration items", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfiguration/:id/fields", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates fields in a field configuration. The properties of the field configuration fields provided override the existing values.\n\nThis operation can only update field configurations used in company-managed (classic) projects.\n\nThe operation can set the renderer for text fields to the default text renderer (`text-renderer`) or wiki style renderer (`wiki-renderer`). However, the renderer cannot be updated for fields using the autocomplete renderer (`autocomplete-renderer`).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"fieldConfigurationItems\": [\n {\n \"description\": \"The new description of this item.\",\n \"id\": \"customfield_10012\",\n \"isHidden\": false\n },\n {\n \"id\": \"customfield_10011\",\n \"isRequired\": true\n },\n {\n \"description\": \"Another new description.\",\n \"id\": \"customfield_10010\",\n \"isHidden\": false,\n \"isRequired\": false,\n \"renderer\": \"wiki-renderer\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get all field configuration schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of field configuration schemes.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create field configuration scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a field configuration scheme.\n\nThis operation can only create field configuration schemes used in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"We can use this one for software projects.\",\n \"name\": \"Field Configuration Scheme for software related projects\"\n}" } }, "response": [] }, { "name": "Get field configuration issue type items", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme/mapping", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "fieldConfigurationSchemeId", "value": "{{fieldConfigurationSchemeId}}", "disabled": true, "description": "The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of field configuration issue type items.\n\nOnly items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get field configuration schemes for projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme/project", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "projectId", "value": "{{projectId}}", "disabled": false, "description": "The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of field configuration schemes and, for each scheme, a list of the projects that use it.\n\nThe list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to the default field configuration scheme.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Assign field configuration scheme to project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme/project", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.\n\nField configuration schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"fieldConfigurationSchemeId\": \"10000\",\n \"projectId\": \"10000\"\n}" } }, "response": [] }, { "name": "Update field configuration scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a field configuration scheme.\n\nThis operation can only update field configuration schemes used in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"We can use this one for software projects.\",\n \"name\": \"Field Configuration Scheme for software related projects\"\n}" } }, "response": [] }, { "name": "Delete field configuration scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration scheme.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a field configuration scheme.\n\nThis operation can only delete field configuration schemes used in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Assign issue types to field configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme/:id/mapping", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Assigns issue types to field configurations on field configuration scheme.\n\nThis operation can only modify field configuration schemes used in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"mappings\": [\n {\n \"fieldConfigurationId\": \"10000\",\n \"issueTypeId\": \"default\"\n },\n {\n \"fieldConfigurationId\": \"10002\",\n \"issueTypeId\": \"10001\"\n },\n {\n \"fieldConfigurationId\": \"10001\",\n \"issueTypeId\": \"10002\"\n }\n ]\n}" } }, "response": [] }, { "name": "Remove issue types from field configuration scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/fieldconfigurationscheme/:id/mapping/delete", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the field configuration scheme.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Removes issue types from the field configuration scheme.\n\nThis operation can only modify field configuration schemes used in company-managed (classic) projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeIds\": [\n \"10000\",\n \"10001\",\n \"10002\"\n ]\n}" } }, "response": [] } ] }, { "name": "Issue custom field contexts", "description": "This resource represents issue custom field contexts. Use it to:\n\n * get, create, update, and delete custom field contexts.\n * get context to issue types and projects mappings.\n * get custom field contexts for projects and issue types.\n * assign custom field contexts to projects.\n * remove custom field contexts from projects.\n * add issue types to custom field contexts.", "item": [ { "name": "Get custom field contexts", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context", "query": [ { "key": "isAnyIssueType", "value": "{{isAnyIssueType}}", "disabled": true, "description": "Whether to return contexts that apply to all issue types." }, { "key": "isGlobalContext", "value": "{{isGlobalContext}}", "disabled": true, "description": "Whether to return contexts that apply to all projects." }, { "key": "contextId", "value": "{{contextId}}", "disabled": true, "description": "The list of context IDs. To include multiple contexts, separate IDs with ampersand: `contextId=10000&contextId=10001`." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of [ contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a custom field. Contexts can be returned as follows:\n\n * With no other parameters set, all contexts.\n * By defining `id` only, all contexts from the list of IDs.\n * By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false)\n * By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create custom field context", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a custom field context.\n\nIf `projectIds` is empty, a global context is created. A global context is one that applies to all project. If `issueTypeIds` is empty, the context applies to all issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A context used to define the custom field options for bugs.\",\n \"issueTypeIds\": [\n \"10010\"\n ],\n \"name\": \"Bug fields context\",\n \"projectIds\": []\n}" } }, "response": [] }, { "name": "Get custom field contexts default values", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/defaultValue", "query": [ { "key": "contextId", "value": "{{contextId}}", "disabled": true, "description": "The IDs of the contexts." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field, for example `customfield\\_10000`.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no defaults are set for a context, nothing is returned. \nThe returned object depends on type of the custom field:\n\n * `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.\n * `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.\n * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.\n * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.\n * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.\n * `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.\n * `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.\n * `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.\n * `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group pickers.\n * `CustomFieldContextDefaultValueURL` (type `url`) for URLs.\n * `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.\n * `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).\n * `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.\n * `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.\n * `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.\n * `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.\n * `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.\n * `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.\n\nForge custom fields [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types) are also supported, returning:\n\n * `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.\n * `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection fields.\n * `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.\n * `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.\n * `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.\n * `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection fields.\n * `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.\n * `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.\n * `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set custom field contexts default values", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/defaultValue", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets default for contexts of a custom field. Default are defined using these objects:\n\n * `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.\n * `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.\n * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.\n * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.\n * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.\n * `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.\n * `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.\n * `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.\n * `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group pickers.\n * `CustomFieldContextDefaultValueURL` (type `url`) for URLs.\n * `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.\n * `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).\n * `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.\n * `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.\n * `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.\n * `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.\n * `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.\n * `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.\n\nForge custom fields [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types) are also supported, returning:\n\n * `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.\n * `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection fields.\n * `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.\n * `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.\n * `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.\n * `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection fields.\n * `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.\n * `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.\n * `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.\n\nOnly one type of default object can be included in a request. To remove a default for a context, set the default parameter to `null`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultValues\": [\n {\n \"contextId\": \"10100\",\n \"optionId\": \"10001\",\n \"type\": \"option.single\"\n },\n {\n \"contextId\": \"10101\",\n \"optionId\": \"10003\",\n \"type\": \"option.single\"\n },\n {\n \"contextId\": \"10103\",\n \"optionId\": \"10005\",\n \"type\": \"option.single\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get issue types for custom field context", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/issuetypemapping", "query": [ { "key": "contextId", "value": "{{contextId}}", "disabled": true, "description": "The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example, `contextId=10001&contextId=10002`." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts. Mappings are ordered first by context ID and then by issue type ID.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get custom field contexts for projects and issue types", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/mapping", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of project and issue type mappings and, for each mapping, the ID of a [custom field context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.\n\nIf there is no custom field context assigned to the project then, if present, the custom field context that applies to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is not found, the returned custom field context ID is `null`.\n\nDuplicate project and issue type mappings cannot be provided in the request.\n\nThe order of the returned values is the same as provided in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"mappings\": [\n {\n \"issueTypeId\": \"10000\",\n \"projectId\": \"10000\"\n },\n {\n \"issueTypeId\": \"10001\",\n \"projectId\": \"10000\"\n },\n {\n \"issueTypeId\": \"10002\",\n \"projectId\": \"10001\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get project mappings for custom field context", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/projectmapping", "query": [ { "key": "contextId", "value": "{{contextId}}", "disabled": true, "description": "The list of context IDs. To include multiple context, separate IDs with ampersand: `contextId=10000&contextId=10001`." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field, for example `customfield\\_10000`.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings are returned. Invalid IDs are ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update custom field context", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A context used to define the custom field options for bugs.\",\n \"name\": \"Bug fields context\"\n}" } }, "response": [] }, { "name": "Delete custom field context", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add issue types to context", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/issuetype", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds issue types to a custom field context, appending the issue types to the issue types list.\n\nA custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types.\n\nIf any of the issue types exists in the custom field context, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeIds\": [\n \"10001\",\n \"10005\",\n \"10006\"\n ]\n}" } }, "response": [] }, { "name": "Remove issue types from context", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/issuetype/remove", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Removes issue types from a custom field context.\n\nA custom field context without any issue types applies to all issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeIds\": [\n \"10001\",\n \"10005\",\n \"10006\"\n ]\n}" } }, "response": [] }, { "name": "Assign custom field context to projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/project", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Assigns a custom field context to projects.\n\nIf any project in the request is assigned to any context of the custom field, the operation fails.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"projectIds\": [\n \"10001\",\n \"10005\",\n \"10006\"\n ]\n}" } }, "response": [] }, { "name": "Remove custom field context from projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/project/remove", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Removes a custom field context from projects.\n\nA custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects.\n\nIf any project in the request is not assigned to the context, or the operation would result in two global contexts for the field, the operation fails.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"projectIds\": [\n \"10001\",\n \"10005\",\n \"10006\"\n ]\n}" } }, "response": [] } ] }, { "name": "Issue custom field options", "description": "This resource represents custom issue field select list options created in Jira or using the REST API. This resource supports the following field types:\n\n * Checkboxes.\n * Radio Buttons.\n * Select List (single choice).\n * Select List (multiple choices).\n * Select List (cascading).\n\nSee [Issue custom field options (apps)](#api-group-Issue-custom-field-options--apps-) to manipulate custom issue field select list options created by a Connect app.\n\nUse it to retrieve, create, update, order, and delete custom field options.", "item": [ { "name": "Get custom field option", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/customFieldOption/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the custom field option.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a custom field option. For example, an option in a select list.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The custom field option is returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the custom field is used in, and the field is visible in at least one layout the user has permission to view.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get custom field options (context)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/option", "query": [ { "key": "optionId", "value": "{{optionId}}", "disabled": true, "description": "The ID of the option." }, { "key": "onlyOptions", "value": "{{onlyOptions}}", "disabled": true, "description": "Whether only options are returned." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update custom field options (context)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/option", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the options of a custom field.\n\nIf any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"options\": [\n {\n \"disabled\": false,\n \"id\": \"10001\",\n \"value\": \"Scranton\"\n },\n {\n \"disabled\": true,\n \"id\": \"10002\",\n \"value\": \"Manhattan\"\n },\n {\n \"disabled\": false,\n \"id\": \"10003\",\n \"value\": \"The Electric City\"\n }\n ]\n}" } }, "response": [] }, { "name": "Create custom field options (context)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/option", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field.\n\nThe maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000 options.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"options\": [\n {\n \"disabled\": false,\n \"value\": \"Scranton\"\n },\n {\n \"disabled\": true,\n \"optionId\": \"10000\",\n \"value\": \"Manhattan\"\n },\n {\n \"disabled\": false,\n \"value\": \"The Electric City\"\n }\n ]\n}" } }, "response": [] }, { "name": "Reorder custom field options (context)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/option/move", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Changes the order of custom field options or cascading options in a context.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"customFieldOptionIds\": [\n \"10001\",\n \"10002\"\n ],\n \"position\": \"First\"\n}" } }, "response": [] }, { "name": "Delete custom field options (context)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/option/:optionId", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context from which an option should be deleted.", "disabled": false }, { "key": "optionId", "value": "{{optionId}}", "description": "The ID of the option to delete.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a custom field option.\n\nOptions with cascading options cannot be deleted without deleting the cascading options first.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Replace custom field options", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/context/:contextId/option/:optionId/issue", "query": [ { "key": "replaceWith", "value": "{{replaceWith}}", "disabled": true, "description": "The ID of the option that will replace the currently selected option." }, { "key": "jql", "value": "{{jql}}", "disabled": true, "description": "A JQL query that specifies the issues to be updated. For example, *project=10000*." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the custom field.", "disabled": false }, { "key": "optionId", "value": "{{optionId}}", "description": "The ID of the option to be deselected.", "disabled": false }, { "key": "contextId", "value": "{{contextId}}", "description": "The ID of the context.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Replaces the options of a custom field.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect or Forge apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue custom field options (apps)", "description": "This resource represents custom issue field select list options created by a Connect app. See [Issue custom field options](#api-group-Issue-custom-field-options) to manipulate options created in Jira or using the REST API.\n\nA select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use it to add, remove, and update the options of a select list issue field.", "item": [ { "name": "Get all issue field options", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all the options of a select list issue field. A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a value from a list of options.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create issue field option", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option", "query": [], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates an option for a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\nEach field can have a maximum of 10000 options, and each option can have a maximum of 10000 scopes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"config\": {\n \"attributes\": [],\n \"scope\": {\n \"global\": {},\n \"projects\": [],\n \"projects2\": [\n {\n \"attributes\": [\n \"notSelectable\"\n ],\n \"id\": 1001\n },\n {\n \"attributes\": [\n \"notSelectable\"\n ],\n \"id\": 1002\n }\n ]\n }\n },\n \"properties\": {\n \"description\": \"The team's description\",\n \"founded\": \"2016-06-06\",\n \"leader\": {\n \"email\": \"lname@example.com\",\n \"name\": \"Leader Name\"\n },\n \"members\": 42\n },\n \"value\": \"Team 1\"\n}" } }, "response": [] }, { "name": "Get selectable issue field options", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option/suggestions/edit", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "Filters the results to options that are only available in the specified project." } ], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed and selected by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get visible issue field options", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option/suggestions/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "Filters the results to options that are only available in the specified project." } ], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue field option", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option/:optionId", "query": [], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false }, { "key": "optionId", "value": "{{optionId}}", "description": "The ID of the option to be returned.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update issue field option", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option/:optionId", "query": [], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false }, { "key": "optionId", "value": "{{optionId}}", "description": "The ID of the option to be updated.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates or creates an option for a select list issue field. This operation requires that the option ID is provided when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID provided in the path and body must be identical.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"config\": {\n \"attributes\": [],\n \"scope\": {\n \"global\": {},\n \"projects\": [],\n \"projects2\": [\n {\n \"attributes\": [\n \"notSelectable\"\n ],\n \"id\": 1001\n },\n {\n \"attributes\": [\n \"notSelectable\"\n ],\n \"id\": 1002\n }\n ]\n }\n },\n \"id\": 1,\n \"properties\": {\n \"description\": \"The team's description\",\n \"founded\": \"2016-06-06\",\n \"leader\": {\n \"email\": \"lname@example.com\",\n \"name\": \"Leader Name\"\n },\n \"members\": 42\n },\n \"value\": \"Team 1\"\n}" } }, "response": [] }, { "name": "Delete issue field option", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option/:optionId", "query": [], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false }, { "key": "optionId", "value": "{{optionId}}", "description": "The ID of the option to be deleted.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Replace issue field option", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldKey/option/:optionId/issue", "query": [ { "key": "replaceWith", "value": "{{replaceWith}}", "disabled": true, "description": "The ID of the option that will replace the currently selected option." }, { "key": "jql", "value": "{{jql}}", "disabled": true, "description": "A JQL query that specifies the issues to be updated. For example, *project=10000*." }, { "key": "overrideScreenSecurity", "value": "{{overrideScreenSecurity}}", "disabled": true, "description": "Whether screen security is overridden to enable hidden fields to be edited. Available to Connect and Forge app users with admin permission." }, { "key": "overrideEditableFlag", "value": "{{overrideEditableFlag}}", "disabled": true, "description": "Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." } ], "variable": [ { "key": "fieldKey", "value": "{{fieldKey}}", "description": "The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`", "disabled": false }, { "key": "optionId", "value": "{{optionId}}", "description": "The ID of the option to be deselected.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deselects an issue-field select-list option from all issues where it is selected. A different option can be selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL query.\n\nConnect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.\n\nThis is an [asynchronous operation](#async). The response object contains a link to the long-running task.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue custom field values (apps)", "description": "This resource represents the values of custom fields added by [Forge apps](https://developer.atlassian.com/platform/forge/). Use it to update the value of a custom field on issues.", "item": [ { "name": "Update custom fields", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/app/field/value", "query": [ { "key": "generateChangelog", "value": "{{generateChangelog}}", "disabled": true, "description": "Whether to generate a changelog for this update." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the value of one or more custom fields on one or more issues. Combinations of custom field and issue should be unique within the request.\n\nApps can only perform this operation on [custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) declared in their own manifests.\n\n**[Permissions](#permissions) required:** Only the app that owns the custom field or custom field type can update its values with this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"updates\": [\n {\n \"customField\": \"customfield_10010\",\n \"issueIds\": [\n 10010,\n 10011\n ],\n \"value\": \"new value\"\n },\n {\n \"customField\": \"customfield_10011\",\n \"issueIds\": [\n 10010\n ],\n \"value\": 1000\n }\n ]\n}" } }, "response": [] }, { "name": "Update custom field value", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/app/field/:fieldIdOrKey/value", "query": [ { "key": "generateChangelog", "value": "{{generateChangelog}}", "disabled": true, "description": "Whether to generate a changelog for this update." } ], "variable": [ { "key": "fieldIdOrKey", "value": "{{fieldIdOrKey}}", "description": "The ID or key of the custom field. For example, `customfield_10010`.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the value of a custom field on one or more issues.\n\nApps can only perform this operation on [custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) declared in their own manifests.\n\n**[Permissions](#permissions) required:** Only the app that owns the custom field or custom field type can update its values with this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"updates\": [\n {\n \"issueIds\": [\n 10010\n ],\n \"value\": \"new value\"\n }\n ]\n}" } }, "response": [] } ] }, { "name": "Issue custom field configuration (apps)", "description": "This resource represents configurations stored against a custom field context by a [Forge app](https://developer.atlassian.com/platform/forge/). Configurations are information used by the Forge app at runtime to determine how to handle or process the data in a custom field in a given context. Use this resource to set and read configurations.", "item": [ { "name": "Get custom field configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/app/field/:fieldIdOrKey/context/configuration", "query": [ { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of configuration IDs. To include multiple configurations, separate IDs with an ampersand: `id=10000&id=10001`. Can't be provided with `fieldContextId`, `issueId`, `projectKeyOrId`, or `issueTypeId`." }, { "key": "fieldContextId", "value": "{{fieldContextId}}", "disabled": true, "description": "The list of field context IDs. To include multiple field contexts, separate IDs with an ampersand: `fieldContextId=10000&fieldContextId=10001`. Can't be provided with `id`, `issueId`, `projectKeyOrId`, or `issueTypeId`." }, { "key": "issueId", "value": "{{issueId}}", "disabled": true, "description": "The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided with `projectKeyOrId`, or `issueTypeId`." }, { "key": "projectKeyOrId", "value": "{{projectKeyOrId}}", "disabled": true, "description": "The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with `issueId`." }, { "key": "issueTypeId", "value": "{{issueTypeId}}", "disabled": true, "description": "The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with `issueId`." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [ { "key": "fieldIdOrKey", "value": "{{fieldIdOrKey}}", "description": "The ID or key of the custom field, for example `customfield_10000`.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of configurations for a custom field of a [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created by a [Forge app](https://developer.atlassian.com/platform/forge/).\n\nThe result can be filtered by one of these criteria:\n\n * `id`.\n * `fieldContextId`.\n * `issueId`.\n * `projectKeyOrId` and `issueTypeId`.\n\nOtherwise, all configurations are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that provided the custom field type.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update custom field configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/app/field/:fieldIdOrKey/context/configuration", "query": [], "variable": [ { "key": "fieldIdOrKey", "value": "{{fieldIdOrKey}}", "description": "The ID or key of the custom field, for example `customfield_10000`.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update the configuration for contexts of a custom field of a [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created by a [Forge app](https://developer.atlassian.com/platform/forge/).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field type.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"configurations\": [\n {\n \"id\": \"10000\"\n },\n {\n \"configuration\": {\n \"maxValue\": 10000,\n \"minValue\": 0\n },\n \"id\": \"10001\",\n \"schema\": {\n \"properties\": {\n \"amount\": {\n \"type\": \"number\"\n },\n \"currency\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"amount\",\n \"currency\"\n ]\n }\n }\n ]\n}" } }, "response": [] } ] }, { "name": "Issue links", "description": "This resource represents links between issues. Use it to get, create, and delete links between issues.\n\nTo use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.", "item": [ { "name": "Create issue link", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLink", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally add a comment to the from (outward) issue. To use this resource the site must have [Issue Linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use `https://your-domain.atlassian.net/rest/api/2/issue/[linked issue key]?fields=issuelinks`.\n\nIf the link request duplicates a link, the response indicates that the issue link was created. If the request included a comment, the comment is added.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues to be linked,\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from (outward) issue,\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"comment\": {\n \"body\": \"Linked related issue!\",\n \"visibility\": {\n \"identifier\": \"276f955c-63d7-42c8-9520-92d01dca0625\",\n \"type\": \"group\",\n \"value\": \"jira-software-users\"\n }\n },\n \"inwardIssue\": {\n \"key\": \"HSP-1\"\n },\n \"outwardIssue\": {\n \"key\": \"MKY-1\"\n },\n \"type\": {\n \"name\": \"Duplicate\"\n }\n}" } }, "response": [] }, { "name": "Get issue link", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLink/:linkId", "query": [], "variable": [ { "key": "linkId", "value": "{{linkId}}", "description": "The ID of the issue link.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the linked issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete issue link", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLink/:linkId", "query": [], "variable": [ { "key": "linkId", "value": "{{linkId}}", "description": "The ID of the issue link.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues in the link.\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects containing issues in the link.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue link types", "description": "This resource represents [issue link](#api-group-Issue-links) types. Use it to get, create, update, and delete link issue types as well as get lists of all link issue types.\n\nTo use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.", "item": [ { "name": "Get issue link types", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLinkType", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of all issue link types.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create issue link type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLinkType", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The issue link type consists of a name and descriptions for a link's inward and outward relationships.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"inward\": \"Duplicated by\",\n \"name\": \"Duplicate\",\n \"outward\": \"Duplicates\"\n}" } }, "response": [] }, { "name": "Get issue link type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLinkType/:issueLinkTypeId", "query": [], "variable": [ { "key": "issueLinkTypeId", "value": "{{issueLinkTypeId}}", "description": "The ID of the issue link type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update issue link type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLinkType/:issueLinkTypeId", "query": [], "variable": [ { "key": "issueLinkTypeId", "value": "{{issueLinkTypeId}}", "description": "The ID of the issue link type.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"inward\": \"Duplicated by\",\n \"name\": \"Duplicate\",\n \"outward\": \"Duplicates\"\n}" } }, "response": [] }, { "name": "Delete issue link type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issueLinkType/:issueLinkTypeId", "query": [], "variable": [ { "key": "issueLinkTypeId", "value": "{{issueLinkTypeId}}", "description": "The ID of the issue link type.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue navigator settings", "description": "This resource represents issue navigator settings. Use it to get and set issue navigator default columns.", "item": [ { "name": "Get issue navigator default columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/settings/columns", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the default issue navigator columns.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set issue navigator default columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/settings/columns", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" } ], "description": "Sets the default issue navigator columns.\n\nThe `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple columns, pass multiple `columns` parameters. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/settings/columns`\n\nIf no column details are sent, then all default columns are removed.\n\nA navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue columns using [Get fields](#api-rest-api-2-field-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "formdata", "formdata": [ { "key": "columns", "disabled": true, "type": "text", "value": "{{columns}}" } ] } }, "response": [] } ] }, { "name": "Issue notification schemes", "description": "This resource represents notification schemes, lists of events and the recipients who will receive notifications for those events. Use it to get details of a notification scheme and a list of notification schemes.\n\n### About notification schemes ###\n\nA notification scheme is a list of events and recipients who will receive notifications for those events. The list is contained within the `notificationSchemeEvents` object and contains pairs of `events` and `notifications`:\n\n * `event` Identifies the type of event. The events can be [Jira system events](https://support.atlassian.com/jira-cloud-administration/docs/configure-notification-schemes/) (see the *Events* section) or [custom events](https://support.atlassian.com/jira-cloud-administration/docs/add-a-custom-event/).\n * `notifications` Identifies the [recipients](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-recipientsRecipients) of notifications for each event. Recipients can be any of the following types:\n \n * `CurrentAssignee`\n * `Reporter`\n * `CurrentUser`\n * `ProjectLead`\n * `ComponentLead`\n * `User` (the `parameter` is the user key)\n * `Group` (the `parameter` is the group name)\n * `ProjectRole` (the `parameter` is the project role ID)\n * `EmailAddress` *(deprecated)*\n * `AllWatchers`\n * `UserCustomField` (the `parameter` is the ID of the custom field)\n * `GroupCustomField`(the `parameter` is the ID of the custom field)", "item": [ { "name": "Get notification schemes paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of notification schemes IDs to be filtered by" }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The list of projects IDs to be filtered by" }, { "key": "onlyDefault", "value": "{{onlyDefault}}", "disabled": true, "description": "When set to true, returns only the default notification scheme. If you provide project IDs not associated with the default, returns an empty page. The default value is false." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information\n * `field` Returns information about any custom fields assigned to receive an event\n * `group` Returns information about any groups assigned to receive an event\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information\n * `projectRole` Returns information about any project roles assigned to receive an event\n * `user` Returns information about any users assigned to receive an event" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by the display name.\n\n*Note that you should allow for events without recipients to appear in responses.*\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, the user must have permission to administer at least one project associated with a notification scheme for it to be returned.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create notification scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a notification scheme with notifications. You can create up to 1000 notifications per request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My new scheme description\",\n \"name\": \"My new notification scheme\",\n \"notificationSchemeEvents\": [\n {\n \"event\": {\n \"id\": \"1\"\n },\n \"notifications\": [\n {\n \"notificationType\": \"Group\",\n \"parameter\": \"jira-administrators\"\n }\n ]\n }\n ]\n}" } }, "response": [] }, { "name": "Get projects using notification schemes paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme/project", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "notificationSchemeId", "value": "{{notificationSchemeId}}", "disabled": true, "description": "The list of notifications scheme IDs to be filtered out" }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The list of project IDs to be filtered out" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) mapping of project that have notification scheme assigned. You can provide either one or multiple notification scheme IDs or project IDs to filter by. If you don't provide any, this will return a list of all mappings. Note that only company-managed (classic) projects are supported. This is because team-managed projects don't have a concept of a default notification scheme. The mappings are ordered by projectId.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get notification scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information\n * `field` Returns information about any custom fields assigned to receive an event\n * `group` Returns information about any groups assigned to receive an event\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information\n * `projectRole` Returns information about any project roles assigned to receive an event\n * `user` Returns information about any users assigned to receive an event" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-2-notificationscheme-get) to get a list of notification scheme IDs.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the recipients who will receive notifications for those events.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, the user must have permission to administer at least one project associated with the notification scheme.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update notification scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the notification scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a notification scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My updated notification scheme description\",\n \"name\": \"My updated notification scheme\"\n}" } }, "response": [] }, { "name": "Add notifications to notification scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme/:id/notification", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the notification scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds notifications to a notification scheme. You can add up to 1000 notifications per request.\n\n*Deprecated: The notification type `EmailAddress` is no longer supported in Cloud. Refer to the [changelog](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1031) for more details.*\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"notificationSchemeEvents\": [\n {\n \"event\": {\n \"id\": \"1\"\n },\n \"notifications\": [\n {\n \"notificationType\": \"Group\",\n \"parameter\": \"jira-administrators\"\n }\n ]\n }\n ]\n}" } }, "response": [] }, { "name": "Delete notification scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme/:notificationSchemeId", "query": [], "variable": [ { "key": "notificationSchemeId", "value": "{{notificationSchemeId}}", "description": "The ID of the notification scheme.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a notification scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove notification from notification scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/notificationscheme/:notificationSchemeId/notification/:notificationId", "query": [], "variable": [ { "key": "notificationSchemeId", "value": "{{notificationSchemeId}}", "description": "The ID of the notification scheme.", "disabled": false }, { "key": "notificationId", "value": "{{notificationId}}", "description": "The ID of the notification.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a notification from a notification scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue priorities", "description": "This resource represents issue priorities. Use it to get, create and update issue priorities and details for individual issue priorities.", "item": [ { "name": "Get priorities", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the list of all issue priorities.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create priority", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an issue priority.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My priority description\",\n \"iconUrl\": \"images/icons/priorities/major.png\",\n \"name\": \"My new priority\",\n \"statusColor\": \"#ABCDEF\"\n}" } }, "response": [] }, { "name": "Set default priority", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority/default", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets default issue priority.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"id\": \"3\"\n}" } }, "response": [] }, { "name": "Move priorities", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority/move", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Changes the order of issue priorities.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"after\": \"10003\",\n \"ids\": [\n \"10004\",\n \"10005\"\n ]\n}" } }, "response": [] }, { "name": "Search priorities", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of priority IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=2&id=3`." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The list of projects IDs. To include multiple IDs, provide an ampersand-separated list. For example, `projectId=10010&projectId=10111`." }, { "key": "priorityName", "value": "{{priorityName}}", "disabled": true, "description": "The name of priority to search for." }, { "key": "onlyDefault", "value": "{{onlyDefault}}", "disabled": true, "description": "Whether only the default priority is returned." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use `schemes` to return the associated priority schemes for each priority. Limited to returning first 15 priority schemes per priority." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of priorities. The list can contain all priorities or a subset determined by any combination of these criteria:\n\n * a list of priority IDs. Any invalid priority IDs are ignored.\n * a list of project IDs. Only priorities that are available in these projects will be returned. Any invalid project IDs are ignored.\n * whether the field configuration is a default. This returns priorities from company-managed (classic) projects only, as there is no concept of default priorities in team-managed projects.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get priority", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue priority.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an issue priority.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update priority", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue priority.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates an issue priority.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My updated priority description\",\n \"iconUrl\": \"images/icons/priorities/minor.png\",\n \"name\": \"My updated priority\",\n \"statusColor\": \"#123456\"\n}" } }, "response": [] }, { "name": "Delete priority", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/priority/:id", "query": [ { "key": "replaceWith", "value": "{{replaceWith}}", "disabled": false, "description": "The ID of the issue priority that will replace the currently selected resolution." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue priority.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "*Deprecated: please refer to the* [changelog](https://developer.atlassian.com/changelog/#CHANGE-1066) *for more details.*\n\nDeletes an issue priority.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue properties", "description": "This resource represents [issue](#api-group-Issues) properties, which provides for storing custom data against an issue. Use it to get, set, and delete issue properties as well as obtain details of all properties on an issue. Operations to bulk update and delete issue properties are also provided. Issue properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).", "item": [ { "name": "Bulk set issues properties by list", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/properties", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified along with up to 10,000 issues on which to set or update that list of entity properties.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum length of single issue property value is 32768 characters. This operation can be accessed anonymously.\n\nThis operation is:\n\n * transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Bulk set issue properties by issue", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/properties/multi", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up to 100 issues included in the request.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON.\n\nThis operation is:\n\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n * non-transactional. Updating some entities may fail. Such information will available in the task result.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issues\": [\n {\n \"issueID\": 1000,\n \"properties\": {\n \"myProperty\": {\n \"owner\": \"admin\",\n \"weight\": 100\n }\n }\n },\n {\n \"issueID\": 1001,\n \"properties\": {\n \"myOtherProperty\": {\n \"cost\": 150,\n \"transportation\": \"car\"\n }\n }\n }\n ]\n}" } }, "response": [] }, { "name": "Bulk set issue property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/properties/:propertyKey", "query": [], "variable": [ { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property. The maximum length is 255 characters.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets a property value on multiple issues.\n\nThe value set can be a constant or determined by a [Jira expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable with constant complexity when applied to a set of issues. Expressions must also comply with the [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to all Jira expressions.\n\nThe issues to be updated can be specified by a filter.\n\nThe filter identifies issues eligible for update using these criteria:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n * `hasProperty`:\n \n * If *true*, only issues with the property are eligible.\n * If *false*, only issues without the property are eligible.\n\nIf more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible.\n\nIf an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value).\n\nThe filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either all eligible issues are updated or, when errors occur, none are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"filter\": {\n \"currentValue\": {\n \"owner\": \"admin\",\n \"weight\": 50\n },\n \"entityIds\": [\n 10100,\n 100010\n ],\n \"hasProperty\": true\n },\n \"value\": {\n \"owner\": \"admin\",\n \"weight\": 100\n }\n}" } }, "response": [] }, { "name": "Bulk delete issue property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/properties/:propertyKey", "query": [], "variable": [ { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.\n\nThe criteria the filter used to identify eligible issues are:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n\nIf both criteria is specified, they are joined with the logical *AND*: only issues that satisfy both criteria are considered eligible.\n\nIf no filter criteria are specified, all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"currentValue\": \"deprecated value\",\n \"entityIds\": [\n 10100,\n 100010\n ]\n}" } }, "response": [] }, { "name": "Get issue property keys", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/properties", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The key or ID of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the URLs and keys of an issue's properties.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Property details are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/properties/:propertyKey", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The key or ID of the issue.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the key and value of an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set issue property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/properties/:propertyKey", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the issue property. The maximum length is 255 characters.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the value of an issue's property. Use this resource to store custom data against an issue.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete issue property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/properties/:propertyKey", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The key or ID of the issue.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue remote links", "description": "This resource represents remote issue links, a way of linking Jira to information in other systems. Use it to get, create, update, and delete remote issue links either by ID or global ID. The global ID provides a way of accessing remote issue links using information about the item's remote system host and remote system identifier.", "item": [ { "name": "Get remote issue links", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/remotelink", "query": [ { "key": "globalId", "value": "{{globalId}}", "disabled": true, "description": "The global ID of the remote issue link." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create or update remote issue link", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/remotelink", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates or updates a remote issue link for an issue.\n\nIf a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without values in the request are set to null. Otherwise, the remote issue link is created.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"application\": {\n \"name\": \"My Acme Tracker\",\n \"type\": \"com.acme.tracker\"\n },\n \"globalId\": \"system=http://www.mycompany.com/support&id=1\",\n \"object\": {\n \"icon\": {\n \"title\": \"Support Ticket\",\n \"url16x16\": \"http://www.mycompany.com/support/ticket.png\"\n },\n \"status\": {\n \"icon\": {\n \"link\": \"http://www.mycompany.com/support?id=1&details=closed\",\n \"title\": \"Case Closed\",\n \"url16x16\": \"http://www.mycompany.com/support/resolved.png\"\n },\n \"resolved\": true\n },\n \"summary\": \"Customer support issue\",\n \"title\": \"TSTSUP-111\",\n \"url\": \"http://www.mycompany.com/support?id=1\"\n },\n \"relationship\": \"causes\"\n}" } }, "response": [] }, { "name": "Delete remote issue link by global ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/remotelink", "query": [ { "key": "globalId", "value": "{{globalId}}", "disabled": false, "description": "The global ID of a remote issue link." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get remote issue link by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/remotelink/:linkId", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "linkId", "value": "{{linkId}}", "description": "The ID of the remote issue link.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a remote issue link for an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update remote issue link by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/remotelink/:linkId", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "linkId", "value": "{{linkId}}", "description": "The ID of the remote issue link.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a remote issue link for an issue.\n\nNote: Fields without values in the request are set to null.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"application\": {\n \"name\": \"My Acme Tracker\",\n \"type\": \"com.acme.tracker\"\n },\n \"globalId\": \"system=http://www.mycompany.com/support&id=1\",\n \"object\": {\n \"icon\": {\n \"title\": \"Support Ticket\",\n \"url16x16\": \"http://www.mycompany.com/support/ticket.png\"\n },\n \"status\": {\n \"icon\": {\n \"link\": \"http://www.mycompany.com/support?id=1&details=closed\",\n \"title\": \"Case Closed\",\n \"url16x16\": \"http://www.mycompany.com/support/resolved.png\"\n },\n \"resolved\": true\n },\n \"summary\": \"Customer support issue\",\n \"title\": \"TSTSUP-111\",\n \"url\": \"http://www.mycompany.com/support?id=1\"\n },\n \"relationship\": \"causes\"\n}" } }, "response": [] }, { "name": "Delete remote issue link by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/remotelink/:linkId", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "linkId", "value": "{{linkId}}", "description": "The ID of a remote issue link.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a remote issue link from an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects*, *Edit issues*, and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue resolutions", "description": "This resource represents issue resolution values. Use it to obtain a list of all issue resolution values and the details of individual resolution values.", "item": [ { "name": "Get resolutions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of all issue resolution values.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create resolution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an issue resolution.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My resolution description\",\n \"name\": \"My new resolution\"\n}" } }, "response": [] }, { "name": "Set default resolution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution/default", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets default issue resolution.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"id\": \"3\"\n}" } }, "response": [] }, { "name": "Move resolutions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution/move", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Changes the order of issue resolutions.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"after\": \"10002\",\n \"ids\": [\n \"10000\",\n \"10001\"\n ]\n}" } }, "response": [] }, { "name": "Search resolutions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of resolutions IDs to be filtered out" }, { "key": "onlyDefault", "value": "{{onlyDefault}}", "disabled": true, "description": "When set to true, return default only, when IDs provided, if none of them is default, return empty page. Default value is false" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of resolutions. The list can contain all resolutions or a subset determined by any combination of these criteria:\n\n * a list of resolutions IDs.\n * whether the field configuration is a default. This returns resolutions from company-managed (classic) projects only, as there is no concept of default resolutions in team-managed projects.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get resolution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue resolution value.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an issue resolution value.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update resolution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue resolution.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates an issue resolution.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My updated resolution description\",\n \"name\": \"My updated resolution\"\n}" } }, "response": [] }, { "name": "Delete resolution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/resolution/:id", "query": [ { "key": "replaceWith", "value": "{{replaceWith}}", "disabled": false, "description": "The ID of the issue resolution that will replace the currently selected resolution." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue resolution.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue resolution.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue search", "description": "This resource represents various ways to search for issues. Use it to search for issues with a JQL query and find issues to populate an issue picker.", "item": [ { "name": "Get issue picker suggestions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/picker", "query": [ { "key": "query", "value": "{{query}}", "disabled": true, "description": "A string to match against text fields in the issue such as title, description, or comments." }, { "key": "currentJQL", "value": "{{currentJQL}}", "disabled": true, "description": "A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be used as search terms for this parameter, due to privacy reasons. Use `accountId` instead." }, { "key": "currentIssueKey", "value": "{{currentIssueKey}}", "disabled": true, "description": "The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query." }, { "key": "currentProjectId", "value": "{{currentProjectId}}", "disabled": true, "description": "The ID of a project that suggested issues must belong to." }, { "key": "showSubTasks", "value": "{{showSubTasks}}", "disabled": true, "description": "Indicate whether to include subtasks in the suggestions list." }, { "key": "showSubTaskParent", "value": "{{showSubTaskParent}}", "disabled": true, "description": "When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the query." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the user is looking for an issue using a word or string.\n\nThis operation returns two lists:\n\n * `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain the string in the `query` parameter.\n * `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the `query` parameter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Check issues against JQL", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/match", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Checks whether one or more issues would be returned by one or more JQL queries.\n\n**[Permissions](#permissions) required:** None, however, issues are only matched against JQL queries where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueIds\": [\n 10001,\n 1000,\n 10042\n ],\n \"jqls\": [\n \"project = FOO\",\n \"issuetype = Bug\",\n \"summary ~ \\\"some text\\\" AND project in (FOO, BAR)\"\n ]\n}" } }, "response": [] }, { "name": "Search for issues using JQL (GET)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/search", "query": [ { "key": "jql", "value": "{{jql}}", "disabled": true, "description": "The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:\n\n * If no JQL expression is provided, all issues are returned.\n * `username` and `userkey` cannot be used as search terms due to privacy reasons. Use `accountId` instead.\n * If a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a large number of fields are requested. The greatest number of items returned per page is achieved when requesting `id` or `key` only." }, { "key": "validateQuery", "value": "{{validateQuery}}", "disabled": true, "description": "Determines how to validate the JQL query and treat the validation results. Supported values are:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value." }, { "key": "fields", "value": "{{fields}}", "disabled": true, "description": "A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version." }, { "key": "properties", "value": "{{properties}}", "disabled": true, "description": "A list of issue property keys for issue properties to include in the results. This parameter accepts a comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example, `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified." }, { "key": "fieldsByKeys", "value": "{{fieldsByKeys}}", "disabled": true, "description": "Reference fields by their key (rather than ID)." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nIf the JQL query expression is too large to be encoded as a query parameter, use the [POST](#api-rest-api-2-search-post) version of this resource.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Search for issues using JQL (POST)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/search", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nThere is a [GET](#api-rest-api-2-search-get) version of this resource that can be used for smaller JQL query expressions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"expand\": [\n \"names\",\n \"schema\",\n \"operations\"\n ],\n \"fields\": [\n \"summary\",\n \"status\",\n \"assignee\"\n ],\n \"fieldsByKeys\": false,\n \"jql\": \"project = HSP\",\n \"maxResults\": 15,\n \"startAt\": 0\n}" } }, "response": [] }, { "name": "Search issue IDs using JQL", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/search/id", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Searches for IDs of issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nUse the [Search](#api-rest-api-2-search-post) endpoint if you need to fetch more than just issue IDs. The Search endpoint returns more information, but may take much longer to respond to requests. This is because it uses a different mechanism for ordering results than this endpoint and doesn't provide the total number of results for your query.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"jql\": \"project = HSP\",\n \"maxResults\": 1000,\n \"nextPageToken\": \"EgQIlMIC\"\n}" } }, "response": [] } ] }, { "name": "Issue security level", "description": "This resource represents issue security levels. Use it to obtain the details of any issue security level. For more information about issue security levels, see [Configuring issue-level security](https://confluence.atlassian.com/x/J4lKLg).", "item": [ { "name": "Get issue security level members by issue security scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:issueSecuritySchemeId/members", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "issueSecurityLevelId", "value": "{{issueSecurityLevelId}}", "disabled": true, "description": "The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand: `issueSecurityLevelId=10000&issueSecurityLevelId=10001`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [ { "key": "issueSecuritySchemeId", "value": "{{issueSecuritySchemeId}}", "description": "The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns issue security level members.\n\nOnly issue security level members in context of classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue security level", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/securitylevel/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue security level.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns details of an issue security level.\n\nUse [Get issue security scheme](#api-rest-api-2-issuesecurityschemes-id-get) to obtain the IDs of issue security levels associated with the issue security scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue security schemes", "description": "This resource represents issue security schemes. Use it to get an issue security scheme or a list of issue security schemes.\n\nIssue security schemes control which users or groups of users can view an issue. When an issue security scheme is associated with a project, its security levels can be applied to issues in that project. Sub-tasks also inherit the security level of their parent issue.", "item": [ { "name": "Get issue security schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create issue security scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme levels and security scheme levels' members per request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Newly created issue security scheme\",\n \"levels\": [\n {\n \"description\": \"Newly created level\",\n \"isDefault\": true,\n \"members\": [\n {\n \"parameter\": \"administrators\",\n \"type\": \"group\"\n }\n ],\n \"name\": \"New level\"\n }\n ],\n \"name\": \"New security scheme\"\n}" } }, "response": [] }, { "name": "Get issue security levels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/level", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of issue security scheme level IDs. To include multiple issue security levels, separate IDs with an ampersand: `id=10000&id=10001`." }, { "key": "schemeId", "value": "{{schemeId}}", "disabled": true, "description": "The list of issue security scheme IDs. To include multiple issue security schemes, separate IDs with an ampersand: `schemeId=10000&schemeId=10001`." }, { "key": "onlyDefault", "value": "{{onlyDefault}}", "disabled": true, "description": "When set to true, returns multiple default levels for each security scheme containing a default. If you provide scheme and level IDs not associated with the default, returns an empty page. The default value is false." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue security levels.\n\nOnly issue security levels in the context of classic projects are returned.\n\nFiltering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include both specified issue security levels and all issue security levels from the specified schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set default issue security levels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/level/default", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets default issue security levels for schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultValues\": [\n {\n \"defaultLevelId\": \"20000\",\n \"issueSecuritySchemeId\": \"10000\"\n },\n {\n \"defaultLevelId\": \"30000\",\n \"issueSecuritySchemeId\": \"12000\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get issue security level members", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/level/member", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of issue security level member IDs. To include multiple issue security level members separate IDs with an ampersand: `id=10000&id=10001`." }, { "key": "schemeId", "value": "{{schemeId}}", "disabled": true, "description": "The list of issue security scheme IDs. To include multiple issue security schemes separate IDs with an ampersand: `schemeId=10000&schemeId=10001`." }, { "key": "levelId", "value": "{{levelId}}", "disabled": true, "description": "The list of issue security level IDs. To include multiple issue security levels separate IDs with an ampersand: `levelId=10000&levelId=10001`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information\n * `field` Returns information about the custom field granted the permission\n * `group` Returns information about the group that is granted the permission\n * `projectRole` Returns information about the project role granted the permission\n * `user` Returns information about the user who is granted the permission" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue security level members.\n\nOnly issue security level members in the context of classic projects are returned.\n\nFiltering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will include all issue security level members from the specified schemes and levels.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get projects using issue security schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/project", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "issueSecuritySchemeId", "value": "{{issueSecuritySchemeId}}", "disabled": true, "description": "The list of security scheme IDs to be filtered out." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The list of project IDs to be filtered out." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) mapping of projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the context of classic projects are supported. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Associate security scheme to project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/project", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if provided.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"oldToNewSecurityLevelMappings\": [\n {\n \"newLevelId\": \"30001\",\n \"oldLevelId\": \"30000\"\n }\n ],\n \"projectId\": \"10000\",\n \"schemeId\": \"20000\"\n}" } }, "response": [] }, { "name": "Search issue security schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of issue security scheme IDs. To include multiple issue security scheme IDs, separate IDs with an ampersand: `id=10000&id=10001`." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The list of project IDs. To include multiple project IDs, separate IDs with an ampersand: `projectId=10000&projectId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue security schemes. \nIf you specify the project ID parameter, the result will contain issue security schemes and related project IDs you filter by. Use \\{@link IssueSecuritySchemeResource\\#searchProjectsUsingSecuritySchemes(String, String, Set, Set)\\} to obtain all projects related to scheme.\n\nOnly issue security schemes in the context of classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue security scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an issue security scheme along with its security levels.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the requested issue security scheme.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update issue security scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue security scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the issue security scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"My issue security scheme description\",\n \"name\": \"My issue security scheme name\"\n}" } }, "response": [] }, { "name": "Delete issue security scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:schemeId", "query": [], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the issue security scheme.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue security scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add issue security levels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:schemeId/level", "query": [], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the issue security scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"levels\": [\n {\n \"description\": \"First Level Description\",\n \"isDefault\": true,\n \"members\": [\n {\n \"type\": \"reporter\"\n },\n {\n \"parameter\": \"jira-administrators\",\n \"type\": \"group\"\n }\n ],\n \"name\": \"First Level\"\n }\n ]\n}" } }, "response": [] }, { "name": "Update issue security level", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:schemeId/level/:levelId", "query": [], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the issue security scheme level belongs to.", "disabled": false }, { "key": "levelId", "value": "{{levelId}}", "description": "The ID of the issue security level to update.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the issue security level.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"New level description\",\n \"name\": \"New level name\"\n}" } }, "response": [] }, { "name": "Remove issue security level", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:schemeId/level/:levelId", "query": [ { "key": "replaceWith", "value": "{{replaceWith}}", "disabled": true, "description": "The ID of the issue security level that will replace the currently selected level." } ], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the issue security scheme.", "disabled": false }, { "key": "levelId", "value": "{{levelId}}", "description": "The ID of the issue security level to remove.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue security level.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add issue security level members", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:schemeId/level/:levelId/member", "query": [], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the issue security scheme.", "disabled": false }, { "key": "levelId", "value": "{{levelId}}", "description": "The ID of the issue security level.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds members to the issue security level. You can add up to 100 members per request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"members\": [\n {\n \"type\": \"reporter\"\n },\n {\n \"parameter\": \"jira-administrators\",\n \"type\": \"group\"\n }\n ]\n}" } }, "response": [] }, { "name": "Remove member from issue security level", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuesecurityschemes/:schemeId/level/:levelId/member/:memberId", "query": [], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the issue security scheme.", "disabled": false }, { "key": "levelId", "value": "{{levelId}}", "description": "The ID of the issue security level.", "disabled": false }, { "key": "memberId", "value": "{{memberId}}", "description": "The ID of the issue security level member to be removed.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes an issue security level member from an issue security scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue types", "description": "This resource represents issues types. Use it to:\n\n * get, create, update, and delete issue types.\n * get all issue types for a user.\n * get alternative issue types.\n * set an avatar for an issue type.", "item": [ { "name": "Get all issue types for user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all issue types.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issue types are only returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue types are returned.\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, the issue types associated with the projects the user has permission to browse are returned.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create issue type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an issue type and adds it to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"description\",\n \"name\": \"name\",\n \"type\": \"standard\"\n}" } }, "response": [] }, { "name": "Get issue types for project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/project", "query": [ { "key": "projectId", "value": "{{projectId}}", "disabled": false, "description": "The ID of the project." }, { "key": "level", "value": "{{level}}", "disabled": true, "description": "The level of the issue type to filter by. Use:\n\n * `-1` for Subtask.\n * `0` for Base.\n * `1` for Epic." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns issue types for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns an issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated with or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update issue type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"avatarId\": 1,\n \"description\": \"description\",\n \"name\": \"name\"\n}" } }, "response": [] }, { "name": "Delete issue type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:id", "query": [ { "key": "alternativeIssueTypeId", "value": "{{alternativeIssueTypeId}}", "disabled": true, "description": "The ID of the replacement issue type." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue types](#api-rest-api-2-issuetype-id-alternatives-get) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get alternative issue types", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:id/alternatives", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Load issue type avatar", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:id/avatar2", "query": [ { "key": "x", "value": "{{x}}", "disabled": true, "description": "The X coordinate of the top-left corner of the crop region." }, { "key": "y", "value": "{{y}}", "disabled": true, "description": "The Y coordinate of the top-left corner of the crop region." }, { "key": "size", "value": "{{size}}", "disabled": false, "description": "The length of each side of the crop region." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "*/*" } ], "description": "Loads an avatar for the issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST \\ --user email@example.com: \\ --header 'X-Atlassian-Token: no-check' \\ --header 'Content-Type: image/' \\ --data-binary \"\" \\ --url 'https://your-domain.atlassian.net/rest/api/2/issuetype/{issueTypeId}'This`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar, use [ Update issue type](#api-rest-api-2-issuetype-id-put) to set it as the issue type's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw" } }, "response": [] } ] }, { "name": "Issue type schemes", "description": "This resource represents issue type schemes in classic projects. Use it to:\n\n * get issue type schemes and a list of the projects that use them.\n * associate issue type schemes with projects.\n * add issue types to issue type schemes.\n * delete issue types from issue type schemes.\n * create, update, and delete issue type schemes.\n * change the order of issue types in issue type schemes.", "item": [ { "name": "Get all issue type schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `name` Sorts by issue type scheme name.\n * `id` Sorts by issue type scheme ID." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `projects` For each issue type schemes, returns information about the projects the issue type scheme is assigned to.\n * `issueTypes` For each issue type schemes, returns information about the issueTypes the issue type scheme have." }, { "key": "queryString", "value": "{{queryString}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with issue type scheme name." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue type schemes.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create issue type scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultIssueTypeId\": \"10002\",\n \"description\": \"A collection of issue types suited to use in a kanban style project.\",\n \"issueTypeIds\": [\n \"10001\",\n \"10002\",\n \"10003\"\n ],\n \"name\": \"Kanban Issue Type Scheme\"\n}" } }, "response": [] }, { "name": "Get issue type scheme items", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/mapping", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "issueTypeSchemeId", "value": "{{issueTypeSchemeId}}", "disabled": true, "description": "The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `issueTypeSchemeId=10000&issueTypeSchemeId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue type scheme items.\n\nOnly issue type scheme items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue type schemes for projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/project", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "projectId", "value": "{{projectId}}", "disabled": false, "description": "The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue type schemes and, for each issue type scheme, a list of the projects that use it.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Assign issue type scheme to project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/project", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Assigns an issue type scheme to a project.\n\nIf any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To complete the assignment those issues must be updated to use issue types in the new scheme.\n\nIssue type schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeSchemeId\": \"10000\",\n \"projectId\": \"10000\"\n}" } }, "response": [] }, { "name": "Update issue type scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/:issueTypeSchemeId", "query": [], "variable": [ { "key": "issueTypeSchemeId", "value": "{{issueTypeSchemeId}}", "description": "The ID of the issue type scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultIssueTypeId\": \"10002\",\n \"description\": \"A collection of issue types suited to use in a kanban style project.\",\n \"name\": \"Kanban Issue Type Scheme\"\n}" } }, "response": [] }, { "name": "Delete issue type scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/:issueTypeSchemeId", "query": [], "variable": [ { "key": "issueTypeSchemeId", "value": "{{issueTypeSchemeId}}", "description": "The ID of the issue type scheme.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue type scheme.\n\nOnly issue type schemes used in classic projects can be deleted.\n\nAny projects assigned to the scheme are reassigned to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add issue types to issue type scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/:issueTypeSchemeId/issuetype", "query": [], "variable": [ { "key": "issueTypeSchemeId", "value": "{{issueTypeSchemeId}}", "description": "The ID of the issue type scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds issue types to an issue type scheme.\n\nThe added issue types are appended to the issue types list.\n\nIf any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeIds\": [\n \"10000\",\n \"10002\",\n \"10003\"\n ]\n}" } }, "response": [] }, { "name": "Change order of issue types", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/:issueTypeSchemeId/issuetype/move", "query": [], "variable": [ { "key": "issueTypeSchemeId", "value": "{{issueTypeSchemeId}}", "description": "The ID of the issue type scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Changes the order of issue types in an issue type scheme.\n\nThe request body parameters must meet the following requirements:\n\n * all of the issue types must belong to the issue type scheme.\n * either `after` or `position` must be provided.\n * the issue type in `after` must not be in the issue type list.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"after\": \"10008\",\n \"issueTypeIds\": [\n \"10001\",\n \"10004\",\n \"10002\"\n ]\n}" } }, "response": [] }, { "name": "Remove issue type from issue type scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescheme/:issueTypeSchemeId/issuetype/:issueTypeId", "query": [], "variable": [ { "key": "issueTypeSchemeId", "value": "{{issueTypeSchemeId}}", "description": "The ID of the issue type scheme.", "disabled": false }, { "key": "issueTypeId", "value": "{{issueTypeId}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes an issue type from an issue type scheme.\n\nThis operation cannot remove:\n\n * any issue type used by issues.\n * any issue types from the default issue type scheme.\n * the last standard issue type from an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue type screen schemes", "description": "This resource represents issue type screen schemes. Use it to:\n\n * get issue type screen schemes and a list of the projects that use them.\n * create issue type screen schemes.\n * update issue type screen schemes.\n * delete issue type screen schemes.\n * associate issue type screen schemes with projects.\n * append issue type to screen scheme mappings to issue type screen schemes.\n * remove issue type to screen scheme mappings from issue type screen schemes.\n * update default screen scheme of issue type screen scheme.", "item": [ { "name": "Get issue type screen schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." }, { "key": "queryString", "value": "{{queryString}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with issue type screen scheme name." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `name` Sorts by issue type screen scheme name.\n * `id` Sorts by issue type screen scheme ID." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts `projects` that, for each issue type screen schemes, returns information about the projects the issue type screen scheme is assigned to." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue type screen schemes.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create issue type screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeMappings\": [\n {\n \"issueTypeId\": \"default\",\n \"screenSchemeId\": \"10001\"\n },\n {\n \"issueTypeId\": \"10001\",\n \"screenSchemeId\": \"10002\"\n },\n {\n \"issueTypeId\": \"10002\",\n \"screenSchemeId\": \"10002\"\n }\n ],\n \"name\": \"Scrum issue type screen scheme\"\n}" } }, "response": [] }, { "name": "Get issue type screen scheme items", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/mapping", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "issueTypeScreenSchemeId", "value": "{{issueTypeScreenSchemeId}}", "disabled": true, "description": "The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue type screen scheme items.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue type screen schemes for projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/project", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "projectId", "value": "{{projectId}}", "disabled": false, "description": "The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Assign issue type screen scheme to project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/project", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Assigns an issue type screen scheme to a project.\n\nIssue type screen schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeScreenSchemeId\": \"10001\",\n \"projectId\": \"10002\"\n}" } }, "response": [] }, { "name": "Update issue type screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/:issueTypeScreenSchemeId", "query": [], "variable": [ { "key": "issueTypeScreenSchemeId", "value": "{{issueTypeScreenSchemeId}}", "description": "The ID of the issue type screen scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Screens for scrum issue types.\",\n \"name\": \"Scrum scheme\"\n}" } }, "response": [] }, { "name": "Delete issue type screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/:issueTypeScreenSchemeId", "query": [], "variable": [ { "key": "issueTypeScreenSchemeId", "value": "{{issueTypeScreenSchemeId}}", "description": "The ID of the issue type screen scheme.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Append mappings to issue type screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/:issueTypeScreenSchemeId/mapping", "query": [], "variable": [ { "key": "issueTypeScreenSchemeId", "value": "{{issueTypeScreenSchemeId}}", "description": "The ID of the issue type screen scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Appends issue type to screen scheme mappings to an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeMappings\": [\n {\n \"issueTypeId\": \"10000\",\n \"screenSchemeId\": \"10001\"\n },\n {\n \"issueTypeId\": \"10001\",\n \"screenSchemeId\": \"10002\"\n },\n {\n \"issueTypeId\": \"10002\",\n \"screenSchemeId\": \"10002\"\n }\n ]\n}" } }, "response": [] }, { "name": "Update issue type screen scheme default screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/:issueTypeScreenSchemeId/mapping/default", "query": [], "variable": [ { "key": "issueTypeScreenSchemeId", "value": "{{issueTypeScreenSchemeId}}", "description": "The ID of the issue type screen scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all unmapped issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"screenSchemeId\": \"10010\"\n}" } }, "response": [] }, { "name": "Remove mappings from issue type screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/:issueTypeScreenSchemeId/mapping/remove", "query": [], "variable": [ { "key": "issueTypeScreenSchemeId", "value": "{{issueTypeScreenSchemeId}}", "description": "The ID of the issue type screen scheme.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Removes issue type to screen scheme mappings from an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypeIds\": [\n \"10000\",\n \"10001\",\n \"10004\"\n ]\n}" } }, "response": [] }, { "name": "Get issue type screen scheme projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetypescreenscheme/:issueTypeScreenSchemeId/project", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "query", "value": "{{query}}", "disabled": true } ], "variable": [ { "key": "issueTypeScreenSchemeId", "value": "{{issueTypeScreenSchemeId}}", "description": "The ID of the issue type screen scheme.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of projects associated with an issue type screen scheme.\n\nOnly company-managed projects associated with an issue type screen scheme are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue type properties", "description": "This resource represents [issue type](#api-group-Issue-types) properties, which provides for storing custom data against an issue type. Use it to get, create, and delete issue type properties as well as obtain the keys of all properties on a issues type. Issue type properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).", "item": [ { "name": "Get issue type property keys", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:issueTypeId/properties", "query": [], "variable": [ { "key": "issueTypeId", "value": "{{issueTypeId}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys of the issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any issue types associated with the projects the user has permission to browse.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue type property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:issueTypeId/properties/:propertyKey", "query": [], "variable": [ { "key": "issueTypeId", "value": "{{issueTypeId}}", "description": "The ID of the issue type.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the key and value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue types associated with the projects the user has permission to browse.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set issue type property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:issueTypeId/properties/:propertyKey", "query": [], "variable": [ { "key": "issueTypeId", "value": "{{issueTypeId}}", "description": "The ID of the issue type.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the issue type property. The maximum length is 255 characters.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates or updates the value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). Use this resource to store and update data against an issue type.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"number\": 5,\n \"string\": \"string-value\"\n}" } }, "response": [] }, { "name": "Delete issue type property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issuetype/:issueTypeId/properties/:propertyKey", "query": [], "variable": [ { "key": "issueTypeId", "value": "{{issueTypeId}}", "description": "The ID of the issue type.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue votes", "description": "This resource represents votes cast by users on an issue. Use it to get details of votes on an issue as well as cast and withdrawal votes.", "item": [ { "name": "Get votes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/votes", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns details about the votes on an issue.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote that users with the necessary permissions for this operation but without the *View voters and watchers* project permissions are not returned details in the `voters` field.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add vote", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/votes", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "POST", "header": [], "description": "Adds the user's vote to an issue. This is the equivalent of the user clicking *Vote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete vote", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/votes", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a user's vote from an issue. This is the equivalent of the user clicking *Unvote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue watchers", "description": "This resource represents users watching an issue. Use it to get details of users watching an issue as well as start and stop a user watching an issue.", "item": [ { "name": "Get is watching issue bulk", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/watching", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns, for the user, details of the watched status of issues from a list. If an issue ID is invalid, the returned watched status is `false`.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueIds\": [\n \"10001\",\n \"10002\",\n \"10005\"\n ]\n}" } }, "response": [] }, { "name": "Get issue watchers", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/watchers", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the watchers for an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To see details of users on the watchlist other than themselves, *View voters and watchers* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/watchers", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds a user as a watcher of an issue by passing the account ID of the user. For example, `\"5b10ac8d82e05b22cc7d4ef5\"`. If no user is specified the calling user is added.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To add users other than themselves to the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/watchers", "query": [ { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a user as a watcher of an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue worklogs", "description": "This resource represents issue worklogs. Use it to:\n\n * get, create, update, and delete worklogs.\n * obtain lists of updated or deleted worklogs.", "item": [ { "name": "Get issue worklogs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "startedAfter", "value": "{{startedAfter}}", "disabled": true, "description": "The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned." }, { "key": "startedBefore", "value": "{{startedBefore}}", "disabled": true, "description": "The worklog start date and time, as a UNIX timestamp in milliseconds, before which worklogs are returned." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns worklogs for an issue, starting from the oldest worklog or from the worklog started on or after a date and time.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Workloads are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add worklog", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog", "query": [ { "key": "notifyUsers", "value": "{{notifyUsers}}", "disabled": true, "description": "Whether users watching the issue are notified by email." }, { "key": "adjustEstimate", "value": "{{adjustEstimate}}", "disabled": true, "description": "Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Reduces the estimate by amount specified in `reduceBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog." }, { "key": "newEstimate", "value": "{{newEstimate}}", "disabled": true, "description": "The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`." }, { "key": "reduceBy", "value": "{{reduceBy}}", "disabled": true, "description": "The amount to reduce the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m). For example, *2d*. Required when `adjustEstimate` is `manual`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts `properties`, which returns worklog properties." }, { "key": "overrideEditableFlag", "value": "{{overrideEditableFlag}}", "disabled": true, "description": "Whether the worklog entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key the issue.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds a worklog to an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Work on issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"comment\": \"I did some work here.\",\n \"started\": \"2021-01-17T12:34:00.000+0000\",\n \"timeSpentSeconds\": 12000,\n \"visibility\": {\n \"identifier\": \"276f955c-63d7-42c8-9520-92d01dca0625\",\n \"type\": \"group\"\n }\n}" } }, "response": [] }, { "name": "Get worklog", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts\n\n`properties`, which returns worklog properties." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the worklog.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update worklog", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog/:id", "query": [ { "key": "notifyUsers", "value": "{{notifyUsers}}", "disabled": true, "description": "Whether users watching the issue are notified by email." }, { "key": "adjustEstimate", "value": "{{adjustEstimate}}", "disabled": true, "description": "Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or `timeSpentSeconds`." }, { "key": "newEstimate", "value": "{{newEstimate}}", "disabled": true, "description": "The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties." }, { "key": "overrideEditableFlag", "value": "{{overrideEditableFlag}}", "disabled": true, "description": "Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue is closed. Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key the issue.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the worklog.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"comment\": \"I did some work here.\",\n \"started\": \"2021-01-17T12:34:00.000+0000\",\n \"timeSpentSeconds\": 12000,\n \"visibility\": {\n \"identifier\": \"276f955c-63d7-42c8-9520-92d01dca0625\",\n \"type\": \"group\"\n }\n}" } }, "response": [] }, { "name": "Delete worklog", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog/:id", "query": [ { "key": "notifyUsers", "value": "{{notifyUsers}}", "disabled": true, "description": "Whether users watching the issue are notified by email." }, { "key": "adjustEstimate", "value": "{{adjustEstimate}}", "disabled": true, "description": "Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Increases the estimate by amount specified in `increaseBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog." }, { "key": "newEstimate", "value": "{{newEstimate}}", "disabled": true, "description": "The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`." }, { "key": "increaseBy", "value": "{{increaseBy}}", "disabled": true, "description": "The amount to increase the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `manual`." }, { "key": "overrideEditableFlag", "value": "{{overrideEditableFlag}}", "disabled": true, "description": "Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with admin permission can use this flag." } ], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the worklog.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a worklog from an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or *Delete own worklogs* to delete worklogs created by the user,\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get IDs of deleted worklogs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/worklog/deleted", "query": [ { "key": "since", "value": "{{since}}", "disabled": true, "description": "The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs deleted during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get worklogs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/worklog/list", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns worklog details for a list of worklog IDs.\n\nThe returned list of worklogs is limited to 1000 items.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"ids\": [\n 1,\n 2,\n 5,\n 10\n ]\n}" } }, "response": [] }, { "name": "Get IDs of updated worklogs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/worklog/updated", "query": [ { "key": "since", "value": "{{since}}", "disabled": true, "description": "The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of IDs and update timestamps for worklogs updated after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs updated during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Issue worklog properties", "description": "This resource represents [issue worklog](#api-group-Issue-worklogs) properties, which provides for storing custom data against an issue worklog. Use it to get, create, and delete issue worklog properties as well as obtain the keys of all properties on a issue worklog. Issue worklog properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).", "item": [ { "name": "Get worklog property keys", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog/:worklogId/properties", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "worklogId", "value": "{{worklogId}}", "description": "The ID of the worklog.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the keys of all properties for a worklog.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get worklog property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog/:worklogId/properties/:propertyKey", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "worklogId", "value": "{{worklogId}}", "description": "The ID of the worklog.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the value of a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set worklog property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog/:worklogId/properties/:propertyKey", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "worklogId", "value": "{{worklogId}}", "description": "The ID of the worklog.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the issue property. The maximum length is 255 characters.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the value of a worklog property. Use this operation to store custom data against the worklog.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete worklog property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/issue/:issueIdOrKey/worklog/:worklogId/properties/:propertyKey", "query": [], "variable": [ { "key": "issueIdOrKey", "value": "{{issueIdOrKey}}", "description": "The ID or key of the issue.", "disabled": false }, { "key": "worklogId", "value": "{{worklogId}}", "description": "The ID of the worklog.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Jira expressions", "description": "This resource is a collection of operations for [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).", "item": [ { "name": "Analyse Jira expression", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/expression/analyse", "query": [ { "key": "check", "value": "{{check}}", "disabled": true, "description": "The check to perform:\n\n * `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are validated. For example, the expression's length.\n * `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors that would result in the expression failure at runtime are reported. For example, accessing properties that don't exist or passing the wrong number of arguments to functions. Also performs the syntax check.\n * `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each expression may execute." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Analyses and validates Jira expressions.\n\nAs an experimental feature, this operation can also attempt to type-check the expressions.\n\nLearn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).\n\n**[Permissions](#permissions) required**: None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"contextVariables\": {\n \"listOfStrings\": \"List\",\n \"record\": \"{ a: Number, b: String }\",\n \"value\": \"User\"\n },\n \"expressions\": [\n \"issues.map(issue => issue.properties['property_key'])\"\n ]\n}" } }, "response": [] }, { "name": "Evaluate Jira expression", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/expression/eval", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Evaluates a Jira expression and returns its value.\n\nThis resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.\n\n#### Context variables ####\n\nThe following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.\n\n * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous.\n * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).\n * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.\n * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.\n * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.\n * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.\n * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.\n * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.\n * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.\n\nAlso, custom context variables can be passed in the request with their types. Those variables can be accessed by key in the Jira expression. These variable types are available for use in a custom context:\n\n * `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.\n * `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.\n * `json`: A JSON object containing custom content.\n * `list`: A JSON list of `user`, `issue`, or `json` variable types.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. \nPermission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"context\": {\n \"board\": 10100,\n \"custom\": {\n \"config\": {\n \"type\": \"json\",\n \"value\": {\n \"userId\": \"10002\"\n }\n },\n \"issuesList\": [\n {\n \"key\": \"ACJIRA-1471\",\n \"type\": \"issue\"\n },\n {\n \"id\": 100001,\n \"type\": \"issue\"\n }\n ],\n \"myUser\": {\n \"accountId\": \"100001\",\n \"type\": \"user\"\n },\n \"nullField\": {\n \"type\": \"json\"\n }\n },\n \"customerRequest\": 1450,\n \"issue\": {\n \"key\": \"ACJIRA-1470\"\n },\n \"issues\": {\n \"jql\": {\n \"maxResults\": 100,\n \"query\": \"project = HSP\",\n \"startAt\": 0,\n \"validation\": \"strict\"\n }\n },\n \"project\": {\n \"key\": \"ACJIRA\"\n },\n \"serviceDesk\": 10023,\n \"sprint\": 10001\n },\n \"expression\": \"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id), listCustomVariable: issuesList.includes(issue), customVariables: myUser.accountId == config.userId}\"\n}" } }, "response": [] } ] }, { "name": "Jira settings", "description": "This resource represents various settings in Jira. Use it to get and update Jira settings and properties.", "item": [ { "name": "Get application property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/application-properties", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "The key of the application property." }, { "key": "permissionLevel", "value": "{{permissionLevel}}", "disabled": true, "description": "The permission level of all items being returned in the list." }, { "key": "keyFilter", "value": "{{keyFilter}}", "disabled": true, "description": "When a `key` isn't provided, this filters the list of results by the application property `key` using a regular expression. For example, using `jira.lf.*` will return all application properties with keys that start with *jira.lf.*." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all application properties or an application property.\n\nIf you specify a value for the `key` parameter, then an application property is returned as an object (not in an array). Otherwise, an array of all editable application properties is returned. See [Set application property](#api-rest-api-2-application-properties-id-put) for descriptions of editable properties.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get advanced settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/application-properties/advanced-settings", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the application properties that are accessible on the *Advanced Settings* page. To navigate to the *Advanced Settings* page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration** and then click **Advanced Settings** (in the upper right).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set application property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/application-properties/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The key of the application property to update.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values.\n\n#### Advanced settings ####\n\nThe advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | \n| `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | \n| `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | \n| `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | \n| `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | \n| `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | \n| `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | \n| `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | \n| `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | \n\n\n#### Look and feel ####\n\nThe settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | \n| `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | \n| `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | \n| `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | \n| `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | \n| `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | \n| `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | \n| `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | \n| `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | \n| `jira.lf.navigation.bgcolour` | The background color of the sidebar. | `#0747A6` | \n| `jira.lf.navigation.highlightcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | \n| `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | \n| `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | \n| `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | \n| `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | \n\n\n#### Other settings ####\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | \n\n\n*Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).*\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"id\": \"jira.home\",\n \"value\": \"/var/jira/jira-home\"\n}" } }, "response": [] }, { "name": "Get global settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/configuration", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this operation also returns the time tracking configuration.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "JQL", "description": "This resource represents JQL search auto-complete details. Use it to obtain JQL search auto-complete data and suggestions for use in programmatic construction of queries or custom query builders. It also provides operations to:\n\n * convert one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.\n * convert readable details in one or more JQL queries to IDs where a user doesn't have permission to view the entity whose details are readable.", "item": [ { "name": "Get field reference data (GET)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/autocompletedata", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nTo filter visible field details by project or collapse non-unique fields by field type then [Get field reference data (POST)](#api-rest-api-2-jql-autocompletedata-post) can be used.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get field reference data (POST)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/autocompletedata", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nThis operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored. System fields are always returned.\n\nIt can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across all fields with the same name and of the same field type. For example, the collapsed field `Component - Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched simultaneously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"includeCollapsedFields\": true,\n \"projectIds\": [\n 10000,\n 10001,\n 10002\n ]\n}" } }, "response": [] }, { "name": "Get field auto complete suggestions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/autocompletedata/suggestions", "query": [ { "key": "fieldName", "value": "{{fieldName}}", "disabled": true, "description": "The name of the field." }, { "key": "fieldValue", "value": "{{fieldValue}}", "disabled": true, "description": "The partial field item name entered by the user." }, { "key": "predicateName", "value": "{{predicateName}}", "disabled": true, "description": "The name of the [ CHANGED operator predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which the suggestions are generated. The valid predicate operators are *by*, *from*, and *to*." }, { "key": "predicateValue", "value": "{{predicateValue}}", "disabled": true, "description": "The partial predicate item name entered by the user." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the JQL search auto complete suggestions for a field.\n\nSuggestions can be obtained by providing:\n\n * `fieldName` to get a list of all values for the field.\n * `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.\n * `fieldName` and `predicateName` to get a list of all predicate values for the field.\n * `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Parse JQL query", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/parse", "query": [ { "key": "validation", "value": "{{validation}}", "disabled": false, "description": "How to validate the JQL query and treat the validation results. Validation options include:\n\n * `strict` Returns all errors. If validation fails, the query structure is not returned.\n * `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is returned.\n * `none` No validation is performed. If JQL query is correctly formed, the query structure is returned." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Parses and validates JQL queries.\n\nValidation is performed in context of the current user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"queries\": [\n \"summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER startOfMonth(-1M) ORDER BY updated DESC\",\n \"issue.property[\\\"spaces here\\\"].value in (\\\"Service requests\\\", Incidents)\",\n \"invalid query\",\n \"summary = test\",\n \"summary in test\",\n \"project = INVALID\",\n \"universe = 42\"\n ]\n}" } }, "response": [] }, { "name": "Convert user identifiers to account IDs in JQL queries", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/pdcleaner", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.\n\nYou may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For more information about GDPR-related changes, see the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"queryStrings\": [\n \"assignee = mia\",\n \"issuetype = Bug AND assignee in (mia) AND reporter in (alana) order by lastViewed DESC\"\n ]\n}" } }, "response": [] }, { "name": "Sanitize JQL queries", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/sanitize", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sanitizes one or more JQL queries by converting readable details into IDs where a user doesn't have permission to view the entity.\n\nFor example, if the query contains the clause *project = 'Secret project'*, and a user does not have browse permission for the project \"Secret project\", the sanitized query replaces the clause with *project = 12345\"* (where 12345 is the ID of the project). If a user has the required permission, the clause is not sanitized. If the account ID is null, sanitizing is performed for an anonymous user.\n\nNote that sanitization doesn't make the queries GDPR-compliant, because it doesn't remove user identifiers (username or user key). If you need to make queries GDPR-compliant, use [Convert user identifiers to account IDs in JQL queries](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jql/#api-rest-api-3-jql-sanitize-post).\n\nBefore sanitization each JQL query is parsed. The queries are returned in the same order that they were passed.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"queries\": [\n {\n \"query\": \"project = 'Sample project'\"\n },\n {\n \"accountId\": \"5b10ac8d82e05b22cc7d4ef5\",\n \"query\": \"project = 'Sample project'\"\n },\n {\n \"accountId\": \"cda2aa1395ac195d951b3387\",\n \"query\": \"project = 'Sample project'\"\n },\n {\n \"accountId\": \"5b10ac8d82e05b22cc7d4ef5\",\n \"query\": \"invalid query\"\n }\n ]\n}" } }, "response": [] } ] }, { "name": "JQL functions (apps)", "description": "This resource represents JQL function's precomputations. Precomputation is a mapping between custom function call and JQL fragment returned by this function. Use it to get and update precomputations.", "item": [ { "name": "Get precomputations (apps)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/function/computation", "query": [ { "key": "functionKey", "value": "{{functionKey}}", "disabled": true, "description": "The function key in format:\n\n * Forge: `ari:cloud:ecosystem::extension/[App ID]/[Environment ID]/static/[Function key from manifest]`\n * Connect: `[App key]__[Module key]`" }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `functionKey` Sorts by the functionKey.\n * `used` Sorts by the used timestamp.\n * `created` Sorts by the created timestamp.\n * `updated` Sorts by the updated timestamp." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the list of a function's precomputations along with information about when they were created, updated, and last used. Each precomputation has a `value` \\- the JQL fragment to replace the custom function clause with.\n\n**[Permissions](#permissions) required:** This API is only accessible to apps and apps can only inspect their own functions.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update precomputations (apps)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/jql/function/computation", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Update the precomputation value of a function created by a Forge/Connect app.\n\n**[Permissions](#permissions) required:** An API for apps to update their own precomputations.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"values\": [\n {\n \"id\": \"f2ef228b-367f-4c6b-bd9d-0d0e96b5bd7b\",\n \"value\": \"issue in (TEST-1, TEST-2, TEST-3)\"\n },\n {\n \"error\": \"Error message to be displayed to the user\",\n \"id\": \"2a854f11-d0e1-4260-aea8-64a562a7062a\"\n }\n ]\n}" } }, "response": [] } ] }, { "name": "Labels", "description": "This resource represents available labels. Use it to get available labels for the global label field.", "item": [ { "name": "Get all labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/label", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of labels.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "License metrics", "description": "This resource represents license metrics. Use it to get available metrics for Jira licences.", "item": [ { "name": "Get license", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/instance/license", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns licensing information about the Jira instance.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get approximate license count", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/license/approximateLicenseCount", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the approximate number of user accounts across all Jira licenses. Note that this information is cached with a 7-day lifecycle and could be stale at the time of call.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get approximate application license count", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/license/approximateLicenseCount/product/:applicationKey", "query": [], "variable": [ { "key": "applicationKey", "value": "{{applicationKey}}", "description": "The ID of the application, represents a specific version of Jira.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the total approximate number of user accounts for a single Jira license. Note that this information is cached with a 7-day lifecycle and could be stale at the time of call.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Myself", "description": "This resource represents information about the current user, such as basic details, group membership, application roles, preferences, and locale. Use it to get, create, update, and delete (restore default) values of the user's preferences and locale.", "item": [ { "name": "Get preference", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/mypreferences", "query": [ { "key": "key", "value": "{{key}}", "disabled": false, "description": "The key of the preference." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the value of a preference of the current user.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default this is not set and the user takes the locale of the instance.\n * *jira.user.timezone* The time zone of the user. By default this is not set and the user takes the timezone of the instance.\n\nThese system preferences keys will be deprecated by 15/07/2024. You can still retrieve these keys, but it will not have any impact on Notification behaviour.\n\n * *user.notifications.watcher* Whether the user gets notified when they are watcher.\n * *user.notifications.assignee* Whether the user gets notified when they are assignee.\n * *user.notifications.reporter* Whether the user gets notified when they are reporter.\n * *user.notifications.mentions* Whether the user gets notified when they are mentions.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set preference", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/mypreferences", "query": [ { "key": "key", "value": "{{key}}", "disabled": false, "description": "The key of the preference. The maximum length is 255 characters." } ], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a preference for the user or updates a preference's value by sending a plain text string. For example, `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the following keys define system preferences that can be set or created:\n\n * *user.notifications.mimetype* The mime type used in notifications sent to the user. Defaults to `html`.\n * *user.default.share.private* Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private. Defaults to `true`.\n * *user.keyboard.shortcuts.disabled* Whether keyboard shortcuts are disabled. Defaults to `false`.\n * *user.autowatch.disabled* Whether the user automatically watches issues they create or add a comment to. By default, not set: the user takes the instance autowatch setting.\n * *user.notifiy.own.changes* Whether the user gets notified of their own changes.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nThese system preferences keys will be deprecated by 15/07/2024. You can still use these keys to create arbitrary preferences, but it will not have any impact on Notification behaviour.\n\n * *user.notifications.watcher* Whether the user gets notified when they are watcher.\n * *user.notifications.assignee* Whether the user gets notified when they are assignee.\n * *user.notifications.reporter* Whether the user gets notified when they are reporter.\n * *user.notifications.mentions* Whether the user gets notified when they are mentions.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete preference", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/mypreferences", "query": [ { "key": "key", "value": "{{key}}", "disabled": false, "description": "The key of the preference." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Deletes a preference of the user, which restores the default value of system defined settings.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get locale", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/mypreferences/locale", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the locale for the user.\n\nIf the user has no language preference set (which is the default setting) or this resource is accessed anonymous, the browser locale detected by Jira is returned. Jira detects the browser locale using the *Accept-Language* header in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set locale", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/mypreferences/locale", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nSets the locale of the user. The locale must be one supported by the instance of Jira.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"locale\": \"en_US\"\n}" } }, "response": [] }, { "name": "Delete locale", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/mypreferences/locale", "query": [], "variable": [] }, "method": "DELETE", "header": [], "description": "Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nDeletes the locale of the user, which restores the default setting.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get current user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/myself", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about user in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` Returns all groups, including nested groups, the user belongs to.\n * `applicationRoles` Returns the application roles the user is assigned to." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns details for the current user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Permissions", "description": "This resource represents permissions. Use it to obtain details of all permissions and determine whether the user has certain permissions.", "item": [ { "name": "Get my permissions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/mypermissions", "query": [ { "key": "projectKey", "value": "{{projectKey}}", "disabled": true, "description": "The key of project. Ignored if `projectId` is provided." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The ID of project." }, { "key": "issueKey", "value": "{{issueKey}}", "disabled": true, "description": "The key of the issue. Ignored if `issueId` is provided." }, { "key": "issueId", "value": "{{issueId}}", "disabled": true, "description": "The ID of the issue." }, { "key": "permissions", "value": "{{permissions}}", "disabled": true, "description": "A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available permissions, use [Get all permissions](#api-rest-api-2-permissions-get)." }, { "key": "projectUuid", "value": "{{projectUuid}}", "disabled": true }, { "key": "projectConfigurationUuid", "value": "{{projectConfigurationUuid}}", "disabled": true }, { "key": "commentId", "value": "{{commentId}}", "disabled": true, "description": "The ID of the comment." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, issue or comment context.\n\nThe user is reported as having a project permission:\n\n * in the global context, if the user has the project permission in any project.\n * for a project, where the project permission is determined using issue data, if the user meets the permission's criteria for any issue in the project. Otherwise, if the user has the project permission in the project.\n * for an issue, where a project permission is determined using issue data, if the user has the permission in the issue. Otherwise, if the user has the project permission in the project containing the issue.\n * for a comment, where the user has both the permission to browse the comment and the project permission for the comment's parent issue. Only the BROWSE\\_PROJECTS permission is supported. If a `commentId` is provided whose `permissions` does not equal BROWSE\\_PROJECTS, a 400 error will be returned.\n\nThis means that users may be shown as having an issue permission (such as EDIT\\_ISSUES) in the global context or a project context but may not have the permission for any or all issues. For example, if Reporters have the EDIT\\_ISSUES permission a user would be shown as having this permission in the global context or the context of a project, because any user can be a reporter. However, if they are not the user who reported the issue queried they would not have EDIT\\_ISSUES permission for that issue.\n\nGlobal permissions are unaffected by context.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get all permissions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissions", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all permissions, including:\n\n * global permissions.\n * project permissions.\n * global permissions added by plugins.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get bulk permissions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissions/check", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns:\n\n * for a list of global permissions, the global permissions granted to a user.\n * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.\n\nIf no account ID is provided, the operation returns details for the logged in user.\n\nNote that:\n\n * Invalid project and issue IDs are ignored.\n * A maximum of 1000 projects and 1000 issues can be checked.\n * Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and `projectPermissions.issues` are ignored.\n * Empty strings in `projectPermissions.permissions` are ignored.\n\n**Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.\n\n * **Classic**: `read:jira-work`\n * **Granular**: `read:permission:jira`\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"accountId\": \"5b10a2844c20165700ede21g\",\n \"globalPermissions\": [\n \"ADMINISTER\"\n ],\n \"projectPermissions\": [\n {\n \"issues\": [\n 10010,\n 10011,\n 10012,\n 10013,\n 10014\n ],\n \"permissions\": [\n \"EDIT_ISSUES\"\n ],\n \"projects\": [\n 10001\n ]\n }\n ]\n}" } }, "response": [] }, { "name": "Get permitted projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissions/project", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all the projects where the user is granted a list of project permissions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Permission schemes", "description": "This resource represents permission schemes. Use it to get, create, update, and delete permission schemes as well as get, create, update, and delete details of the permissions granted in those schemes.", "item": [ { "name": "Get all permission schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all permission schemes.\n\n### About permission schemes and grants ###\n\nA permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a `permission`.\n\n#### Holder object ####\n\nThe `holder` object contains information about the user or group being granted the permission. For example, the *Administer projects* permission is granted to a group named *Teams in space administrators*. In this case, the type is `\"type\": \"group\"`, and the parameter is the group name, `\"parameter\": \"Teams in space administrators\"` and the value is group ID, `\"value\": \"ca85fac0-d974-40ca-a615-7af99c48d24f\"`.\n\nThe `holder` object is defined by the following properties:\n\n * `type` Identifies the user or group (see the list of types below).\n * `parameter` As a group's name can change, use of `value` is recommended. The value of this property depends on the `type`. For example, if the `type` is a group, then you need to specify the group name.\n * `value` The value of this property depends on the `type`. If the `type` is a group, then you need to specify the group ID. For other `type` it has the same value as `parameter`\n\nThe following `types` are available. The expected values for `parameter` and `value` are given in parentheses (some types may not have a `parameter` or `value`):\n\n * `anyone` Grant for anonymous users.\n * `applicationRole` Grant for users with access to the specified application (application name, application name). See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.\n * `assignee` Grant for the user currently assigned to an issue.\n * `group` Grant for the specified group (`parameter` : group name, `value` : group ID).\n * `groupCustomField` Grant for a user in the group selected in the specified custom field (`parameter` : custom field ID, `value` : custom field ID).\n * `projectLead` Grant for a project lead.\n * `projectRole` Grant for the specified project role (`parameter` :project role ID, `value` : project role ID).\n * `reporter` Grant for the user who reported the issue.\n * `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more information.\n * `user` Grant for the specified user (`parameter` : user ID - historically this was the userkey but that is deprecated and the account ID should be used, `value` : user ID).\n * `userCustomField` Grant for a user selected in the specified custom field (`parameter` : custom field ID, `value` : custom field ID).\n\n#### Built-in permissions ####\n\nThe [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define custom permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information.\n\n**Project permissions**\n\n * `ADMINISTER_PROJECTS`\n * `BROWSE_PROJECTS`\n * `MANAGE_SPRINTS_PERMISSION` (Jira Software only)\n * `SERVICEDESK_AGENT` (Jira Service Desk only)\n * `VIEW_DEV_TOOLS` (Jira Software only)\n * `VIEW_READONLY_WORKFLOW`\n\n**Issue permissions**\n\n * `ASSIGNABLE_USER`\n * `ASSIGN_ISSUES`\n * `CLOSE_ISSUES`\n * `CREATE_ISSUES`\n * `DELETE_ISSUES`\n * `EDIT_ISSUES`\n * `LINK_ISSUES`\n * `MODIFY_REPORTER`\n * `MOVE_ISSUES`\n * `RESOLVE_ISSUES`\n * `SCHEDULE_ISSUES`\n * `SET_ISSUE_SECURITY`\n * `TRANSITION_ISSUES`\n\n**Voters and watchers permissions**\n\n * `MANAGE_WATCHERS`\n * `VIEW_VOTERS_AND_WATCHERS`\n\n**Comments permissions**\n\n * `ADD_COMMENTS`\n * `DELETE_ALL_COMMENTS`\n * `DELETE_OWN_COMMENTS`\n * `EDIT_ALL_COMMENTS`\n * `EDIT_OWN_COMMENTS`\n\n**Attachments permissions**\n\n * `CREATE_ATTACHMENTS`\n * `DELETE_ALL_ATTACHMENTS`\n * `DELETE_OWN_ATTACHMENTS`\n\n**Time tracking permissions**\n\n * `DELETE_ALL_WORKLOGS`\n * `DELETE_OWN_WORKLOGS`\n * `EDIT_ALL_WORKLOGS`\n * `EDIT_OWN_WORKLOGS`\n * `WORK_ON_ISSUES`\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create permission scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"description\",\n \"name\": \"Example permission scheme\",\n \"permissions\": [\n {\n \"holder\": {\n \"parameter\": \"jira-core-users\",\n \"type\": \"group\",\n \"value\": \"ca85fac0-d974-40ca-a615-7af99c48d24f\"\n },\n \"permission\": \"ADMINISTER_PROJECTS\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get permission scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme/:schemeId", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the permission scheme to return.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update permission scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme/:schemeId", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the permission scheme to update.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a permission scheme. Below are some important things to note when using this resource:\n\n * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants.\n * If you want to update only the name and description, then do not send a permissions list in the request.\n * Sending an empty list will remove all permission grants from the permission scheme.\n\nIf you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-2-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-2-permissionscheme-schemeId-permission-permissionId-delete).\n\nSee [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"description\",\n \"name\": \"Example permission scheme\",\n \"permissions\": [\n {\n \"holder\": {\n \"parameter\": \"jira-core-users\",\n \"type\": \"group\",\n \"value\": \"ca85fac0-d974-40ca-a615-7af99c48d24f\"\n },\n \"permission\": \"ADMINISTER_PROJECTS\"\n }\n ]\n}" } }, "response": [] }, { "name": "Delete permission scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme/:schemeId", "query": [], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the permission scheme being deleted.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get permission scheme grants", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme/:schemeId/permission", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information." } ], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the permission scheme.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all permission grants for a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create permission grant", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme/:schemeId/permission", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information." } ], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the permission scheme in which to create a new permission grant.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a permission grant in a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"holder\": {\n \"parameter\": \"jira-core-users\",\n \"type\": \"group\",\n \"value\": \"ca85fac0-d974-40ca-a615-7af99c48d24f\"\n },\n \"permission\": \"ADMINISTER_PROJECTS\"\n}" } }, "response": [] }, { "name": "Get permission scheme grant", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme/:schemeId/permission/:permissionId", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the permission scheme.", "disabled": false }, { "key": "permissionId", "value": "{{permissionId}}", "description": "The ID of the permission grant.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a permission grant.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete permission scheme grant", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/permissionscheme/:schemeId/permission/:permissionId", "query": [], "variable": [ { "key": "schemeId", "value": "{{schemeId}}", "description": "The ID of the permission scheme to delete the permission grant from.", "disabled": false }, { "key": "permissionId", "value": "{{permissionId}}", "description": "The ID of the permission grant to delete.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a permission grant from a permission scheme. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Projects", "description": "This resource represents projects. Use it to get, create, update, and delete projects. Also get statuses available to a project, a project's notification schemes, and update a project's type.", "item": [ { "name": "Get all projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `issueTypes` Returns all issue types associated with the project.\n * `lead` Returns information about the project lead.\n * `projectKeys` Returns all project keys associated with the project." }, { "key": "recent", "value": "{{recent}}", "disabled": true, "description": "Returns the user's most recently accessed projects. You may specify the number of results to return up to a maximum of 20. If access is anonymous, then the recently accessed projects are based on the current HTTP session." }, { "key": "properties", "value": "{{properties}}", "disabled": true, "description": "A list of project properties to return for the project. This parameter accepts a comma-separated list." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all projects visible to the user. Deprecated, use [ Get projects paginated](#api-rest-api-2-project-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a project based on a project type template, as shown in the following table:\n\n| Project Type Key | Project Template Key | \n|--|--| \n| `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | \n| `service_desk` | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-blank-project-business`, `com.atlassian.servicedesk:simplified-blank-project-it`, `com.atlassian.servicedesk:simplified-finance-service-desk`, `com.atlassian.servicedesk:next-gen-it-service-desk`, `com.atlassian.servicedesk:next-gen-hr-service-desk`, `com.atlassian.servicedesk:next-gen-legal-service-desk`, `com.atlassian.servicedesk:next-gen-marketing-service-desk`, `com.atlassian.servicedesk:next-gen-facilities-service-desk`, `com.atlassian.servicedesk:next-gen-general-it-service-desk`, `com.atlassian.servicedesk:next-gen-general-business-service-desk`, `com.atlassian.servicedesk:next-gen-analytics-service-desk`, `com.atlassian.servicedesk:next-gen-finance-service-desk`, `com.atlassian.servicedesk:next-gen-design-service-desk`, `com.atlassian.servicedesk:next-gen-sales-service-desk` | \n| `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | \nThe project types are available according to the installed Jira features as follows:\n\n * Jira Core, the default, enables `business` projects.\n * Jira Service Management enables `service_desk` projects.\n * Jira Software enables `software` projects.\n\nTo determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"assigneeType\": \"PROJECT_LEAD\",\n \"avatarId\": 10200,\n \"categoryId\": 10120,\n \"description\": \"Cloud migration initiative\",\n \"issueSecurityScheme\": 10001,\n \"key\": \"EX\",\n \"leadAccountId\": \"5b10a0effa615349cb016cd8\",\n \"name\": \"Example\",\n \"notificationScheme\": 10021,\n \"permissionScheme\": 10011,\n \"projectTemplateKey\": \"com.atlassian.jira-core-project-templates:jira-core-simplified-process-control\",\n \"projectTypeKey\": \"business\",\n \"url\": \"http://atlassian.com\"\n}" } }, "response": [] }, { "name": "Get recent projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/recent", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `permissions` Returns the permissions associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.\n * `*` Returns the project with all available expand options." }, { "key": "properties", "value": "{{properties}}", "disabled": true, "description": "EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. Invalid property names are ignored." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get projects paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field.\n\n * `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-2-projectCategory-get).\n * `issueCount` Sorts by the total number of issues in each project.\n * `key` Sorts by project key.\n * `lastIssueUpdatedTime` Sorts by the last issue update time.\n * `name` Sorts by project name.\n * `owner` Sorts by project lead.\n * `archivedDate` EXPERIMENTAL. Sorts by project archived date.\n * `deletedDate` EXPERIMENTAL. Sorts by project deleted date." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Up to 50 project IDs can be provided." }, { "key": "keys", "value": "{{keys}}", "disabled": true, "description": "The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For example, `keys=PA&keys=PB`. Up to 50 project keys can be provided." }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive)." }, { "key": "typeKey", "value": "{{typeKey}}", "disabled": true, "description": "Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`." }, { "key": "categoryId", "value": "{{categoryId}}", "disabled": true, "description": "The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation." }, { "key": "action", "value": "{{action}}", "disabled": true, "description": "Filter results by projects for which the user can:\n\n * `view` the project, meaning that they have one of the following permissions:\n \n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * `edit` the project, meaning that they have one of the following permissions:\n \n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * `create` the project, meaning that they have the *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue is created." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "EXPERIMENTAL. Filter results by project status:\n\n * `live` Search live projects.\n * `archived` Search archived projects.\n * `deleted` Search deleted projects, those in the recycle bin." }, { "key": "properties", "value": "{{properties}}", "disabled": true, "description": "EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list." }, { "key": "propertyQuery", "value": "{{propertyQuery}}", "disabled": true, "description": "EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object. For example, to search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only returned when included in `properties`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of projects visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.\n * `issueTypeHierarchy` The project issue type hierarchy." }, { "key": "properties", "value": "{{properties}}", "disabled": true, "description": "A list of project properties to return for the project. This parameter accepts a comma-separated list." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.\n\nAll parameters are optional in the body of the request. Schemes will only be updated if they are included in the request, any omitted schemes will be left unchanged.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). is only needed when changing the schemes or project key. Otherwise you will only need *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"assigneeType\": \"PROJECT_LEAD\",\n \"avatarId\": 10200,\n \"categoryId\": 10120,\n \"description\": \"Cloud migration initiative\",\n \"issueSecurityScheme\": 10001,\n \"key\": \"EX\",\n \"leadAccountId\": \"5b10a0effa615349cb016cd8\",\n \"name\": \"Example\",\n \"notificationScheme\": 10021,\n \"permissionScheme\": 10011,\n \"url\": \"http://atlassian.com\"\n}" } }, "response": [] }, { "name": "Delete project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey", "query": [ { "key": "enableUndo", "value": "{{enableUndo}}", "disabled": true, "description": "Whether this project is placed in the Jira recycle bin where it will be available for restoration." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a project.\n\nYou can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Archive project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/archive", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "POST", "header": [], "description": "Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete project asynchronously", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/delete", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "POST", "header": [], "description": "Deletes a project asynchronously.\n\nThis operation is:\n\n * transactional, that is, if part of the delete fails the project is not deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Restore deleted or archived project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/restore", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Restores a project that has been archived or placed in the Jira recycle bin.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)for Company managed projects.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project for Team managed projects.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get all statuses for project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/statuses", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project issue type hierarchy", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectId/hierarchy", "query": [], "variable": [ { "key": "projectId", "value": "{{projectId}}", "description": "The ID of the project.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the issue type hierarchy for a next-gen project.\n\nThe issue type hierarchy for a project consists of:\n\n * *Epic* at level 1 (optional).\n * One or more issue types at level 0 such as *Story*, *Task*, or *Bug*. Where the issue type *Epic* is defined, these issue types are used to break down the content of an epic.\n * *Subtask* at level -1 (optional). This issue type enables level 0 issue types to be broken down into components. Issues based on a level -1 issue type must have a parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project notification scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectKeyOrId/notificationscheme", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information\n * `field` Returns information about any custom fields assigned to receive an event\n * `group` Returns information about any groups assigned to receive an event\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information\n * `projectRole` Returns information about any project roles assigned to receive an event\n * `user` Returns information about any users assigned to receive an event" } ], "variable": [ { "key": "projectKeyOrId", "value": "{{projectKeyOrId}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project avatars", "description": "This resource represents avatars associated with a project. Use it to get, load, set, and remove project avatars.", "item": [ { "name": "Set project avatar", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/avatar", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The ID or (case-sensitive) key of the project.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets the avatar displayed for a project.\n\nUse [Load project avatar](#api-rest-api-2-project-projectIdOrKey-avatar2-post) to store avatars against the project, before using this operation to set the displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"id\": \"10010\"\n}" } }, "response": [] }, { "name": "Delete project avatar", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/avatar/:id", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or (case-sensitive) key.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the avatar.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a custom avatar from a project. Note that system avatars cannot be deleted.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Load project avatar", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/avatar2", "query": [ { "key": "x", "value": "{{x}}", "disabled": true, "description": "The X coordinate of the top-left corner of the crop region." }, { "key": "y", "value": "{{y}}", "disabled": true, "description": "The Y coordinate of the top-left corner of the crop region." }, { "key": "size", "value": "{{size}}", "disabled": true, "description": "The length of each side of the crop region." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The ID or (case-sensitive) key of the project.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "*/*" } ], "description": "Loads an avatar for a project.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/' `\n\n`--data-binary \"\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/2/project/{projectIdOrKey}/avatar2'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use [Set project avatar](#api-rest-api-2-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw" } }, "response": [] }, { "name": "Get all project avatars", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/avatars", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The ID or (case-sensitive) key of the project.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all project avatars, grouped by system and custom avatars.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project categories", "description": "This resource represents project categories. Use it to create, update, and delete project categories as well as obtain a list of all project categories and details of individual categories. For more information on managing project categories, see [Adding, assigning, and deleting project categories](https://confluence.atlassian.com/x/-A5WMg).", "item": [ { "name": "Get all project categories", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectCategory", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all project categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create project category", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectCategory", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Created Project Category\",\n \"name\": \"CREATED\"\n}" } }, "response": [] }, { "name": "Get project category by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectCategory/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project category.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a project category.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update project category", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectCategory/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Updated Project Category\",\n \"name\": \"UPDATED\"\n}" } }, "response": [] }, { "name": "Delete project category", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectCategory/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "ID of the project category to delete.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project classification levels", "description": "This resource represents classification levels used in a project. Use it to view and manage classification levels in your projects.", "item": [ { "name": "Get the default data classification level of a project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/classification-level/default", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case-sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the default data classification for a project.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update the default data classification level of a project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/classification-level/default", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case-sensitive).", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the default data classification level for a project.\n\n**[Permissions](#permissions) required:**\n\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"id\": \"ari:cloud:platform::classification-tag/dec24c48-5073-4c25-8fef-9d81a992c30c\"\n}" } }, "response": [] }, { "name": "Remove the default data classification level from a project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/classification-level/default", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case-sensitive).", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Remove the default data classification level for a project.\n\n**[Permissions](#permissions) required:**\n\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project components", "description": "This resource represents project components. Use it to get, create, update, and delete project components. Also get components for project and get a count of issues by component.", "item": [ { "name": "Find components for projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/component", "query": [ { "key": "projectIdsOrKeys", "value": "{{projectIdsOrKeys}}", "disabled": true, "description": "The project IDs and/or project keys (case sensitive)." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `description` Sorts by the component description.\n * `name` Sorts by component name." }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive)." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all components in a project, including global (Compass) components when applicable.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create component", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/component", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a component. Use components to provide containers for issues within a project. Use components to provide containers for issues within a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"assigneeType\": \"PROJECT_LEAD\",\n \"description\": \"This is a Jira component\",\n \"isAssigneeTypeValid\": false,\n \"leadAccountId\": \"5b10a2844c20165700ede21g\",\n \"name\": \"Component 1\",\n \"project\": \"HSP\"\n}" } }, "response": [] }, { "name": "Get component", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/component/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the component.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update component", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/component/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the component.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string (\"\") the component lead is removed.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"assigneeType\": \"PROJECT_LEAD\",\n \"description\": \"This is a Jira component\",\n \"isAssigneeTypeValid\": false,\n \"leadAccountId\": \"5b10a2844c20165700ede21g\",\n \"name\": \"Component 1\"\n}" } }, "response": [] }, { "name": "Delete component", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/component/:id", "query": [ { "key": "moveIssuesTo", "value": "{{moveIssuesTo}}", "disabled": true, "description": "The ID of the component to replace the deleted component. If this value is null no replacement is made." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the component.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get component issues count", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/component/:id/relatedIssueCounts", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the component.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the counts of issues assigned to the component.\n\nThis operation can be accessed anonymously.\n\n**Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.\n\n * **Classic**: `read:jira-work`\n * **Granular**: `read:field:jira`, `read:project.component:jira`\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project components paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/component", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `description` Sorts by the component description.\n * `issueCount` Sorts by the count of issues associated with the component.\n * `lead` Sorts by the user key of the component's project lead.\n * `name` Sorts by component name." }, { "key": "componentSource", "value": "{{componentSource}}", "disabled": true, "description": "The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the API will return connected Compass components if the project is opted into Compass, otherwise it will return Jira components. Defaults to `jira`." }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive)." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all components in a project. See the [Get project components](#api-rest-api-2-project-projectIdOrKey-components-get) resource if you want to get a full list of versions without pagination.\n\nIf your project uses Compass components, this API will return a list of Compass components that are linked to issues in that project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project components", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/components", "query": [ { "key": "componentSource", "value": "{{componentSource}}", "disabled": true, "description": "The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the API will return connected Compass components if the project is opted into Compass, otherwise it will return Jira components. Defaults to `jira`." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all components in a project. See the [Get project components paginated](#api-rest-api-2-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination.\n\nIf your project uses Compass components, this API will return a paginated list of Compass components that are linked to issues in that project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project email", "description": "This resource represents the email address used to send a project's notifications. Use it to get and set the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).", "item": [ { "name": "Get project's sender email", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectId/email", "query": [], "variable": [ { "key": "projectId", "value": "{{projectId}}", "description": "The project ID.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set project's sender email", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectId/email", "query": [], "variable": [ { "key": "projectId", "value": "{{projectId}}", "description": "The project ID.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\nIf `emailAddress` is an empty string, the default email address is restored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"emailAddress\": \"jira@example.atlassian.net\"\n}" } }, "response": [] } ] }, { "name": "Project features", "description": "This resource represents project features. Use it to get the list of features for a project and modify the state of a feature. The project feature endpoint is available only for Jira Software, both for team- and company-managed projects.", "item": [ { "name": "Get project features", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/features", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The ID or (case-sensitive) key of the project.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the list of features for a project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set project feature state", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/features/:featureKey", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The ID or (case-sensitive) key of the project.", "disabled": false }, { "key": "featureKey", "value": "{{featureKey}}", "description": "The key of the feature.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the state of a project feature.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"state\": \"ENABLED\"\n}" } }, "response": [] } ] }, { "name": "Project key and name validation", "description": "This resource provides validation for project keys and names.", "item": [ { "name": "Validate project key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectvalidate/key", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "The project key." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Validates a project key by confirming the key is a valid string and not in use.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get valid project key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectvalidate/validProjectKey", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "The project key." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get valid project name", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/projectvalidate/validProjectName", "query": [ { "key": "name", "value": "{{name}}", "disabled": false, "description": "The project name." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a sequence number. If a valid project name cannot be generated, a 404 response is returned.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project permission schemes", "description": "This resource represents permission schemes for a project. Use this resource to:\n\n * get details of a project's issue security levels available to the calling user.\n * get the permission scheme associated with the project or assign different permission scheme to the project.\n * get details of a project's issue security scheme.\n\nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.", "item": [ { "name": "Get project issue security scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectKeyOrId/issuesecuritylevelscheme", "query": [], "variable": [ { "key": "projectKeyOrId", "value": "{{projectKeyOrId}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or the *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get assigned permission scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectKeyOrId/permissionscheme", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [ { "key": "projectKeyOrId", "value": "{{projectKeyOrId}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Assign permission scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectKeyOrId/permissionscheme", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission." } ], "variable": [ { "key": "projectKeyOrId", "value": "{{projectKeyOrId}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Assigns a permission scheme with a project. See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"id\": 10000\n}" } }, "response": [] }, { "name": "Get project issue security levels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectKeyOrId/securitylevel", "query": [], "variable": [ { "key": "projectKeyOrId", "value": "{{projectKeyOrId}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has access to.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security levels are only returned for authenticated user with *Set Issue Security* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project properties", "description": "This resource represents [project](#api-group-Projects) properties, which provides for storing custom data against a project. Use it to get, create, and delete project properties as well as get a list of property keys for a project. Project properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).", "item": [ { "name": "Get project property keys", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/properties", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/properties/:propertyKey", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to get a list of all project property keys.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the value of a [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set project property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/properties/:propertyKey", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the project property. The maximum length is 255 characters.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the value of the [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). You can use project properties to store custom data against the project.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"number\": 5,\n \"string\": \"string-value\"\n}" } }, "response": [] }, { "name": "Delete project property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/properties/:propertyKey", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to get a list of all project property keys.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) from a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project roles", "description": "This resource represents the roles that users can play in projects. Use this resource to get, create, update, and delete project roles.", "item": [ { "name": "Get project roles for project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/role", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of [project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) for the project returning the name and self URL for each role.\n\nNote that all project roles are shared with all projects in Jira Cloud. See [Get all project roles](#api-rest-api-2-role-get) for more information.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project role for project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/role/:id", "query": [ { "key": "excludeInactiveUsers", "value": "{{excludeInactiveUsers}}", "disabled": true, "description": "Exclude inactive users." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a project role's details and actors associated with the project. The list of actors is sorted by display name.\n\nTo check whether a user belongs to a role based on their group memberships, use [Get user](#api-rest-api-2-user-get) with the `groups` expand parameter selected. Then check whether the user keys and groups match with the actors returned for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project role details", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/roledetails", "query": [ { "key": "currentMember", "value": "{{currentMember}}", "disabled": true, "description": "Whether the roles should be filtered to include only those the user is assigned to." }, { "key": "excludeConnectAddons", "value": "{{excludeConnectAddons}}", "disabled": true } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all [project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) and the details for each role. Note that the list of project roles is common to all projects.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get all project roles", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets a list of all project roles, complete with project role details and default actors.\n\n### About project roles ###\n\n[Project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) are a flexible way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally with all projects, but each project can have a different set of actors associated with it (unlike groups, which have the same membership throughout all Jira applications).\n\nProject roles are used in [permission schemes](#api-rest-api-2-permissionscheme-get), [email notification schemes](#api-rest-api-2-notificationscheme-get), [issue security levels](#api-rest-api-2-issuesecurityschemes-get), [comment visibility](#api-rest-api-2-comment-list-post), and workflow conditions.\n\n#### Members and actors ####\n\nIn the Jira REST API, a member of a project role is called an *actor*. An *actor* is a group or user associated with a project role.\n\nActors may be set as [default members](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/#Specifying-'default-members'-for-a-project-role) of the project role or set at the project level:\n\n * Default actors: Users and groups that are assigned to the project role for all newly created projects. The default actors can be removed at the project level later if desired.\n * Actors: Users and groups that are associated with a project role for a project, which may differ from the default actors. This enables you to assign a user to different roles in different projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a new project role with no [default actors](#api-rest-api-2-resolution-get). You can use the [Add default actors to project role](#api-rest-api-2-role-id-actors-post) operation to add default actors to the project role after creating it.\n\n*Note that although a new project role is available to all projects upon creation, any default actors that are associated with the project role are not added to projects that existed prior to the role being created.*<\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A project role that represents developers in a project\",\n \"name\": \"Developers\"\n}" } }, "response": [] }, { "name": "Get project role by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets the project role details and the default actors associated with the role. The list of default actors is sorted by display name.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Fully update project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the project role's name and description. You must include both a name and a description in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A project role that represents developers in a project\",\n \"name\": \"Developers\"\n}" } }, "response": [] }, { "name": "Partial update project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates either the project role's name or its description.\n\nYou cannot update both the name and description at the same time using this operation. If you send a request with a name and a description only the name is updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"A project role that represents developers in a project\",\n \"name\": \"Developers\"\n}" } }, "response": [] }, { "name": "Delete project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role/:id", "query": [ { "key": "swap", "value": "{{swap}}", "disabled": true, "description": "The ID of the project role that will replace the one being deleted." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project role to delete. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in use.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project role actors", "description": "This resource represents the users assigned to [project roles](#api-group-Issue-comments). Use it to get, add, and remove default users from project roles. Also use it to add and remove users from a project role associated with a project.", "item": [ { "name": "Set actors for project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/role/:id", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the actors for a project role for a project, replacing all existing actors.\n\nTo add actors to the project without overwriting the existing list, use [Add actors to project role](#api-rest-api-2-project-projectIdOrKey-role-id-post).\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"categorisedActors\": {\n \"atlassian-group-role-actor-id\": [\n \"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"\n ],\n \"atlassian-user-role-actor\": [\n \"12345678-9abc-def1-2345-6789abcdef12\"\n ]\n }\n}" } }, "response": [] }, { "name": "Add actors to project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/role/:id", "query": [], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds actors to a project role for the project.\n\nTo replace all actors for the project, use [Set actors for project role](#api-rest-api-2-project-projectIdOrKey-role-id-put).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"groupId\": [\n \"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"\n ]\n}" } }, "response": [] }, { "name": "Delete actors from project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/role/:id", "query": [ { "key": "user", "value": "{{user}}", "disabled": true, "description": "The user account ID of the user to remove from the project role." }, { "key": "group", "value": "{{group}}", "disabled": true, "description": "The name of the group to remove from the project role. This parameter cannot be used with the `groupId` parameter. As a group's name can change, use of `groupId` is recommended." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The ID of the group to remove from the project role. This parameter cannot be used with the `group` parameter." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes actors from a project role for the project.\n\nTo remove default actors from the project role, use [Delete default actors from project role](#api-rest-api-2-role-id-actors-delete).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get default actors for project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role/:id/actors", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the [default actors](#api-rest-api-2-resolution-get) for the project role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add default actors to project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role/:id/actors", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds [default actors](#api-rest-api-2-resolution-get) to a role. You may add groups or users, but you cannot add groups and users in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"user\": [\n \"admin\"\n ]\n}" } }, "response": [] }, { "name": "Delete default actors from project role", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/role/:id/actors", "query": [ { "key": "user", "value": "{{user}}", "disabled": true, "description": "The user account ID of the user to remove as a default actor." }, { "key": "groupId", "value": "{{groupId}}", "disabled": true, "description": "The group ID of the group to be removed as a default actor. This parameter cannot be used with the `group` parameter." }, { "key": "group", "value": "{{group}}", "disabled": true, "description": "The group name of the group to be removed as a default actor.This parameter cannot be used with the `groupId` parameter. As a group's name can change, use of `groupId` is recommended." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Deletes the [default actors](#api-rest-api-2-resolution-get) from a project role. You may delete a group or user, but you cannot delete a group and a user in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project types", "description": "This resource represents project types. Use it to obtain a list of all project types, a list of project types accessible to the calling user, and details of a project type.", "item": [ { "name": "Get all project types", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/type", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get licensed project types", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/type/accessible", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project type by key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/type/:projectTypeKey", "query": [], "variable": [ { "key": "projectTypeKey", "value": "{{projectTypeKey}}", "description": "The key of the project type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get accessible project type by key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/type/:projectTypeKey/accessible", "query": [], "variable": [ { "key": "projectTypeKey", "value": "{{projectTypeKey}}", "description": "The key of the project type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Project versions", "description": "This resource represents project versions. Use it to get, get lists of, create, update, move, merge, and delete project versions. This resource also provides counts of issues by version.", "item": [ { "name": "Get project versions paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/version", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `description` Sorts by version description.\n * `name` Sorts by version name.\n * `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.\n * `sequence` Sorts by the order of appearance in the user interface.\n * `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last." }, { "key": "query", "value": "{{query}}", "disabled": true, "description": "Filter the results using a literal string. Versions with matching `name` or `description` are returned (case insensitive)." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "A list of status values used to filter the results by version status. This parameter accepts a comma-separated list. The status values are `released`, `unreleased`, and `archived`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `issuesstatus` Returns the number of issues in each status category for each version.\n * `operations` Returns actions that can be performed on the specified version.\n * `driver` Returns the Atlassian account ID of the version driver.\n * `approvers` Returns a list containing the approvers for this version." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all versions in a project. See the [Get project versions](#api-rest-api-2-project-projectIdOrKey-versions-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get project versions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/project/:projectIdOrKey/versions", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts `operations`, which returns actions that can be performed on the version." } ], "variable": [ { "key": "projectIdOrKey", "value": "{{projectIdOrKey}}", "description": "The project ID or project key (case sensitive).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all versions in a project. The response is not paginated. Use [Get project versions paginated](#api-rest-api-2-project-projectIdOrKey-version-get) if you want to get the versions in a project with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"archived\": false,\n \"description\": \"An excellent version\",\n \"name\": \"New Version 1\",\n \"projectId\": 10000,\n \"releaseDate\": \"2010-07-06\",\n \"released\": true\n}" } }, "response": [] }, { "name": "Get version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property represents the number of issues with a status other than *to do*, *in progress*, and *done*.\n * `driver` Returns the Atlassian account ID of the version driver.\n * `approvers` Returns a list containing the Atlassian account IDs of approvers for this version." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"archived\": false,\n \"description\": \"An excellent version\",\n \"id\": \"10000\",\n \"name\": \"New Version 1\",\n \"overdue\": true,\n \"projectId\": 10000,\n \"releaseDate\": \"2010-07-06\",\n \"released\": true,\n \"self\": \"https://your-domain.atlassian.net/rest/api/~ver~/version/10000\",\n \"userReleaseDate\": \"6/Jul/2010\"\n}" } }, "response": [] }, { "name": "Delete version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id", "query": [ { "key": "moveFixIssuesTo", "value": "{{moveFixIssuesTo}}", "disabled": true, "description": "The ID of the version to update `fixVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted." }, { "key": "moveAffectedIssuesTo", "value": "{{moveAffectedIssuesTo}}", "disabled": true, "description": "The ID of the version to update `affectedVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a project version.\n\nDeprecated, use [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) that supports swapping version values in custom fields, in addition to the swapping for `fixVersion` and `affectedVersion` provided in this resource.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion` or `affectedVersion`. If alternatives are not provided, occurrences of `fixVersion` and `affectedVersion` that contain the deleted version are cleared.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Merge versions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/mergeto/:moveIssuesTo", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version to delete.", "disabled": false }, { "key": "moveIssuesTo", "value": "{{moveIssuesTo}}", "description": "The ID of the version to merge into.", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.\n\nConsider using [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) instead. This resource supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Move version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/move", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version to be moved.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Modifies the version's sequence within the project, which affects the display order of the versions in Jira.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"after\": \"https://your-domain.atlassian.net/rest/api/~ver~/version/10000\"\n}" } }, "response": [] }, { "name": "Get version's related issues count", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/relatedIssueCounts", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the following counts for a version:\n\n * Number of issues where the `fixVersion` is set to the version.\n * Number of issues where the `affectedVersion` is set to the version.\n * Number of issues where a version custom field is set to the version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get related work", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/relatedwork", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns related work items for the given version id.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update related work", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/relatedwork", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version to update the related work on. For the related work id, pass it to the input JSON.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the given related work. You can only update generic link related works via Rest APIs. Any archived version related works can't be edited.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Resolve issues:* and *Edit issues* [Managing project permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"category\": \"Design\",\n \"relatedWorkId\": \"fabcdef6-7878-1234-beaf-43211234abcd\",\n \"title\": \"Design link\",\n \"url\": \"https://www.atlassian.com\"\n}" } }, "response": [] }, { "name": "Create related work", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/relatedwork", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a related work for the given version. You can only create a generic link type of related works via this API. relatedWorkId will be auto-generated UUID, that does not need to be provided.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Resolve issues:* and *Edit issues* [Managing project permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"category\": \"Design\",\n \"title\": \"Design link\",\n \"url\": \"https://www.atlassian.com\"\n}" } }, "response": [] }, { "name": "Delete and replace version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/removeAndSwap", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Deletes a project version.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion`, `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version being deleted.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get version's unresolved issues count", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:id/unresolvedIssueCount", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the version.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns counts of the issues and unresolved issues for the project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete related work", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/version/:versionId/relatedwork/:relatedWorkId", "query": [], "variable": [ { "key": "versionId", "value": "{{versionId}}", "description": "The ID of the version that the target related work belongs to.", "disabled": false }, { "key": "relatedWorkId", "value": "{{relatedWorkId}}", "description": "The ID of the related work to delete.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the given related work for the given version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Resolve issues:* and *Edit issues* [Managing project permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the project that contains the version.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Screens", "description": "This resource represents the screens used to record issue details. Use it to:\n\n * get details of all screens.\n * get details of all the fields available for use on screens.\n * create screens.\n * delete screens.\n * update screens.\n * add a field to the default screen.", "item": [ { "name": "Get screens for a field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/field/:fieldId/screens", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs the field is used in." } ], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the field to return screens for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of the screens a field is used in.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get screens", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." }, { "key": "queryString", "value": "{{queryString}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with screen name." }, { "key": "scope", "value": "{{scope}}", "disabled": true, "description": "The scope filter string. To filter by multiple scope, provide an ampersand-separated list. For example, `scope=GLOBAL&scope=PROJECT`." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `id` Sorts by screen ID.\n * `name` Sorts by screen name." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all screens or those specified by one or more screen IDs.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create screen", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a screen with a default field tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Enables changes to resolution and linked issues.\",\n \"name\": \"Resolve Security Issue Screen\"\n}" } }, "response": [] }, { "name": "Add field to default screen", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/addToDefault/:fieldId", "query": [], "variable": [ { "key": "fieldId", "value": "{{fieldId}}", "description": "The ID of the field.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds a field to the default tab of the default screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update screen", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a screen. Only screens used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Enables changes to resolution and linked issues for accessibility related issues.\",\n \"name\": \"Resolve Accessibility Issue Screen\"\n}" } }, "response": [] }, { "name": "Delete screen", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.\n\nOnly screens used in classic projects can be deleted.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get available screen fields", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/availableFields", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the fields that can be added to a tab on a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Screen tabs", "description": "This resource represents the screen tabs used to record issue details. Use it to get, create, update, move, and delete screen tabs.", "item": [ { "name": "Get bulk screen tabs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/tabs", "query": [ { "key": "screenId", "value": "{{screenId}}", "disabled": true, "description": "The list of screen IDs. To include multiple screen IDs, provide an ampersand-separated list. For example, `screenId=10000&screenId=10001`." }, { "key": "tabId", "value": "{{tabId}}", "disabled": true, "description": "The list of tab IDs. To include multiple tab IDs, provide an ampersand-separated list. For example, `tabId=10000&tabId=10001`." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResult", "value": "{{maxResult}}", "disabled": true, "description": "The maximum number of items to return per page. The maximum number is 100," } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the list of tabs for a bulk of screens.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get all screen tabs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs", "query": [ { "key": "projectKey", "value": "{{projectKey}}", "disabled": true, "description": "The key of the project." } ], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the list of tabs for a screen.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create screen tab", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a tab for a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"name\": \"Fields Tab\"\n}" } }, "response": [] }, { "name": "Update screen tab", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs/:tabId", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false }, { "key": "tabId", "value": "{{tabId}}", "description": "The ID of the screen tab.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the name of a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete screen tab", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs/:tabId", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false }, { "key": "tabId", "value": "{{tabId}}", "description": "The ID of the screen tab.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Move screen tab", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs/:tabId/move/:pos", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false }, { "key": "tabId", "value": "{{tabId}}", "description": "The ID of the screen tab.", "disabled": false }, { "key": "pos", "value": "{{pos}}", "description": "The position of tab. The base index is 0.", "disabled": false } ] }, "method": "POST", "header": [], "description": "Moves a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Screen tab fields", "description": "This resource represents the screen tab fields used to record issue details. Use it to get, add, move, and remove fields from screen tabs.", "item": [ { "name": "Get all screen tab fields", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs/:tabId/fields", "query": [ { "key": "projectKey", "value": "{{projectKey}}", "disabled": true, "description": "The key of the project." } ], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false }, { "key": "tabId", "value": "{{tabId}}", "description": "The ID of the screen tab.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all fields for a screen tab.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add screen tab field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs/:tabId/fields", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false }, { "key": "tabId", "value": "{{tabId}}", "description": "The ID of the screen tab.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds a field to a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"fieldId\": \"summary\"\n}" } }, "response": [] }, { "name": "Remove screen tab field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs/:tabId/fields/:id", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false }, { "key": "tabId", "value": "{{tabId}}", "description": "The ID of the screen tab.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the field.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a field from a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Move screen tab field", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screens/:screenId/tabs/:tabId/fields/:id/move", "query": [], "variable": [ { "key": "screenId", "value": "{{screenId}}", "description": "The ID of the screen.", "disabled": false }, { "key": "tabId", "value": "{{tabId}}", "description": "The ID of the screen tab.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The ID of the field.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Moves a screen tab field.\n\nIf `after` and `position` are provided in the request, `position` is ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Screen schemes", "description": "This resource represents screen schemes in classic projects. Use it to get, create, update, and delete screen schemes.", "item": [ { "name": "Get screen schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screenscheme", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "id", "value": "{{id}}", "disabled": true, "description": "The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) include additional information in the response. This parameter accepts `issueTypeScreenSchemes` that, for each screen schemes, returns information about the issue type screen scheme the screen scheme is assigned to." }, { "key": "queryString", "value": "{{queryString}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with screen scheme name." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `id` Sorts by screen scheme ID.\n * `name` Sorts by screen scheme name." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of screen schemes.\n\nOnly screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screenscheme", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"Manage employee data\",\n \"name\": \"Employee screen scheme\",\n \"screens\": {\n \"default\": 10017,\n \"edit\": 10019,\n \"view\": 10020\n }\n}" } }, "response": [] }, { "name": "Update screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screenscheme/:screenSchemeId", "query": [], "variable": [ { "key": "screenSchemeId", "value": "{{screenSchemeId}}", "description": "The ID of the screen scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a screen scheme. Only screen schemes used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"name\": \"Employee screen scheme v2\",\n \"screens\": {\n \"create\": \"10019\",\n \"default\": \"10018\"\n }\n}" } }, "response": [] }, { "name": "Delete screen scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/screenscheme/:screenSchemeId", "query": [], "variable": [ { "key": "screenSchemeId", "value": "{{screenSchemeId}}", "description": "The ID of the screen scheme.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.\n\nOnly screens schemes used in classic projects can be deleted.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Server info", "description": "This resource provides information about the Jira instance.", "item": [ { "name": "Get Jira instance info", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/serverInfo", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about the Jira instance.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Status", "description": "This resource represents statuses. Use it to search, get, create, delete, and change statuses.", "item": [ { "name": "Bulk get statuses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/statuses", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `usages` Returns the project and issue types that use the status in their workflow.\n * `workflowUsages` Returns the workflows that use the status." }, { "key": "id", "value": "{{id}}", "disabled": false, "description": "The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example, id=10000&id=10001.\n\nMin items `1`, Max items `50`" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of the statuses specified by one or more status IDs.\n\n**[Permissions](#permissions) required:**\n\n * *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)\n * *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Bulk update statuses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/statuses", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates statuses by ID.\n\n**[Permissions](#permissions) required:**\n\n * *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)\n * *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"statuses\": [\n {\n \"description\": \"The issue is resolved\",\n \"id\": \"1000\",\n \"name\": \"Finished\",\n \"statusCategory\": \"DONE\"\n }\n ]\n}" } }, "response": [] }, { "name": "Bulk create statuses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/statuses", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates statuses for a global or project scope.\n\n**[Permissions](#permissions) required:**\n\n * *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)\n * *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"scope\": {\n \"project\": {\n \"id\": \"1\"\n },\n \"type\": \"PROJECT\"\n },\n \"statuses\": [\n {\n \"description\": \"The issue is resolved\",\n \"name\": \"Finished\",\n \"statusCategory\": \"DONE\"\n }\n ]\n}" } }, "response": [] }, { "name": "Bulk delete Statuses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/statuses", "query": [ { "key": "id", "value": "{{id}}", "disabled": false, "description": "The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example, id=10000&id=10001.\n\nMin items `1`, Max items `50`" } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Deletes statuses by ID.\n\n**[Permissions](#permissions) required:**\n\n * *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)\n * *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Search statuses paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/statuses/search", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `usages` Returns the project and issue types that use the status in their workflow.\n * `workflowUsages` Returns the workflows that use the status." }, { "key": "projectId", "value": "{{projectId}}", "disabled": true, "description": "The project the status is part of or null for global statuses." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "searchString", "value": "{{searchString}}", "disabled": true, "description": "Term to match status names against or null to search for all statuses in the search scope." }, { "key": "statusCategory", "value": "{{statusCategory}}", "disabled": true, "description": "Category of the status to filter by. The supported values are: `TODO`, `IN_PROGRESS`, and `DONE`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of statuses that match a search on name or project.\n\n**[Permissions](#permissions) required:**\n\n * *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)\n * *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Tasks", "description": "This resource represents a [long-running asynchronous tasks](#async-operations). Use it to obtain details about the progress of a long-running task or cancel a long-running task.", "item": [ { "name": "Get task", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/task/:taskId", "query": [], "variable": [ { "key": "taskId", "value": "{{taskId}}", "description": "The ID of the task.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the status of a [long-running asynchronous task](#async).\n\nWhen a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the operation that created the task for details. Task details are not permanently retained. As of September 2019, details are retained for 14 days although this period may change without notice.\n\n**Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.\n\n * `read:jira-work`\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Cancel task", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/task/:taskId/cancel", "query": [], "variable": [ { "key": "taskId", "value": "{{taskId}}", "description": "The ID of the task.", "disabled": false } ] }, "method": "POST", "header": [], "description": "Cancels a task.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Time tracking", "description": "This resource represents time tracking and time tracking providers. Use it to get and set the time tracking provider, get and set the time tracking options, and disable time tracking.", "item": [ { "name": "Get selected time tracking provider", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/configuration/timetracking", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a successful but empty response is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Select time tracking provider", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/configuration/timetracking", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Selects a time tracking provider.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"key\": \"Jira\"\n}" } }, "response": [] }, { "name": "Get all time tracking providers", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/configuration/timetracking/list", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all time tracking providers. By default, Jira only has one time tracking provider: *JIRA provided time tracking*. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more information on time tracking providers, see the documentation for the [ Time Tracking Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get time tracking settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/configuration/timetracking/options", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the time tracking settings. This includes settings such as the time format, default time unit, and others. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set time tracking settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/configuration/timetracking/options", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the time tracking settings.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultUnit\": \"hour\",\n \"timeFormat\": \"pretty\",\n \"workingDaysPerWeek\": 5.5,\n \"workingHoursPerDay\": 7.6\n}" } }, "response": [] } ] }, { "name": "Users", "description": "This resource represent users. Use it to:\n\n * get, get a list of, create, and delete users.\n * get, set, and reset a user's default issue table columns.\n * get a list of the groups the user belongs to.\n * get a list of user account IDs for a list of usernames or user keys.", "item": [ { "name": "Get user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` includes all groups and nested groups to which the user belongs.\n * `applicationRoles` includes details of all the applications to which the user has access." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a user.\n\nPrivacy controls are applied to the response based on the user's preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated.\n\nIf the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have access to Jira, the operation returns a 400 status.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"emailAddress\": \"mia@atlassian.com\"\n}" } }, "response": [] }, { "name": "Delete user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Deletes a user. If the operation completes successfully then the user is removed from Jira's user base. This operation does not delete the user's Atlassian account.\n\n**[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Bulk get users", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/bulk", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example, `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of the users specified by one or more account IDs.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get account IDs for users", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/bulk/migration", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "Username of a user. To specify multiple users, pass multiple copies of this parameter. For example, `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "Key of a user. To specify multiple users, pass multiple copies of this parameter. For example, `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get user default columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/columns", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user.\n * Permission to access Jira, to get the calling user's column details.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set user default columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/columns", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." } ], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID is not passed, the calling user's default columns are set. If no column details are sent, then all default columns are removed.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/user/columns?accountId=5b10ac8d82e05b22cc7d4ef5'`\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "formdata", "formdata": [ { "key": "columns", "disabled": true, "type": "text", "value": "{{columns}}" } ] } }, "response": [] }, { "name": "Reset user default columns", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/columns", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get user email", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/email", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get user email bulk", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/email/bulk", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be treated as an opaque identifier (that is, do not assume any structure in the value)." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get user groups", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/groups", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the groups to which a user belongs.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get all users default", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/users", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get all users", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/users/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "User properties", "description": "This resource represents [user](#api-group-Users) properties and provides for storing custom data against a user. Use it to get, create, and delete user properties as well as get a list of property keys for a user. This resourse is designed for integrations and apps to store per-user data and settings. This enables data used to customized the user experience to be kept in the Jira Cloud instance's database. User properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).\n\nThis resource does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.", "item": [ { "name": "Get user property keys", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/properties", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "userKey", "value": "{{userKey}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the keys of all properties for a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on any user.\n * Access to Jira, to access the calling user's property keys.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get user property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/properties/:propertyKey", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "userKey", "value": "{{userKey}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [ { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the user's property.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the value of a user's property. If no property key is provided [Get user property keys](#api-rest-api-2-user-properties-get) is called.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.\n * Access to Jira, to get a property from the calling user's record.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set user property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/properties/:propertyKey", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "userKey", "value": "{{userKey}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [ { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the user's property. The maximum length is 255 characters.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the value of a user's property. Use this resource to store custom data against a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.\n * Access to Jira, to set a property on the calling user's record.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete user property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/properties/:propertyKey", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." }, { "key": "userKey", "value": "{{userKey}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [ { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the user's property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a property from a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any user.\n * Access to Jira, to delete a property from the calling user's record.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "User search", "description": "This resource represents various ways to search for and find users. Use it to obtain list of users including users assignable to projects and issues, users with permissions, user lists for pickup fields, and user lists generated using structured queries. Note that the operations in this resource only return users found within the first 1000 users.", "item": [ { "name": "Find users assignable to projects", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/assignable/multiProjectSearch", "query": [ { "key": "query", "value": "{{query}}", "disabled": true, "description": "A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "A query string that is matched exactly against user `accountId`. Required, unless `query` is specified." }, { "key": "projectKeys", "value": "{{projectKeys}}", "disabled": false, "description": "A list of project keys (case sensitive). This parameter accepts a comma-separated list." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find users assignable to issues", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/assignable/search", "query": [ { "key": "query", "value": "{{query}}", "disabled": true, "description": "A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified." }, { "key": "sessionId", "value": "{{sessionId}}", "disabled": true, "description": "The sessionId of this request. SessionId is the same until the assignee is set." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "A query string that is matched exactly against user `accountId`. Required, unless `query` is specified." }, { "key": "project", "value": "{{project}}", "disabled": true, "description": "The project ID or project key (case sensitive). Required, unless `issueKey` is specified." }, { "key": "issueKey", "value": "{{issueKey}}", "disabled": true, "description": "The key of the issue. Required, unless `project` is specified." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return. This operation may return less than the maximum number of items even if more are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the users that can be assigned to the issue." }, { "key": "actionDescriptorId", "value": "{{actionDescriptorId}}", "disabled": true, "description": "The ID of the transition." }, { "key": "recommend", "value": "{{recommend}}", "disabled": true } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:\n\n * a new issue, by providing the `projectKeyOrId`.\n * an updated issue, by providing the `issueKey`.\n * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-2-issue-issueIdOrKey-get).\n\nIn all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Assign issues* [project permission](https://confluence.atlassian.com/x/yodKLg)", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find users with permissions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/permission/search", "query": [ { "key": "query", "value": "{{query}}", "disabled": true, "description": "A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "A query string that is matched exactly against user `accountId`. Required, unless `query` is specified." }, { "key": "permissions", "value": "{{permissions}}", "disabled": false, "description": "A comma separated list of permissions. Permissions can be specified as any:\n\n * permission returned by [Get all permissions](#api-rest-api-2-permissions-get).\n * custom project permission added by Connect apps.\n * (deprecated) one of the following:\n \n * ASSIGNABLE\\_USER\n * ASSIGN\\_ISSUE\n * ATTACHMENT\\_DELETE\\_ALL\n * ATTACHMENT\\_DELETE\\_OWN\n * BROWSE\n * CLOSE\\_ISSUE\n * COMMENT\\_DELETE\\_ALL\n * COMMENT\\_DELETE\\_OWN\n * COMMENT\\_EDIT\\_ALL\n * COMMENT\\_EDIT\\_OWN\n * COMMENT\\_ISSUE\n * CREATE\\_ATTACHMENT\n * CREATE\\_ISSUE\n * DELETE\\_ISSUE\n * EDIT\\_ISSUE\n * LINK\\_ISSUE\n * MANAGE\\_WATCHER\\_LIST\n * MODIFY\\_REPORTER\n * MOVE\\_ISSUE\n * PROJECT\\_ADMIN\n * RESOLVE\\_ISSUE\n * SCHEDULE\\_ISSUE\n * SET\\_ISSUE\\_SECURITY\n * TRANSITION\\_ISSUE\n * VIEW\\_VERSION\\_CONTROL\n * VIEW\\_VOTERS\\_AND\\_WATCHERS\n * VIEW\\_WORKFLOW\\_READONLY\n * WORKLOG\\_DELETE\\_ALL\n * WORKLOG\\_DELETE\\_OWN\n * WORKLOG\\_EDIT\\_ALL\n * WORKLOG\\_EDIT\\_OWN\n * WORK\\_ISSUE" }, { "key": "issueKey", "value": "{{issueKey}}", "disabled": true, "description": "The issue key for the issue." }, { "key": "projectKey", "value": "{{projectKey}}", "disabled": true, "description": "The project key for the project (case sensitive)." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have a set of permissions for a project or issue.\n\nIf no search string is provided, a list of all users with the permissions is returned.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find users for picker", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/picker", "query": [ { "key": "query", "value": "{{query}}", "disabled": false, "description": "A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return. The total number of matched users is returned in `total`." }, { "key": "showAvatar", "value": "{{showAvatar}}", "disabled": true, "description": "Include the URI to the user's avatar." }, { "key": "exclude", "value": "{{exclude}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "excludeAccountIds", "value": "{{excludeAccountIds}}", "disabled": true, "description": "A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`." }, { "key": "avatarSize", "value": "{{avatarSize}}", "disabled": true }, { "key": "excludeConnectUsers", "value": "{{excludeConnectUsers}}", "disabled": true } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of users whose attributes match the query term. The returned object includes the `html` field where the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude users from the results.\n\nThis operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns only the users from that range that match the query term. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the query term, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return search results for an exact name match only.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find users", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/search", "query": [ { "key": "query", "value": "{{query}}", "disabled": true, "description": "A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` or `property` is specified." }, { "key": "username", "value": "{{username}}", "disabled": true }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is specified." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of filtered results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "property", "value": "{{property}}", "disabled": true, "description": "A query string used to search properties. Property keys are specified by path, so property keys containing dot (.) or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of active users that match the search string and property.\n\nThis operation first applies a filter to match the search string and property, and then takes the filtered users in the range defined by `startAt` and `maxResults`, up to the thousandth user. To get all the users who match the search string and property, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users without the required permission return empty search results.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find users by query", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/search/query", "query": [ { "key": "query", "value": "{{query}}", "disabled": false, "description": "The search query." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Finds users with a structured query and returns a [paginated](#pagination) list of user details.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find user keys by query", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/search/query/key", "query": [ { "key": "query", "value": "{{query}}", "disabled": false, "description": "The search query." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResult", "value": "{{maxResult}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Finds users with a structured query and returns a [paginated](#pagination) list of user keys.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find users with browse permission", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/user/viewissue/search", "query": [ { "key": "query", "value": "{{query}}", "disabled": true, "description": "A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "A query string that is matched exactly against user `accountId`. Required, unless `query` is specified." }, { "key": "issueKey", "value": "{{issueKey}}", "disabled": true, "description": "The issue key for the issue. Required, unless `projectKey` is specified." }, { "key": "projectKey", "value": "{{projectKey}}", "disabled": true, "description": "The project key for the project (case sensitive). Required, unless `issueKey` is specified." }, { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have permission to browse issues.\n\nUse this resource to find users who can browse:\n\n * an issue, by providing the `issueKey`.\n * any issue in a project, by providing the `projectKey`.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nPrivacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Webhooks", "description": "This resource represents webhooks. Webhooks are calls sent to a URL when an event occurs in Jira for issues specified by a JQL query. Only Connect and OAuth 2.0 apps can register and manage webhooks. For more information, see [Webhooks](https://developer.atlassian.com/cloud/jira/platform/webhooks/#registering-a-webhook-via-the-jira-rest-api-for-connect-apps).", "item": [ { "name": "Get dynamic webhooks for app", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/webhook", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of the webhooks registered by the calling app.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Register dynamic webhooks", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/webhook", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Registers webhooks.\n\n**NOTE:** for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the user who registered a dynamic webhook.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"url\": \"https://your-app.example.com/webhook-received\",\n \"webhooks\": [\n {\n \"events\": [\n \"jira:issue_created\",\n \"jira:issue_updated\"\n ],\n \"fieldIdsFilter\": [\n \"summary\",\n \"customfield_10029\"\n ],\n \"jqlFilter\": \"project = PROJ\"\n },\n {\n \"events\": [\n \"jira:issue_deleted\"\n ],\n \"jqlFilter\": \"project IN (PROJ, EXP) AND status = done\"\n },\n {\n \"events\": [\n \"issue_property_set\"\n ],\n \"issuePropertyKeysFilter\": [\n \"my-issue-property-key\"\n ],\n \"jqlFilter\": \"project = PROJ\"\n }\n ]\n}" } }, "response": [] }, { "name": "Delete webhooks by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/webhook", "query": [], "variable": [] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"webhookIds\": [\n 10000,\n 10001,\n 10042\n ]\n}" } }, "response": [] }, { "name": "Get failed webhooks", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/webhook/failed", "query": [ { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page." }, { "key": "after", "value": "{{after}}", "disabled": true, "description": "The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.\n\nAfter 72 hours the failure may no longer be returned by this operation.\n\nThe oldest failure is returned first.\n\nThis method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Extend webhook life", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/webhook/refresh", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to keep them alive.\n\nUnrecognized webhook IDs (those that are not found or belong to other apps) are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"webhookIds\": [\n 10000,\n 10001,\n 10042\n ]\n}" } }, "response": [] } ] }, { "name": "Workflows", "description": "This resource represents workflows. Use it to:\n\n * Get workflows\n * Create workflows\n * Update workflows\n * Delete inactive workflows\n * Get workflow capabilities", "item": [ { "name": "Get all workflows", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow", "query": [ { "key": "workflowName", "value": "{{workflowName}}", "disabled": true, "description": "The name of the workflow to be returned. Only one workflow can be specified." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-2-workflow-search-get).\n\nIf the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no transitional rules are specified the default system transition rules are used. Note: This only applies to company-managed scoped workflows. Use [bulk create workflows](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-create-post) to create both team and company-managed scoped workflows.\n\n#### Conditions ####\n\nConditions enable workflow rules that govern whether a transition can execute.\n\n##### Always false condition #####\n\nA condition that always fails.\n\n {\n \"type\": \"AlwaysFalseCondition\"\n }\n\n##### Block transition until approval #####\n\nA condition that blocks issue transition if there is a pending approval.\n\n {\n \"type\": \"BlockInProgressApprovalCondition\"\n }\n\n##### Compare number custom field condition #####\n\nA condition that allows transition if a comparison between a number custom field and a value is true.\n\n {\n \"type\": \"CompareNumberCFCondition\",\n \"configuration\": {\n \"comparator\": \"=\",\n \"fieldId\": \"customfield_10029\",\n \"fieldValue\": 2\n }\n }\n\n * `comparator` One of the supported comparator: `=`, `>`, and `<`.\n * `fieldId` The custom numeric field ID. Allowed field types:\n \n * `com.atlassian.jira.plugin.system.customfieldtypes:float`\n * `com.pyxis.greenhopper.jira:jsw-story-points`\n * `fieldValue` The value for comparison.\n\n##### Hide from user condition #####\n\nA condition that hides a transition from users. The transition can only be triggered from a workflow function or REST API operation.\n\n {\n \"type\": \"RemoteOnlyCondition\"\n }\n\n##### Only assignee condition #####\n\nA condition that allows only the assignee to execute a transition.\n\n {\n \"type\": \"AllowOnlyAssignee\"\n }\n\n##### Only Bamboo notifications workflow condition (deprecated) #####\n\nA condition that makes the transition available only to Bamboo build notifications.\n\n {\n \"type\": \"OnlyBambooNotificationsCondition\"\n }\n\n##### Only reporter condition #####\n\nA condition that allows only the reporter to execute a transition.\n\n {\n \"type\": \"AllowOnlyReporter\"\n }\n\n##### Permission condition #####\n\nA condition that allows only users with a permission to execute a transition.\n\n {\n \"type\": \"PermissionCondition\",\n \"configuration\": {\n \"permissionKey\": \"BROWSE_PROJECTS\"\n }\n }\n\n * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n\n##### Previous status condition #####\n\nA condition that allows a transition based on whether an issue has or has not transitioned through a status.\n\n {\n \"type\": \"PreviousStatusCondition\",\n \"configuration\": {\n \"ignoreLoopTransitions\": true,\n \"includeCurrentStatus\": true,\n \"mostRecentStatusOnly\": true,\n \"reverseCondition\": true,\n \"previousStatus\": {\n \"id\": \"5\"\n }\n }\n }\n\nBy default this condition allows the transition if the status, as defined by its ID in the `previousStatus` object, matches any previous issue status, unless:\n\n * `ignoreLoopTransitions` is `true`, then loop transitions (from and to the same status) are ignored.\n * `includeCurrentStatus` is `true`, then the current issue status is also checked.\n * `mostRecentStatusOnly` is `true`, then only the issue's preceding status (the one immediately before the current status) is checked.\n * `reverseCondition` is `true`, then the status must not be present.\n\n##### Separation of duties condition #####\n\nA condition that prevents a user to perform the transition, if the user has already performed a transition on the issue.\n\n {\n \"type\": \"SeparationOfDutiesCondition\",\n \"configuration\": {\n \"fromStatus\": {\n \"id\": \"5\"\n },\n \"toStatus\": {\n \"id\": \"6\"\n }\n }\n }\n\n * `fromStatus` OPTIONAL. An object containing the ID of the source status of the transition that is blocked. If omitted any transition to `toStatus` is blocked.\n * `toStatus` An object containing the ID of the target status of the transition that is blocked.\n\n##### Subtask blocking condition #####\n\nA condition that blocks transition on a parent issue if any of its subtasks are in any of one or more statuses.\n\n {\n \"type\": \"SubTaskBlockingCondition\",\n \"configuration\": {\n \"statuses\": [\n {\n \"id\": \"1\"\n },\n {\n \"id\": \"3\"\n }\n ]\n }\n }\n\n * `statuses` A list of objects containing status IDs.\n\n##### User is in any group condition #####\n\nA condition that allows users belonging to any group from a list of groups to execute a transition.\n\n {\n \"type\": \"UserInAnyGroupCondition\",\n \"configuration\": {\n \"groups\": [\n \"administrators\",\n \"atlassian-addons-admin\"\n ]\n }\n }\n\n * `groups` A list of group names.\n\n##### User is in any project role condition #####\n\nA condition that allows only users with at least one project roles from a list of project roles to execute a transition.\n\n {\n \"type\": \"InAnyProjectRoleCondition\",\n \"configuration\": {\n \"projectRoles\": [\n {\n \"id\": \"10002\"\n },\n {\n \"id\": \"10003\"\n },\n {\n \"id\": \"10012\"\n },\n {\n \"id\": \"10013\"\n }\n ]\n }\n }\n\n * `projectRoles` A list of objects containing project role IDs.\n\n##### User is in custom field condition #####\n\nA condition that allows only users listed in a given custom field to execute the transition.\n\n {\n \"type\": \"UserIsInCustomFieldCondition\",\n \"configuration\": {\n \"allowUserInField\": false,\n \"fieldId\": \"customfield_10010\"\n }\n }\n\n * `allowUserInField` If `true` only a user who is listed in `fieldId` can perform the transition, otherwise, only a user who is not listed in `fieldId` can perform the transition.\n * `fieldId` The ID of the field containing the list of users.\n\n##### User is in group condition #####\n\nA condition that allows users belonging to a group to execute a transition.\n\n {\n \"type\": \"UserInGroupCondition\",\n \"configuration\": {\n \"group\": \"administrators\"\n }\n }\n\n * `group` The name of the group.\n\n##### User is in group custom field condition #####\n\nA condition that allows users belonging to a group specified in a custom field to execute a transition.\n\n {\n \"type\": \"InGroupCFCondition\",\n \"configuration\": {\n \"fieldId\": \"customfield_10012\"\n }\n }\n\n * `fieldId` The ID of the field. Allowed field types:\n \n * `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`\n * `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`\n * `com.atlassian.jira.plugin.system.customfieldtypes:select`\n * `com.atlassian.jira.plugin.system.customfieldtypes:multiselect`\n * `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`\n * `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`\n * `com.pyxis.greenhopper.jira:gh-epic-status`\n\n##### User is in project role condition #####\n\nA condition that allows users with a project role to execute a transition.\n\n {\n \"type\": \"InProjectRoleCondition\",\n \"configuration\": {\n \"projectRole\": {\n \"id\": \"10002\"\n }\n }\n }\n\n * `projectRole` An object containing the ID of a project role.\n\n##### Value field condition #####\n\nA conditions that allows a transition to execute if the value of a field is equal to a constant value or simply set.\n\n {\n \"type\": \"ValueFieldCondition\",\n \"configuration\": {\n \"fieldId\": \"assignee\",\n \"fieldValue\": \"qm:6e1ecee6-8e64-4db6-8c85-916bb3275f51:54b56885-2bd2-4381-8239-78263442520f\",\n \"comparisonType\": \"NUMBER\",\n \"comparator\": \"=\"\n }\n }\n\n * `fieldId` The ID of a field used in the comparison.\n * `fieldValue` The expected value of the field.\n * `comparisonType` The type of the comparison. Allowed values: `STRING`, `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, or `OPTIONID`.\n * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, `!=`.\n\n**Notes:**\n\n * If you choose the comparison type `STRING`, only `=` and `!=` are valid options.\n * You may leave `fieldValue` empty when comparison type is `!=` to indicate that a value is required in the field.\n * For date fields without time format values as `yyyy-MM-dd`, and for those with time as `yyyy-MM-dd HH:mm`. For example, for July 16 2021 use `2021-07-16`, for 8:05 AM use `2021-07-16 08:05`, and for 4 PM: `2021-07-16 16:00`.\n\n#### Validators ####\n\nValidators check that any input made to the transition is valid before the transition is performed.\n\n##### Date field validator #####\n\nA validator that compares two dates.\n\n {\n \"type\": \"DateFieldValidator\",\n \"configuration\": {\n \"comparator\": \">\",\n \"date1\": \"updated\",\n \"date2\": \"created\",\n \"expression\": \"1d\",\n \"includeTime\": true\n }\n }\n\n * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, or `!=`.\n * `date1` The date field to validate. Allowed field types:\n \n * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`\n * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`\n * `com.atlassian.jpo:jpo-custom-field-baseline-end`\n * `com.atlassian.jpo:jpo-custom-field-baseline-start`\n * `duedate`\n * `created`\n * `updated`\n * `resolutiondate`\n * `date2` The second date field. Required, if `expression` is not passed. Allowed field types:\n \n * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`\n * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`\n * `com.atlassian.jpo:jpo-custom-field-baseline-end`\n * `com.atlassian.jpo:jpo-custom-field-baseline-start`\n * `duedate`\n * `created`\n * `updated`\n * `resolutiondate`\n * `expression` An expression specifying an offset. Required, if `date2` is not passed. Offsets are built with a number, with `-` as prefix for the past, and one of these time units: `d` for day, `w` for week, `m` for month, or `y` for year. For example, -2d means two days into the past and 1w means one week into the future. The `now` keyword enables a comparison with the current date.\n * `includeTime` If `true`, then the time part of the data is included for the comparison. If the field doesn't have a time part, 00:00:00 is used.\n\n##### Windows date validator #####\n\nA validator that checks that a date falls on or after a reference date and before or on the reference date plus a number of days.\n\n {\n \"type\": \"WindowsDateValidator\",\n \"configuration\": {\n \"date1\": \"customfield_10009\",\n \"date2\": \"created\",\n \"windowsDays\": 5\n }\n }\n\n * `date1` The date field to validate. Allowed field types:\n \n * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`\n * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`\n * `com.atlassian.jpo:jpo-custom-field-baseline-end`\n * `com.atlassian.jpo:jpo-custom-field-baseline-start`\n * `duedate`\n * `created`\n * `updated`\n * `resolutiondate`\n * `date2` The reference date. Allowed field types:\n \n * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`\n * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`\n * `com.atlassian.jpo:jpo-custom-field-baseline-end`\n * `com.atlassian.jpo:jpo-custom-field-baseline-start`\n * `duedate`\n * `created`\n * `updated`\n * `resolutiondate`\n * `windowsDays` A positive integer indicating a number of days.\n\n##### Field required validator #####\n\nA validator that checks fields are not empty. By default, if a field is not included in the current context it's ignored and not validated.\n\n {\n \"type\": \"FieldRequiredValidator\",\n \"configuration\": {\n \"ignoreContext\": true,\n \"errorMessage\": \"Hey\",\n \"fieldIds\": [\n \"versions\",\n \"customfield_10037\",\n \"customfield_10003\"\n ]\n }\n }\n\n * `ignoreContext` If `true`, then the context is ignored and all the fields are validated.\n * `errorMessage` OPTIONAL. The error message displayed when one or more fields are empty. A default error message is shown if an error message is not provided.\n * `fieldIds` The list of fields to validate.\n\n##### Field changed validator #####\n\nA validator that checks that a field value is changed. However, this validation can be ignored for users from a list of groups.\n\n {\n \"type\": \"FieldChangedValidator\",\n \"configuration\": {\n \"fieldId\": \"comment\",\n \"errorMessage\": \"Hey\",\n \"exemptedGroups\": [\n \"administrators\",\n \"atlassian-addons-admin\"\n ]\n }\n }\n\n * `fieldId` The ID of a field.\n * `errorMessage` OPTIONAL. The error message displayed if the field is not changed. A default error message is shown if the error message is not provided.\n * `exemptedGroups` OPTIONAL. The list of groups.\n\n##### Field has single value validator #####\n\nA validator that checks that a multi-select field has only one value. Optionally, the validation can ignore values copied from subtasks.\n\n {\n \"type\": \"FieldHasSingleValueValidator\",\n \"configuration\": {\n \"fieldId\": \"attachment,\n \"excludeSubtasks\": true\n }\n }\n\n * `fieldId` The ID of a field.\n * `excludeSubtasks` If `true`, then values copied from subtasks are ignored.\n\n##### Parent status validator #####\n\nA validator that checks the status of the parent issue of a subtask. ÃŒf the issue is not a subtask, no validation is performed.\n\n {\n \"type\": \"ParentStatusValidator\",\n \"configuration\": {\n \"parentStatuses\": [\n {\n \"id\":\"1\"\n },\n {\n \"id\":\"2\"\n }\n ]\n }\n }\n\n * `parentStatus` The list of required parent issue statuses.\n\n##### Permission validator #####\n\nA validator that checks the user has a permission.\n\n {\n \"type\": \"PermissionValidator\",\n \"configuration\": {\n \"permissionKey\": \"ADMINISTER_PROJECTS\"\n }\n }\n\n * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n\n##### Previous status validator #####\n\nA validator that checks if the issue has held a status.\n\n {\n \"type\": \"PreviousStatusValidator\",\n \"configuration\": {\n \"mostRecentStatusOnly\": false,\n \"previousStatus\": {\n \"id\": \"15\"\n }\n }\n }\n\n * `mostRecentStatusOnly` If `true`, then only the issue's preceding status (the one immediately before the current status) is checked.\n * `previousStatus` An object containing the ID of an issue status.\n\n##### Regular expression validator #####\n\nA validator that checks the content of a field against a regular expression.\n\n {\n \"type\": \"RegexpFieldValidator\",\n \"configuration\": {\n \"regExp\": \"[0-9]\",\n \"fieldId\": \"customfield_10029\"\n }\n }\n\n * `regExp`A regular expression.\n * `fieldId` The ID of a field. Allowed field types:\n \n * `com.atlassian.jira.plugin.system.customfieldtypes:select`\n * `com.atlassian.jira.plugin.system.customfieldtypes:multiselect`\n * `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`\n * `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`\n * `com.atlassian.jira.plugin.system.customfieldtypes:textarea`\n * `com.atlassian.jira.plugin.system.customfieldtypes:textfield`\n * `com.atlassian.jira.plugin.system.customfieldtypes:url`\n * `com.atlassian.jira.plugin.system.customfieldtypes:float`\n * `com.pyxis.greenhopper.jira:jsw-story-points`\n * `com.pyxis.greenhopper.jira:gh-epic-status`\n * `description`\n * `summary`\n\n##### User permission validator #####\n\nA validator that checks if a user has a permission. Obsolete. You may encounter this validator when getting transition rules and can pass it when updating or creating rules, for example, when you want to duplicate the rules from a workflow on a new workflow.\n\n {\n \"type\": \"UserPermissionValidator\",\n \"configuration\": {\n \"permissionKey\": \"BROWSE_PROJECTS\",\n \"nullAllowed\": false,\n \"username\": \"TestUser\"\n }\n }\n\n * `permissionKey` The permission to be validated. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n * `nullAllowed` If `true`, allows the transition when `username` is empty.\n * `username` The username to validate against the `permissionKey`.\n\n#### Post functions ####\n\nPost functions carry out any additional processing required after a Jira workflow transition is executed.\n\n##### Fire issue event function #####\n\nA post function that fires an event that is processed by the listeners.\n\n {\n \"type\": \"FireIssueEventFunction\",\n \"configuration\": {\n \"event\": {\n \"id\":\"1\"\n }\n }\n }\n\n**Note:** If provided, this post function overrides the default `FireIssueEventFunction`. Can be included once in a transition.\n\n * `event` An object containing the ID of the issue event.\n\n##### Update issue status #####\n\nA post function that sets issue status to the linked status of the destination workflow status.\n\n {\n \"type\": \"UpdateIssueStatusFunction\"\n }\n\n**Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.\n\n##### Create comment #####\n\nA post function that adds a comment entered during the transition to an issue.\n\n {\n \"type\": \"CreateCommentFunction\"\n }\n\n**Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.\n\n##### Store issue #####\n\nA post function that stores updates to an issue.\n\n {\n \"type\": \"IssueStoreFunction\"\n }\n\n**Note:** This post function can only be added to the initial transition and can only be added once.\n\n##### Assign to current user function #####\n\nA post function that assigns the issue to the current user if the current user has the `ASSIGNABLE_USER` permission.\n\n {\n \"type\": \"AssignToCurrentUserFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Assign to lead function #####\n\nA post function that assigns the issue to the project or component lead developer.\n\n {\n \"type\": \"AssignToLeadFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Assign to reporter function #####\n\nA post function that assigns the issue to the reporter.\n\n {\n \"type\": \"AssignToReporterFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Clear field value function #####\n\nA post function that clears the value from a field.\n\n {\n \"type\": \"ClearFieldValuePostFunction\",\n \"configuration\": {\n \"fieldId\": \"assignee\"\n }\n }\n\n * `fieldId` The ID of the field.\n\n##### Copy value from other field function #####\n\nA post function that copies the value of one field to another, either within an issue or from parent to subtask.\n\n {\n \"type\": \"CopyValueFromOtherFieldPostFunction\",\n \"configuration\": {\n \"sourceFieldId\": \"assignee\",\n \"destinationFieldId\": \"creator\",\n \"copyType\": \"same\"\n }\n }\n\n * `sourceFieldId` The ID of the source field.\n * `destinationFieldId` The ID of the destination field.\n * `copyType` Use `same` to copy the value from a field inside the issue, or `parent` to copy the value from the parent issue.\n\n##### Create Crucible review workflow function (deprecated) #####\n\nA post function that creates a Crucible review for all unreviewed code for the issue.\n\n {\n \"type\": \"CreateCrucibleReviewWorkflowFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Set issue security level based on user's project role function #####\n\nA post function that sets the issue's security level if the current user has a project role.\n\n {\n \"type\": \"SetIssueSecurityFromRoleFunction\",\n \"configuration\": {\n \"projectRole\": {\n \"id\":\"10002\"\n },\n \"issueSecurityLevel\": {\n \"id\":\"10000\"\n }\n }\n }\n\n * `projectRole` An object containing the ID of the project role.\n * `issueSecurityLevel` OPTIONAL. The object containing the ID of the security level. If not passed, then the security level is set to `none`.\n\n##### Trigger a webhook function #####\n\nA post function that triggers a webhook.\n\n {\n \"type\": \"TriggerWebhookFunction\",\n \"configuration\": {\n \"webhook\": {\n \"id\": \"1\"\n }\n }\n }\n\n * `webhook` An object containing the ID of the webhook listener to trigger.\n\n##### Update issue custom field function #####\n\nA post function that updates the content of an issue custom field.\n\n {\n \"type\": \"UpdateIssueCustomFieldPostFunction\",\n \"configuration\": {\n \"mode\": \"append\",\n \"fieldId\": \"customfield_10003\",\n \"fieldValue\": \"yikes\"\n }\n }\n\n * `mode` Use `replace` to override the field content with `fieldValue` or `append` to add `fieldValue` to the end of the field content.\n * `fieldId` The ID of the field.\n * `fieldValue` The update content.\n\n##### Update issue field function #####\n\nA post function that updates a simple issue field.\n\n {\n \"type\": \"UpdateIssueFieldFunction\",\n \"configuration\": {\n \"fieldId\": \"assignee\",\n \"fieldValue\": \"5f0c277e70b8a90025a00776\"\n }\n }\n\n * `fieldId` The ID of the field. Allowed field types:\n \n * `assignee`\n * `description`\n * `environment`\n * `priority`\n * `resolution`\n * `summary`\n * `timeoriginalestimate`\n * `timeestimate`\n * `timespent`\n * `fieldValue` The update value.\n * If the `fieldId` is `assignee`, the `fieldValue` should be one of these values:\n \n * an account ID.\n * `automatic`.\n * a blank string, which sets the value to `unassigned`.\n\n#### Connect rules ####\n\nConnect rules are conditions, validators, and post functions of a transition that are registered by Connect apps. To create a rule registered by the app, the app must be enabled and the rule's module must exist.\n\n {\n \"type\": \"appKey__moduleKey\",\n \"configuration\": {\n \"value\":\"{\\\"isValid\\\":\\\"true\\\"}\"\n }\n }\n\n * `type` A Connect rule key in a form of `appKey__moduleKey`.\n * `value` The stringified JSON configuration of a Connect rule.\n\n#### Forge rules ####\n\nForge transition rules are not yet supported.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"description\": \"This is a workflow used for Stories and Tasks\",\n \"name\": \"Workflow 1\",\n \"statuses\": [\n {\n \"id\": \"1\",\n \"properties\": {\n \"jira.issue.editable\": \"false\"\n }\n },\n {\n \"id\": \"2\"\n },\n {\n \"id\": \"3\"\n }\n ],\n \"transitions\": [\n {\n \"from\": [],\n \"name\": \"Created\",\n \"to\": \"1\",\n \"type\": \"initial\"\n },\n {\n \"from\": [\n \"1\"\n ],\n \"name\": \"In progress\",\n \"properties\": {\n \"custom-property\": \"custom-value\"\n },\n \"rules\": {\n \"conditions\": {\n \"conditions\": [\n {\n \"type\": \"RemoteOnlyCondition\"\n },\n {\n \"configuration\": {\n \"groups\": [\n \"developers\",\n \"qa-testers\"\n ]\n },\n \"type\": \"UserInAnyGroupCondition\"\n }\n ],\n \"operator\": \"AND\"\n },\n \"postFunctions\": [\n {\n \"type\": \"AssignToCurrentUserFunction\"\n }\n ]\n },\n \"screen\": {\n \"id\": \"10001\"\n },\n \"to\": \"2\",\n \"type\": \"directed\"\n },\n {\n \"name\": \"Completed\",\n \"rules\": {\n \"postFunctions\": [\n {\n \"configuration\": {\n \"fieldId\": \"assignee\"\n },\n \"type\": \"ClearFieldValuePostFunction\"\n }\n ],\n \"validators\": [\n {\n \"configuration\": {\n \"parentStatuses\": [\n {\n \"id\": \"3\"\n }\n ]\n },\n \"type\": \"ParentStatusValidator\"\n },\n {\n \"configuration\": {\n \"permissionKey\": \"ADMINISTER_PROJECTS\"\n },\n \"type\": \"PermissionValidator\"\n }\n ]\n },\n \"to\": \"3\",\n \"type\": \"global\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get workflows paginated", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/search", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "workflowName", "value": "{{workflowName}}", "disabled": true, "description": "The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example, `workflowName=name1&workflowName=name2`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `transitions` For each workflow, returns information about the transitions inside the workflow.\n * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested.\n * `transitions.properties` For each workflow transition, returns information about its properties. Transitions are included automatically if this expand is requested.\n * `statuses` For each workflow, returns information about the statuses inside the workflow.\n * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested.\n * `default` For each workflow, returns information about whether this is the default workflow.\n * `schemes` For each workflow, returns information about the workflow schemes the workflow is assigned to.\n * `projects` For each workflow, returns information about the projects the workflow is assigned to, through workflow schemes.\n * `hasDraftWorkflow` For each workflow, returns information about whether the workflow has a draft version.\n * `operations` For each workflow, returns information about the actions that can be undertaken on the workflow." }, { "key": "queryString", "value": "{{queryString}}", "disabled": true, "description": "String used to perform a case-insensitive partial match with workflow name." }, { "key": "orderBy", "value": "{{orderBy}}", "disabled": true, "description": "[Order](#ordering) the results by a field:\n\n * `name` Sorts by workflow name.\n * `created` Sorts by create time.\n * `updated` Sorts by update time." }, { "key": "isActive", "value": "{{isActive}}", "disabled": true, "description": "Filters active and inactive workflows." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned.\n\nThis operation does not return next-gen workflows.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete inactive workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/:entityId", "query": [], "variable": [ { "key": "entityId", "value": "{{entityId}}", "description": "The entity ID of the workflow.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a workflow.\n\nThe workflow cannot be deleted if it is:\n\n * an active workflow.\n * a system workflow.\n * associated with any workflow scheme.\n * associated with any draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Bulk get workflows", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflows", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `workflows.usages` Returns the project and issue types that each workflow is associated with.\n * `statuses.usages` Returns the project and issue types that each status is associated with." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue types.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* global permission to access all, including project-scoped, workflows\n * At least one of the *Administer projects* and *View (read-only) workflow* project permissions to access project-scoped workflows", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"projectAndIssueTypes\": [],\n \"workflowIds\": [],\n \"workflowNames\": [\n \"Workflow 1\",\n \"Workflow 2\"\n ]\n}" } }, "response": [] }, { "name": "Get available workflow capabilities", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflows/capabilities", "query": [ { "key": "workflowId", "value": "{{workflowId}}", "disabled": true }, { "key": "projectId", "value": "{{projectId}}", "disabled": true }, { "key": "issueTypeId", "value": "{{issueTypeId}}", "disabled": true } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the list of workflow capabilities for a specific workflow using either the workflow ID, or the project and issue type ID pair. The response includes the scope of the workflow, defined as global/project-based, and a list of project types that the workflow is scoped to. It also includes all rules organised into their broad categories (conditions, validators, actions, triggers, screens) as well as the source location (Atlassian-provided, Connect, Forge).\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* project permission to access all, including global-scoped, workflows\n * *Administer projects* project permissions to access project-scoped workflows\n\nThe current list of Atlassian-provided rules:\n\n#### Validators ####\n\nA validator rule that checks if a user has the required permissions to execute the transition in the workflow.\n\n##### Permission validator #####\n\nA validator rule that checks if a user has the required permissions to execute the transition in the workflow.\n\n {\n \"ruleKey\": \"system:check-permission-validator\",\n \"parameters\": {\n \"permissionKey\": \"ADMINISTER_PROJECTS\"\n }\n }\n\nParameters:\n\n * `permissionKey` The permission required to perform the transition. Allowed values: [built-in Jira permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions).\n\n##### Parent or child blocking validator #####\n\nA validator to block the child issue\\\\u2019s transition depending on the parent issue\\\\u2019s status.\n\n {\n \"ruleKey\" : \"system:parent-or-child-blocking-validator\"\n \"parameters\" : {\n \"blocker\" : \"PARENT\"\n \"statusIds\" : \"1,2,3\"\n }\n }\n\nParameters:\n\n * `blocker` currently only supports `PARENT`.\n * `statusIds` a comma-separated list of status IDs.\n\n##### Previous status validator #####\n\nA validator that checks if an issue has transitioned through specified previous status(es) before allowing the current transition to occur.\n\n {\n \"ruleKey\": \"system:previous-status-validator\",\n \"parameters\": {\n \"previousStatusIds\": \"10014\",\n \"mostRecentStatusOnly\": \"true\"\n }\n }\n\nParameters:\n\n * `previousStatusIds` a comma-separated list of status IDs, currently only support one ID.\n * `mostRecentStatusOnly` when `true` only considers the most recent status for the condition evaluation. Allowed values: `true`, `false`.\n\n##### Validate a field value #####\n\nA validation that ensures a specific field's value meets the defined criteria before allowing an issue to transition in the workflow.\n\nDepending on the rule type, the result will vary:\n\n###### Field required ######\n\n {\n \"ruleKey\": \"system:validate-field-value\",\n \"parameters\": {\n \"ruleType\": \"fieldRequired\",\n \"fieldsRequired\": \"assignee\",\n \"ignoreContext\": \"true\",\n \"errorMessage\": \"An assignee must be set!\"\n }\n }\n\nParameters:\n\n * `fieldsRequired` the ID of the field that is required. For a custom field, it would look like `customfield_123`.\n * `ignoreContext` controls the impact of context settings on field validation. When set to `true`, the validator doesn't check a required field if its context isn't configured for the current issue. When set to `false`, the validator requires a field even if its context is invalid. Allowed values: `true`, `false`.\n * `errorMessage` is the error message to display if the user does not provide a value during the transition. A default error message will be shown if you don't provide one (Optional).\n\n###### Field changed ######\n\n {\n \"ruleKey\": \"system:validate-field-value\",\n \"parameters\": {\n \"ruleType\": \"fieldChanged\",\n \"groupsExemptFromValidation\": \"6862ac20-8672-4f68-896d-4854f5efb79e\",\n \"fieldKey\": \"versions\",\n \"errorMessage\": \"Affect versions must be modified before transition\"\n }\n }\n\nParameters:\n\n * `groupsExemptFromValidation` a comma-separated list of group IDs to be exempt from the validation.\n * `fieldKey` the ID of the field that has changed. For a custom field, it would look like `customfield_123`.\n * `errorMessage` the error message to display if the user does not provide a value during the transition. A default error message will be shown if you don't provide one (Optional).\n\n###### Field has a single value ######\n\n {\n \"ruleKey\": \"system:validate-field-value\",\n \"parameters\": {\n \"ruleType\": \"fieldHasSingleValue\",\n \"fieldKey\": \"created\",\n \"excludeSubtasks\": \"true\"\n }\n }\n\nParameters:\n\n * `fieldKey` the ID of the field to validate. For a custom field, it would look like `customfield_123`.\n * `excludeSubtasks` Option to exclude values copied from sub-tasks. Allowed values: `true`, `false`.\n\n###### Field matches regular expression ######\n\n {\n \"ruleKey\": \"system:validate-field-value\",\n \"parameters\": {\n \"ruleType\": \"fieldMatchesRegularExpression\",\n \"regexp\": \"[0-9]{4}\",\n \"fieldKey\": \"description\"\n }\n }\n\nParameters:\n\n * `regexp` the regular expression used to validate the field\\\\u2019s content.\n * `fieldKey` the ID of the field to validate. For a custom field, it would look like `customfield_123`.\n\n###### Date field comparison ######\n\n {\n \"ruleKey\": \"system:validate-field-value\",\n \"parameters\": {\n \"ruleType\": \"dateFieldComparison\",\n \"date1FieldKey\": \"duedate\",\n \"date2FieldKey\": \"customfield_10054\",\n \"includeTime\": \"true\",\n \"conditionSelected\": \">=\"\n }\n }\n\nParameters:\n\n * `date1FieldKey` the ID of the first field to compare. For a custom field, it would look like `customfield_123`.\n * `date2FieldKey` the ID of the second field to compare. For a custom field, it would look like `customfield_123`.\n * `includeTime` if `true`, compares both date and time. Allowed values: `true`, `false`.\n * `conditionSelected` the condition to compare with. Allowed values: `>`, `>=`, `=`, `<=`, `<`, `!=`.\n\n###### Date range comparison ######\n\n {\n \"ruleKey\": \"system:validate-field-value\",\n \"parameters\": {\n \"ruleType\": \"windowDateComparison\",\n \"date1FieldKey\": \"customfield_10009\",\n \"date2FieldKey\": \"customfield_10054\",\n \"numberOfDays\": \"3\"\n }\n }\n\nParameters:\n\n * `date1FieldKey` the ID of the first field to compare. For a custom field, it would look like `customfield_123`.\n * `date2FieldKey` the ID of the second field to compare. For a custom field, it would look like `customfield_123`.\n * `numberOfDays` maximum number of days past the reference date (`date2FieldKey`) to pass validation.\n\nThis rule is composed by aggregating the following legacy rules:\n\n * FieldRequiredValidator\n * FieldChangedValidator\n * FieldHasSingleValueValidator\n * RegexpFieldValidator\n * DateFieldValidator\n * WindowsDateValidator\n\n##### Proforma: Forms attached validator #####\n\nValidates that one or more forms are attached to the issue.\n\n {\n \"ruleKey\" : \"system:proforma-forms-attached\"\n \"parameters\" : {}\n }\n\n##### Proforma: Forms submitted validator #####\n\nValidates that all forms attached to the issue have been submitted.\n\n {\n \"ruleKey\" : \"system:proforma-forms-submitted\"\n \"parameters\" : {}\n }\n\n#### Conditions ####\n\nConditions enable workflow rules that govern whether a transition can execute.\n\n##### Check field value #####\n\nA condition rule evaluates as true if a specific field's value meets the defined criteria. This rule ensures that an issue can only transition to the next step in the workflow if the field's value matches the desired condition.\n\n {\n \"ruleKey\": \"system:check-field-value\",\n \"parameters\": {\n \"fieldId\": \"description\",\n \"fieldValue\": \"[\\\"Done\\\"]\",\n \"comparator\": \"=\",\n \"comparisonType\": \"STRING\"\n }\n }\n\nParameters:\n\n * `fieldId` The ID of the field to check the value of. For non-system fields, it will look like `customfield_123`. Note: `fieldId` is used interchangeably with the idea of `fieldKey` here, they refer to the same field.\n * `fieldValue` the list of values to check against the field\\\\u2019s value.\n * `comparator` The comparison logic. Allowed values: `>`, `>=`, `=`, `<=`, `<`, `!=`.\n * `comparisonType` The type of data being compared. Allowed values: `STRING`, `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, `OPTIONID`.\n\n##### Restrict issue transition #####\n\nThis rule ensures that issue transitions are restricted based on user accounts, roles, group memberships, and permissions, maintaining control over who can transition an issue. This condition evaluates as `true` if any of the following criteria is met.\n\n {\n \"ruleKey\": \"system:restrict-issue-transition\",\n \"parameters\": {\n \"accountIds\": \"allow-reporter,5e68ac137d64450d01a77fa0\",\n \"roleIds\": \"10002,10004\",\n \"groupIds\": \"703ff44a-7dc8-4f4b-9aa6-a65bf3574fa4\",\n \"permissionKeys\": \"ADMINISTER_PROJECTS\",\n \"groupCustomFields\": \"customfield_10028\",\n \"allowUserCustomFields\": \"customfield_10072,customfield_10144,customfield_10007\",\n \"denyUserCustomFields\": \"customfield_10107\"\n }\n }\n\nParameters:\n\n * `accountIds` a comma-separated list of the user account IDs. It also allows generic values like: `allow-assignee`, `allow-reporter`, and `accountIds` Note: This is only supported in team-managed projects\n * `roleIds` a comma-separated list of role IDs.\n * `groupIds` a comma-separated list of group IDs.\n * `permissionKeys` a comma-separated list of permission keys. Allowed values: [built-in Jira permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions).\n * `groupCustomFields` a comma-separated list of group custom field IDs.\n * `allowUserCustomFields` a comma-separated list of user custom field IDs to allow for issue transition.\n * `denyUserCustomFields` a comma-separated list of user custom field IDs to deny for issue transition.\n\nThis rule is composed by aggregating the following legacy rules:\n\n * AllowOnlyAssignee\n * AllowOnlyReporter\n * InAnyProjectRoleCondition\n * InProjectRoleCondition\n * UserInAnyGroupCondition\n * UserInGroupCondition\n * PermissionCondtion\n * InGroupCFCondition\n * UserIsInCustomFieldCondition\n\n##### Previous status condition #####\n\nA condition that evaluates based on an issue's previous status(es) and specific criteria.\n\n {\n \"ruleKey\" : \"system:previous-status-condition\"\n \"parameters\" : {\n \"previousStatusIds\" : \"10004\",\n \"not\": \"true\",\n \"mostRecentStatusOnly\" : \"true\",\n \"includeCurrentStatus\": \"true\",\n \"ignoreLoopTransitions\": \"true\"\n }\n }\n\nParameters:\n\n * `previousStatusIds` a comma-separated list of status IDs, current only support one ID.\n * `not` indicates if the condition should be reversed. When `true` it checks that the issue has not been in the selected statuses. Allowed values: `true`, `false`.\n * `mostRecentStatusOnly` when true only considers the most recent status for the condition evaluation. Allowed values: `true`, `false`.\n * `includeCurrentStatus` includes the current status when evaluating if the issue has been through the selected statuses. Allowed values: `true`, `false`.\n * `ignoreLoopTransitions` ignore loop transitions. Allowed values: `true`, `false`.\n\n##### Parent or child blocking condition #####\n\nA condition to block the parent\\\\u2019s issue transition depending on the child\\\\u2019s issue status.\n\n {\n \"ruleKey\" : \"system:parent-or-child-blocking-condition\"\n \"parameters\" : {\n \"blocker\" : \"CHILD\",\n \"statusIds\" : \"1,2,3\"\n }\n }\n\nParameters:\n\n * `blocker` currently only supports `CHILD`.\n * `statusIds` a comma-separated list of status IDs.\n\n##### Separation of duties #####\n\nA condition preventing the user from performing, if the user has already performed a transition on the issue.\n\n {\n \"ruleKey\": \"system:separation-of-duties\",\n \"parameters\": {\n \"fromStatusId\": \"10161\",\n \"toStatusId\": \"10160\"\n }\n }\n\nParameters:\n\n * `fromStatusId` represents the status ID from which the issue is transitioning. It ensures that the user performing the current transition has not performed any actions when the issue was in the specified status.\n * `toStatusId` represents the status ID to which the issue is transitioning. It ensures that the user performing the current transition is not the same user who has previously transitioned the issue.\n\n##### Restrict transitions #####\n\nA condition preventing all users from transitioning the issue can also optionally include APIs as well.\n\n {\n \"ruleKey\": \"system:restrict-from-all-users\",\n \"parameters\": {\n \"restrictMode\": \"users\"\n }\n }\n\nParameters:\n\n * `restrictMode` restricts the issue transition including/excluding APIs. Allowed values: `\"users\"`, `\"usersAndAPI\"`.\n\n##### Jira Service Management block until approved #####\n\nBlock an issue transition until approval. Note: This is only supported in team-managed projects.\n\n {\n \"ruleKey\": \"system:jsd-approvals-block-until-approved\",\n \"parameters\": {\n \"approvalConfigurationJson\": \"{\"statusExternalUuid...}\"\n }\n }\n\nParameters:\n\n * `approvalConfigurationJson` a stringified JSON holding the Jira Service Management approval configuration.\n\n##### Jira Service Management block until rejected #####\n\nBlock an issue transition until rejected. Note: This is only supported in team-managed projects.\n\n {\n \"ruleKey\": \"system:jsd-approvals-block-until-rejected\",\n \"parameters\": {\n \"approvalConfigurationJson\": \"{\"statusExternalUuid...}\"\n }\n }\n\nParameters:\n\n * `approvalConfigurationJson` a stringified JSON holding the Jira Service Management approval configuration.\n\n##### Block in progress approval #####\n\nCondition to block issue transition if there is pending approval. Note: This is only supported in company-managed projects.\n\n {\n \"ruleKey\": \"system:block-in-progress-approval\",\n \"parameters\": {}\n }\n\n#### Post functions ####\n\nPost functions carry out any additional processing required after a workflow transition is executed.\n\n##### Change assignee #####\n\nA post function rule that changes the assignee of an issue after a transition.\n\n {\n \"ruleKey\": \"system:change-assignee\",\n \"parameters\": {\n \"type\": \"to-selected-user\",\n \"accountId\": \"example-account-id\"\n }\n }\n\nParameters:\n\n * `type` the parameter used to determine the new assignee. Allowed values: `to-selected-user`, `to-unassigned`, `to-current-user`, `to-current-user`, `to-default-user`, `to-default-user`\n * `accountId` the account ID of the user to assign the issue to. This parameter is required only when the type is `\"to-selected-user\"`.\n\n##### Copy field value #####\n\nA post function that automates the process of copying values between fields during a specific transition, ensuring data consistency and reducing manual effort.\n\n {\n \"ruleKey\": \"system:copy-value-from-other-field\",\n \"parameters\": {\n \"sourceFieldKey\": \"description\",\n \"targetFieldKey\": \"components\",\n \"issueSource\": \"SAME\"\n }\n }\n\nParameters:\n\n * `sourceFieldKey` the field key to copy from. For a custom field, it would look like `customfield_123`\n * `targetFieldKey` the field key to copy to. For a custom field, it would look like `customfield_123`\n * `issueSource` `SAME` or `PARENT`. Defaults to `SAME` if no value is provided.\n\n##### Update field #####\n\nA post function that updates or appends a specific field with the given value.\n\n {\n \"ruleKey\": \"system:update-field\",\n \"parameters\": {\n \"field\": \"customfield_10056\",\n \"value\": \"asdf\",\n \"mode\": \"append\"\n }\n }\n\nParameters:\n\n * `field` the ID of the field to update. For a custom field, it would look like `customfield_123`\n * `value` the value to update the field with.\n * `mode` `append` or `replace`. Determines if a value will be appended to the current value, or if the current value will be replaced.\n\n##### Trigger webhook #####\n\nA post function that automatically triggers a predefined webhook when a transition occurs in the workflow.\n\n {\n \"ruleKey\": \"system:trigger-webhook\",\n \"parameters\": {\n \"webhookId\": \"1\"\n }\n }\n\nParameters:\n\n * `webhookId` the ID of the webhook.\n\n#### Screen ####\n\n##### Remind people to update fields #####\n\nA screen rule that prompts users to update a specific field when they interact with an issue screen during a transition. This rule is useful for ensuring that users provide or modify necessary information before moving an issue to the next step in the workflow.\n\n {\n \"ruleKey\": \"system:remind-people-to-update-fields\",\n \"params\": {\n \"remindingFieldIds\": \"assignee,customfield_10025\",\n \"remindingMessage\": \"The message\",\n \"remindingAlwaysAsk\": \"true\"\n }\n }\n\nParameters:\n\n * `remindingFieldIds` a comma-separated list of field IDs. Note: `fieldId` is used interchangeably with the idea of `fieldKey` here, they refer to the same field.\n * `remindingMessage` the message to display when prompting the users to update the fields.\n * `remindingAlwaysAsk` always remind to update fields. Allowed values: `true`, `false`.\n\n##### Shared transition screen #####\n\nA common screen that is shared between transitions in a workflow.\n\n {\n \"ruleKey\": \"system:transition-screen\",\n \"params\": {\n \"screenId\": \"3\"\n }\n }\n\nParameters:\n\n * `screenId` the ID of the screen.\n\n#### Connect & Forge ####\n\n##### Connect rules #####\n\nValidator/Condition/Post function for Connect app.\n\n {\n \"ruleKey\": \"connect:expression-validator\",\n \"parameters\": {\n \"appKey\": \"com.atlassian.app\",\n \"config\": \"\",\n \"id\": \"90ce590f-e90c-4cd3-8281-165ce41f2ac3\",\n \"disabled\": \"false\",\n \"tag\": \"\"\n }\n }\n\nParameters:\n\n * `ruleKey` Validator: `connect:expression-validator`, Condition: `connect:expression-condition`, and Post function: `connect:remote-workflow-function`\n * `appKey` the reference to the Connect app\n * `config` a JSON payload string describing the configuration\n * `id` the ID of the rule\n * `disabled` determine if the Connect app is disabled. Allowed values: `true`, `false`.\n * `tag` additional tags for the Connect app\n\n##### Forge rules #####\n\nValidator/Condition/Post function for Forge app.\n\n {\n \"ruleKey\": \"forge:expression-validator\",\n \"parameters\": {\n \"key\": \"ari:cloud:ecosystem::extension/{appId}/{environmentId}/static/{moduleKey}\",\n \"config\": \"{\"searchString\":\"workflow validator\"}\",\n \"id\": \"a865ddf6-bb3f-4a7b-9540-c2f8b3f9f6c2\"\n }\n }\n\nParameters:\n\n * `ruleKey` Validator: `forge:expression-validator`, Condition: `forge:expression-condition`, and Post function: `forge:workflow-post-function`\n * `key` the identifier for the Forge app\n * `config` the persistent stringified JSON configuration for the Forge rule\n * `id` the ID of the Forge rule", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Bulk create workflows", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflows/create", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Create workflows and related statuses.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* project permission to create all, including global-scoped, workflows\n * *Administer projects* project permissions to create project-scoped workflows", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"scope\": {\n \"type\": \"GLOBAL\"\n },\n \"statuses\": [\n {\n \"description\": \"\",\n \"name\": \"To Do\",\n \"statusCategory\": \"TODO\",\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"description\": \"\",\n \"name\": \"In Progress\",\n \"statusCategory\": \"IN_PROGRESS\",\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"description\": \"\",\n \"name\": \"Done\",\n \"statusCategory\": \"DONE\",\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"workflows\": [\n {\n \"description\": \"\",\n \"name\": \"Software workflow 1\",\n \"startPointLayout\": {\n \"x\": -100.00030899047852,\n \"y\": -153.00020599365234\n },\n \"statuses\": [\n {\n \"layout\": {\n \"x\": 114.99993896484375,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"layout\": {\n \"x\": 317.0000915527344,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"layout\": {\n \"x\": 508.000244140625,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"transitions\": [\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"1\",\n \"name\": \"Create\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"INITIAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"11\",\n \"name\": \"To Do\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"21\",\n \"name\": \"In Progress\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"31\",\n \"name\": \"Done\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n }\n ]\n }\n ]\n}" } }, "response": [] }, { "name": "Validate create workflows", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflows/create/validation", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Validate the payload for bulk create workflows.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* project permission to create all, including global-scoped, workflows\n * *Administer projects* project permissions to create project-scoped workflows", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"payload\": {\n \"scope\": {\n \"type\": \"GLOBAL\"\n },\n \"statuses\": [\n {\n \"description\": \"\",\n \"name\": \"To Do\",\n \"statusCategory\": \"TODO\",\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"description\": \"\",\n \"name\": \"In Progress\",\n \"statusCategory\": \"IN_PROGRESS\",\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"description\": \"\",\n \"name\": \"Done\",\n \"statusCategory\": \"DONE\",\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"workflows\": [\n {\n \"description\": \"\",\n \"name\": \"Software workflow 1\",\n \"startPointLayout\": {\n \"x\": -100.00030899047852,\n \"y\": -153.00020599365234\n },\n \"statuses\": [\n {\n \"layout\": {\n \"x\": 114.99993896484375,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"layout\": {\n \"x\": 317.0000915527344,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"layout\": {\n \"x\": 508.000244140625,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"transitions\": [\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"1\",\n \"name\": \"Create\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"INITIAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"11\",\n \"name\": \"To Do\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"21\",\n \"name\": \"In Progress\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"31\",\n \"name\": \"Done\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n }\n ]\n }\n ]\n },\n \"validationOptions\": {\n \"levels\": [\n \"ERROR\",\n \"WARNING\"\n ]\n }\n}" } }, "response": [] }, { "name": "Bulk update workflows", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflows/update", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `workflows.usages` Returns the project and issue types that each workflow is associated with.\n * `statuses.usages` Returns the project and issue types that each status is associated with." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update workflows and related statuses.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* project permission to create all, including global-scoped, workflows\n * *Administer projects* project permissions to create project-scoped workflows", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"statuses\": [\n {\n \"description\": \"\",\n \"name\": \"To Do\",\n \"statusCategory\": \"TODO\",\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"description\": \"\",\n \"name\": \"In Progress\",\n \"statusCategory\": \"IN_PROGRESS\",\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"description\": \"\",\n \"name\": \"Done\",\n \"statusCategory\": \"DONE\",\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"workflows\": [\n {\n \"defaultStatusMappings\": [\n {\n \"newStatusReference\": \"10011\",\n \"oldStatusReference\": \"10010\"\n }\n ],\n \"description\": \"\",\n \"id\": \"10001\",\n \"startPointLayout\": {\n \"x\": -100.00030899047852,\n \"y\": -153.00020599365234\n },\n \"statusMappings\": [\n {\n \"issueTypeId\": \"10002\",\n \"projectId\": \"10003\",\n \"statusMigrations\": [\n {\n \"newStatusReference\": \"10011\",\n \"oldStatusReference\": \"10010\"\n }\n ]\n }\n ],\n \"statuses\": [\n {\n \"layout\": {\n \"x\": 114.99993896484375,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"layout\": {\n \"x\": 317.0000915527344,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"layout\": {\n \"x\": 508.000244140625,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"transitions\": [\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"1\",\n \"name\": \"Create\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"INITIAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"11\",\n \"name\": \"To Do\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"21\",\n \"name\": \"In Progress\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"31\",\n \"name\": \"Done\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n }\n ],\n \"version\": {\n \"id\": \"6f6c988b-2590-4358-90c2-5f7960265592\",\n \"versionNumber\": 1\n }\n }\n ]\n}" } }, "response": [] }, { "name": "Validate update workflows", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflows/update/validation", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Validate the payload for bulk update workflows.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* project permission to create all, including global-scoped, workflows\n * *Administer projects* project permissions to create project-scoped workflows", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"payload\": {\n \"statuses\": [\n {\n \"description\": \"\",\n \"name\": \"To Do\",\n \"statusCategory\": \"TODO\",\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"description\": \"\",\n \"name\": \"In Progress\",\n \"statusCategory\": \"IN_PROGRESS\",\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"description\": \"\",\n \"name\": \"Done\",\n \"statusCategory\": \"DONE\",\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"workflows\": [\n {\n \"defaultStatusMappings\": [\n {\n \"newStatusReference\": \"10011\",\n \"oldStatusReference\": \"10010\"\n }\n ],\n \"description\": \"\",\n \"id\": \"10001\",\n \"startPointLayout\": {\n \"x\": -100.00030899047852,\n \"y\": -153.00020599365234\n },\n \"statusMappings\": [\n {\n \"issueTypeId\": \"10002\",\n \"projectId\": \"10003\",\n \"statusMigrations\": [\n {\n \"newStatusReference\": \"10011\",\n \"oldStatusReference\": \"10010\"\n }\n ]\n }\n ],\n \"statuses\": [\n {\n \"layout\": {\n \"x\": 114.99993896484375,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n {\n \"layout\": {\n \"x\": 317.0000915527344,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n {\n \"layout\": {\n \"x\": 508.000244140625,\n \"y\": -16\n },\n \"properties\": {},\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n }\n ],\n \"transitions\": [\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"1\",\n \"name\": \"Create\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"INITIAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"11\",\n \"name\": \"To Do\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"f0b24de5-25e7-4fab-ab94-63d81db6c0c0\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"21\",\n \"name\": \"In Progress\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"c7a35bf0-c127-4aa6-869f-4033730c61d8\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n },\n {\n \"actions\": [],\n \"description\": \"\",\n \"from\": [],\n \"id\": \"31\",\n \"name\": \"Done\",\n \"properties\": {},\n \"to\": {\n \"statusReference\": \"6b3fc04d-3316-46c5-a257-65751aeb8849\"\n },\n \"triggers\": [],\n \"type\": \"GLOBAL\",\n \"validators\": []\n }\n ],\n \"version\": {\n \"id\": \"6f6c988b-2590-4358-90c2-5f7960265592\",\n \"versionNumber\": 1\n }\n }\n ]\n },\n \"validationOptions\": {\n \"levels\": [\n \"ERROR\",\n \"WARNING\"\n ]\n }\n}" } }, "response": [] } ] }, { "name": "Workflow transition rules", "description": "This resource represents workflow transition rules. Workflow transition rules define a Connect or a Forge app routine, such as a [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) that is executed in association with the workflow. Use it to read and modify configuration of workflow transition rules.", "item": [ { "name": "Get workflow transition rule configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/rule/config", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." }, { "key": "types", "value": "{{types}}", "disabled": false, "description": "The types of the transition rules to return." }, { "key": "keys", "value": "{{keys}}", "disabled": true, "description": "The transition rule class keys, as defined in the Connect or the Forge app descriptor, of the transition rules to return." }, { "key": "workflowNames", "value": "{{workflowNames}}", "disabled": true, "description": "The list of workflow names to filter by." }, { "key": "withTags", "value": "{{withTags}}", "disabled": true, "description": "The list of `tags` to filter by." }, { "key": "draft", "value": "{{draft}}", "disabled": true, "description": "Whether draft or published workflows are returned. If not provided, both workflow types are returned." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules:\n\n * of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).\n * matching one or more transition rule keys.\n\nOnly workflows containing transition rules created by the calling [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned.\n\nDue to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update workflow transition rule configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/rule/config", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates configuration of workflow transition rules. The following rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app can be updated.\n\nTo assist with app migration, this operation can be used to:\n\n * Disable a rule.\n * Add a `tag`. Use this to filter rules in the [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).\n\nRules are enabled if the `disabled` parameter is not provided.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"workflows\": [\n {\n \"conditions\": [\n {\n \"configuration\": {\n \"disabled\": false,\n \"tag\": \"Another tag\",\n \"value\": \"{ \\\"size\\\": \\\"medium\\\" }\"\n },\n \"id\": \"d663bd873d93-59f5-11e9-8647-b4d6cbdc\"\n }\n ],\n \"postFunctions\": [\n {\n \"configuration\": {\n \"disabled\": false,\n \"tag\": \"Sample tag\",\n \"value\": \"{ \\\"color\\\": \\\"red\\\" }\"\n },\n \"id\": \"b4d6cbdc-59f5-11e9-8647-d663bd873d93\"\n }\n ],\n \"validators\": [\n {\n \"configuration\": {\n \"disabled\": false,\n \"value\": \"{ \\\"shape\\\": \\\"square\\\" }\"\n },\n \"id\": \"11e9-59f5-b4d6cbdc-8647-d663bd873d93\"\n }\n ],\n \"workflowId\": {\n \"draft\": false,\n \"name\": \"My Workflow name\"\n }\n }\n ]\n}" } }, "response": [] }, { "name": "Delete workflow transition rule configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/rule/config/delete", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Deletes workflow transition rules from one or more workflows. These rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling Connect app can be deleted.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"workflows\": [\n {\n \"workflowId\": {\n \"draft\": false,\n \"name\": \"Internal support workflow\"\n },\n \"workflowRuleIds\": [\n \"b4d6cbdc-59f5-11e9-8647-d663bd873d93\",\n \"d663bd873d93-59f5-11e9-8647-b4d6cbdc\",\n \"11e9-59f5-b4d6cbdc-8647-d663bd873d93\"\n ]\n }\n ]\n}" } }, "response": [] } ] }, { "name": "Workflow schemes", "description": "This resource represents workflow schemes. Use it to manage workflow schemes and the workflow scheme's workflows and issue types.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. When an active workflow scheme is edited, a draft copy of the scheme is created. The draft workflow scheme is then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information.", "item": [ { "name": "Get all workflow schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme", "query": [ { "key": "startAt", "value": "{{startAt}}", "disabled": true, "description": "The index of the first item to return in a page of results (page offset)." }, { "key": "maxResults", "value": "{{maxResults}}", "disabled": true, "description": "The maximum number of items to return per page." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a [paginated](#pagination) list of all workflow schemes, not including draft workflow schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultWorkflow\": \"jira\",\n \"description\": \"The description of the example workflow scheme.\",\n \"issueTypeMappings\": {\n \"10000\": \"scrum workflow\",\n \"10001\": \"builds workflow\"\n },\n \"name\": \"Example workflow scheme\"\n}" } }, "response": [] }, { "name": "Bulk get workflow schemes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/read", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `workflows.usages` Returns the project and issue types that each workflow in the workflow scheme is associated with." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of workflow schemes by providing workflow scheme IDs or project IDs.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* global permission to access all, including project-scoped, workflow schemes\n * *Administer projects* project permissions to access project-scoped workflow schemes", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"projectIds\": [\n \"10047\",\n \"10048\"\n ],\n \"workflowSchemeIds\": [\n \"3e59db0f-ed6c-47ce-8d50-80c0c4572677\"\n ]\n}" } }, "response": [] }, { "name": "Update workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/update", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates company-managed and team-managed project workflow schemes. This API doesn't have a concept of draft, so any changes made to a workflow scheme are immediately available. When changing the available statuses for issue types, an [asynchronous task](#async) migrates the issues as defined in the provided mappings.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* project permission to update all, including global-scoped, workflow schemes.\n * *Administer projects* project permission to update project-scoped workflow schemes.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultWorkflowId\": \"3e59db0f-ed6c-47ce-8d50-80c0c4572677\",\n \"description\": \"description\",\n \"id\": \"10000\",\n \"name\": \"name\",\n \"statusMappingsByIssueTypeOverride\": [\n {\n \"issueTypeId\": \"10001\",\n \"statusMappings\": [\n {\n \"newStatusId\": \"2\",\n \"oldStatusId\": \"1\"\n },\n {\n \"newStatusId\": \"4\",\n \"oldStatusId\": \"3\"\n }\n ]\n },\n {\n \"issueTypeId\": \"10002\",\n \"statusMappings\": [\n {\n \"newStatusId\": \"4\",\n \"oldStatusId\": \"1\"\n },\n {\n \"newStatusId\": \"2\",\n \"oldStatusId\": \"3\"\n }\n ]\n }\n ],\n \"statusMappingsByWorkflows\": [\n {\n \"newWorkflowId\": \"3e59db0f-ed6c-47ce-8d50-80c0c4572677\",\n \"oldWorkflowId\": \"3e59db0f-ed6c-47ce-8d50-80c0c4572677\",\n \"statusMappings\": [\n {\n \"newStatusId\": \"2\",\n \"oldStatusId\": \"1\"\n },\n {\n \"newStatusId\": \"4\",\n \"oldStatusId\": \"3\"\n }\n ]\n }\n ],\n \"version\": {\n \"id\": \"527213fc-bc72-400f-aae0-df8d88db2c8a\",\n \"versionNumber\": 1\n },\n \"workflowsForIssueTypes\": [\n {\n \"issueTypeIds\": [\n \"10000\",\n \"10003\"\n ],\n \"workflowId\": \"3e59db0f-ed6c-47ce-8d50-80c0c4572677\"\n },\n {\n \"issueTypeIds\": [\n \"10001`\",\n \"10002\"\n ],\n \"workflowId\": \"3f83dg2a-ns2n-56ab-9812-42h5j1461629\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get required status mappings for workflow scheme update", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/update/mappings", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets the required status mappings for the desired changes to a workflow scheme. The results are provided per issue type and workflow. When updating a workflow scheme, status mappings can be provided per issue type, per workflow, or both.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* permission to update all, including global-scoped, workflow schemes.\n * *Administer projects* project permission to update project-scoped workflow schemes.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultWorkflowId\": \"10010\",\n \"id\": \"10001\",\n \"workflowsForIssueTypes\": [\n {\n \"issueTypeIds\": [\n \"10010\",\n \"10011\"\n ],\n \"workflowId\": \"10001\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id", "query": [ { "key": "returnDraftIfExists", "value": "{{returnDraftIfExists}}", "disabled": true, "description": "Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have a draft, then the workflow scheme is returned." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Classic update workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a company-manged project workflow scheme, including the name, default workflow, issue type to project mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultWorkflow\": \"jira\",\n \"description\": \"The description of the example workflow scheme.\",\n \"issueTypeMappings\": {\n \"10000\": \"scrum workflow\"\n },\n \"name\": \"Example workflow scheme\",\n \"updateDraftIfNeeded\": false\n}" } }, "response": [] }, { "name": "Delete workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at least one project).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get default workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/default", "query": [ { "key": "returnDraftIfExists", "value": "{{returnDraftIfExists}}", "disabled": true, "description": "Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update default workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/default", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the default workflow for a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"updateDraftIfNeeded\": false,\n \"workflow\": \"jira\"\n}" } }, "response": [] }, { "name": "Delete default workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/default", "query": [ { "key": "updateDraftIfNeeded", "value": "{{updateDraftIfNeeded}}", "disabled": true, "description": "Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get workflow for issue type in workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/issuetype/:issueType", "query": [ { "key": "returnDraftIfExists", "value": "{{returnDraftIfExists}}", "disabled": true, "description": "Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false }, { "key": "issueType", "value": "{{issueType}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the issue type-workflow mapping for an issue type in a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set workflow for issue type in workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/issuetype/:issueType", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false }, { "key": "issueType", "value": "{{issueType}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the workflow for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow mapping. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueType\": \"10000\",\n \"updateDraftIfNeeded\": false,\n \"workflow\": \"jira\"\n}" } }, "response": [] }, { "name": "Delete workflow for issue type in workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/issuetype/:issueType", "query": [ { "key": "updateDraftIfNeeded", "value": "{{updateDraftIfNeeded}}", "disabled": true, "description": "Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false }, { "key": "issueType", "value": "{{issueType}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Deletes the issue type-workflow mapping for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get issue types for workflows in workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/workflow", "query": [ { "key": "workflowName", "value": "{{workflowName}}", "disabled": true, "description": "The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow." }, { "key": "returnDraftIfExists", "value": "{{returnDraftIfExists}}", "disabled": true, "description": "Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the workflow-issue type mappings for a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set issue types for workflow in workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/workflow", "query": [ { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for the workflow scheme. Unmapped issues types are mapped to the default workflow.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types mappings. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypes\": [\n \"10000\"\n ],\n \"updateDraftIfNeeded\": true,\n \"workflow\": \"jira\"\n}" } }, "response": [] }, { "name": "Delete issue types for workflow in workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/workflow", "query": [ { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow." }, { "key": "updateDraftIfNeeded", "value": "{{updateDraftIfNeeded}}", "disabled": true, "description": "Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the workflow-issue type mapping for a workflow in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Workflow scheme project associations", "description": "This resource represents the associations between workflow schemes and projects.\n\nFor more information, see [Managing your workflows](https://confluence.atlassian.com/x/q4hKLg).", "item": [ { "name": "Get workflow scheme project associations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/project", "query": [ { "key": "projectId", "value": "{{projectId}}", "disabled": false, "description": "The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim: oneseparated list. For example, `projectId=10000&projectId=10001`." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a list of the requested projects associated with it. Any team-managed or non-existent projects in the request are ignored and no errors are returned.\n\nIf the project is associated with the `Default Workflow Scheme` no ID is returned. This is because the way the `Default Workflow Scheme` is stored means it has no ID.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Assign workflow scheme to project", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/project", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.\n\nWorkflow schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"projectId\": \"10001\",\n \"workflowSchemeId\": \"10032\"\n}" } }, "response": [] } ] }, { "name": "Workflow scheme drafts", "description": "This resource represents draft workflow schemes. Use it to manage drafts of workflow schemes.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. Editing an active workflow scheme creates a draft copy of the scheme. The draft workflow scheme can then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information.", "item": [ { "name": "Create draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/createdraft", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the active workflow scheme that the draft is created from.", "disabled": false } ] }, "method": "POST", "header": [], "description": "Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the active workflow scheme that the draft was created from.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information. \nNote that:\n\n * Only active workflow schemes can have draft workflow schemes.\n * An active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the active workflow scheme that the draft was created from.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a draft is created. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"defaultWorkflow\": \"jira\",\n \"description\": \"The description of the example workflow scheme.\",\n \"issueTypeMappings\": {\n \"10000\": \"scrum workflow\"\n },\n \"name\": \"Example workflow scheme\",\n \"updateDraftIfNeeded\": false\n}" } }, "response": [] }, { "name": "Delete draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the active workflow scheme that the draft was created from.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get draft default workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/default", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update draft default workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/default", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the default workflow for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"updateDraftIfNeeded\": false,\n \"workflow\": \"jira\"\n}" } }, "response": [] }, { "name": "Delete draft default workflow", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/default", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get workflow for issue type in draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/issuetype/:issueType", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false }, { "key": "issueType", "value": "{{issueType}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set workflow for issue type in draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/issuetype/:issueType", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false }, { "key": "issueType", "value": "{{issueType}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the workflow for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueType\": \"10000\",\n \"updateDraftIfNeeded\": false,\n \"workflow\": \"jira\"\n}" } }, "response": [] }, { "name": "Delete workflow for issue type in draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/issuetype/:issueType", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false }, { "key": "issueType", "value": "{{issueType}}", "description": "The ID of the issue type.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Publish draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/publish", "query": [ { "key": "validateOnly", "value": "{{validateOnly}}", "disabled": true, "description": "Whether the request only performs a validation." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Publishes a draft workflow scheme.\n\nWhere the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues with the original workflow status to the new workflow status.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"statusMappings\": [\n {\n \"issueTypeId\": \"10001\",\n \"newStatusId\": \"1\",\n \"statusId\": \"3\"\n },\n {\n \"issueTypeId\": \"10001\",\n \"newStatusId\": \"2\",\n \"statusId\": \"2\"\n },\n {\n \"issueTypeId\": \"10002\",\n \"newStatusId\": \"10003\",\n \"statusId\": \"10005\"\n },\n {\n \"issueTypeId\": \"10003\",\n \"newStatusId\": \"1\",\n \"statusId\": \"4\"\n }\n ]\n}" } }, "response": [] }, { "name": "Get issue types for workflows in draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/workflow", "query": [ { "key": "workflowName", "value": "{{workflowName}}", "disabled": true, "description": "The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the workflow-issue type mappings for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set issue types for workflow in workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/workflow", "query": [ { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"issueTypes\": [\n \"10000\"\n ],\n \"updateDraftIfNeeded\": true,\n \"workflow\": \"jira\"\n}" } }, "response": [] }, { "name": "Delete issue types for workflow in draft workflow scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflowscheme/:id/draft/workflow", "query": [ { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the workflow scheme that the draft belongs to.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Workflow statuses", "description": "This resource represents issue workflow statuses. Use it to obtain a list of all statuses associated with workflows and the details of a status.", "item": [ { "name": "Get all statuses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/status", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of all statuses associated with active workflows.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get status", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/status/:idOrName", "query": [], "variable": [ { "key": "idOrName", "value": "{{idOrName}}", "description": "The ID or name of the status.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a status. The status must be associated with an active workflow to be returned.\n\nIf a name is used on more than one status, only the status found first is returned. Therefore, identifying the status by its ID may be preferable.\n\nThis operation can be accessed anonymously.\n\n[Permissions](#permissions) required: None.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Workflow status categories", "description": "This resource represents status categories. Use it to obtain a list of all status categories and the details of a category. Status categories provided a mechanism for categorizing [statuses](#api-group-Workflow-statuses).", "item": [ { "name": "Get all status categories", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/statuscategory", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of all status categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get status category", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/statuscategory/:idOrKey", "query": [], "variable": [ { "key": "idOrKey", "value": "{{idOrKey}}", "description": "The ID or key of the status category.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a status category. Status categories provided a mechanism for categorizing [statuses](#api-rest-api-2-status-idOrName-get).\n\n**[Permissions](#permissions) required:** Permission to access Jira.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Workflow transition properties", "description": "This resource represents workflow transition properties, which provides for storing custom data against a workflow transition. Use it to get, create, and delete workflow transition properties as well as get a list of property keys for a workflow transition. Workflow transition properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).", "item": [ { "name": "Get workflow transition properties", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/transitions/:transitionId/properties", "query": [ { "key": "includeReservedKeys", "value": "{{includeReservedKeys}}", "disabled": true, "description": "Some properties with keys that have the *jira.* prefix are reserved, which means they are not editable. To include these properties in the results, set this parameter to *true*." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "The key of the property being returned, also known as the name of the property. If this parameter is not specified, all properties on the transition are returned." }, { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow that the transition belongs to." }, { "key": "workflowMode", "value": "{{workflowMode}}", "disabled": true, "description": "The workflow status. Set to *live* for active and inactive workflows, or *draft* for draft workflows." } ], "variable": [ { "key": "transitionId", "value": "{{transitionId}}", "description": "The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID is shown next to the transition.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the properties on a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update workflow transition property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/transitions/:transitionId/properties", "query": [ { "key": "key", "value": "{{key}}", "disabled": false, "description": "The key of the property being updated, also known as the name of the property. Set this to the same value as the `key` defined in the request body." }, { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow that the transition belongs to." }, { "key": "workflowMode", "value": "{{workflowMode}}", "disabled": true, "description": "The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited." } ], "variable": [ { "key": "transitionId", "value": "{{transitionId}}", "description": "The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a workflow transition by changing the property value. Trying to update a property that does not exist results in a new property being added to the transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"value\": \"createissue\"\n}" } }, "response": [] }, { "name": "Create workflow transition property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/transitions/:transitionId/properties", "query": [ { "key": "key", "value": "{{key}}", "disabled": false, "description": "The key of the property being added, also known as the name of the property. Set this to the same value as the `key` defined in the request body." }, { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow that the transition belongs to." }, { "key": "workflowMode", "value": "{{workflowMode}}", "disabled": true, "description": "The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited." } ], "variable": [ { "key": "transitionId", "value": "{{transitionId}}", "description": "The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"value\": \"createissue\"\n}" } }, "response": [] }, { "name": "Delete workflow transition property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/2/workflow/transitions/:transitionId/properties", "query": [ { "key": "key", "value": "{{key}}", "disabled": false, "description": "The name of the transition property to delete, also known as the name of the property." }, { "key": "workflowName", "value": "{{workflowName}}", "disabled": false, "description": "The name of the workflow that the transition belongs to." }, { "key": "workflowMode", "value": "{{workflowMode}}", "disabled": true, "description": "The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited." } ], "variable": [ { "key": "transitionId", "value": "{{transitionId}}", "description": "The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a property from a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "App properties", "description": "This resource represents app properties. Use it to store arbitrary data for your\n[Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps).", "item": [ { "name": "Get app properties", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/addons/:addonKey/properties", "query": [], "variable": [ { "key": "addonKey", "value": "{{addonKey}}", "description": "The key of the app, as defined in its descriptor.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets all the properties of an app.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.\nAdditionally, Forge apps can access Connect app properties (stored against the same `app.connect.key`).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get app property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/addons/:addonKey/properties/:propertyKey", "query": [], "variable": [ { "key": "addonKey", "value": "{{addonKey}}", "description": "The key of the app, as defined in its descriptor.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the key and value of an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.\nAdditionally, Forge apps can access Connect app properties (stored against the same `app.connect.key`).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set app property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/addons/:addonKey/properties/:propertyKey", "query": [], "variable": [ { "key": "addonKey", "value": "{{addonKey}}", "description": "The key of the app, as defined in its descriptor.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the value of an app's property. Use this resource to store custom data for your app.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.\nAdditionally, Forge apps can access Connect app properties (stored against the same `app.connect.key`).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete app property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/addons/:addonKey/properties/:propertyKey", "query": [], "variable": [ { "key": "addonKey", "value": "{{addonKey}}", "description": "The key of the app, as defined in its descriptor.", "disabled": false }, { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.\nAdditionally, Forge apps can access Connect app properties (stored against the same `app.connect.key`).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set app property (Forge)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/forge/1/app/properties/:propertyKey", "query": [], "variable": [ { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the value of a Forge app's property.\nThese values can be retrieved in [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/)\nthrough the `app` [context variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables).\n\nFor other use cases, use the [Storage API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/).\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** Only Forge apps can make this request.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete app property (Forge)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/forge/1/app/properties/:propertyKey", "query": [], "variable": [ { "key": "propertyKey", "value": "{{propertyKey}}", "description": "The key of the property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a Forge app's property.\n\n**[Permissions](#permissions) required:** Only Forge apps can make this request.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Dynamic modules", "description": "This resource represents [modules registered dynamically](https://developer.atlassian.com/cloud/jira/platform/dynamic-modules/)\nby [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps).", "item": [ { "name": "Get modules", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/app/module/dynamic", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all modules registered dynamically by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request." }, "response": [] }, { "name": "Register modules", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/app/module/dynamic", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Registers a list of modules.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Remove modules", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/app/module/dynamic", "query": [ { "key": "moduleKey", "value": "{{moduleKey}}", "disabled": true, "description": "The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter.\nFor example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.\nNonexistent keys are ignored." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Remove all or a list of modules registered by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request." }, "response": [] } ] }, { "name": "App migration", "description": "This resource supports [app migrations](https://developer.atlassian.com/platform/app-migration/). Use it to:\n- [to request migrated workflow rules details](https://developer.atlassian.com/platform/app-migration/tutorials/migration-app-workflow-rules/).\n- [perform bulk updates of entity properties](https://developer.atlassian.com/platform/app-migration/tutorials/entity-properties-bulk-api/).\n- [perform bulk updates of issue custom field values](https://developer.atlassian.com/platform/app-migration/tutorials/migrating-app-custom-fields/).", "item": [ { "name": "Bulk update custom field value", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/migration/field", "query": [], "variable": [] }, "method": "PUT", "header": [ { "key": "Atlassian-Transfer-Id", "value": "{{Atlassian-Transfer-Id}}", "description": "The ID of the transfer.", "disabled": false }, { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the value of a custom field added by Connect apps on one or more issues.\nThe values of up to 200 custom fields can be updated.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request", "body": { "mode": "raw", "raw": "{\n \"updateValueList\": [\n {\n \"_type\": \"StringIssueField\",\n \"issueID\": 10001,\n \"fieldID\": 10076,\n \"string\": \"new string value\"\n },\n {\n \"_type\": \"TextIssueField\",\n \"issueID\": 10002,\n \"fieldID\": 10077,\n \"text\": \"new text value\"\n },\n {\n \"_type\": \"SingleSelectIssueField\",\n \"issueID\": 10003,\n \"fieldID\": 10078,\n \"optionID\": \"1\"\n },\n {\n \"_type\": \"MultiSelectIssueField\",\n \"issueID\": 10004,\n \"fieldID\": 10079,\n \"optionID\": \"2\"\n },\n {\n \"_type\": \"RichTextIssueField\",\n \"issueID\": 10005,\n \"fieldID\": 10080,\n \"richText\": \"new rich text value\"\n },\n {\n \"_type\": \"NumberIssueField\",\n \"issueID\": 10006,\n \"fieldID\": 10082,\n \"number\": 54\n }\n ]\n}" } }, "response": [] }, { "name": "Bulk update entity properties", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/migration/properties/:entityType", "query": [], "variable": [ { "key": "entityType", "value": "{{entityType}}", "description": "The type indicating the object that contains the entity properties.", "disabled": false } ] }, "method": "PUT", "header": [ { "key": "Atlassian-Transfer-Id", "value": "{{Atlassian-Transfer-Id}}", "description": "The app migration transfer ID.", "disabled": false }, { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the values of multiple entity properties for an object, up to 50 updates per request. This operation is for use by Connect apps during app migration.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get workflow transition rule configurations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/migration/workflow/rule/search", "query": [], "variable": [] }, "method": "POST", "header": [ { "key": "Atlassian-Transfer-Id", "value": "{{Atlassian-Transfer-Id}}", "description": "The app migration transfer ID.", "disabled": false }, { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect app.", "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Service Registry", "description": "This resource represents a service registry. Use it to retrieve attributes related to a [service registry](https://support.atlassian.com/jira-service-management-cloud/docs/what-is-services/) in JSM.", "item": [ { "name": "Retrieve the attributes of service registries", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/atlassian-connect/1/service-registry", "query": [ { "key": "serviceIds", "value": "{{serviceIds}}", "disabled": false, "description": "The ID of the services (the strings starting with \"b:\" need to be decoded in Base64)." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Retrieve the attributes of given service registries.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request and the servicesIds belong to the tenant you are requesting" }, "response": [] } ] } ], "variable": [ { "key": "protocol", "name": "Protocol", "description": "The HTTP Protocol that should be used for this REST API.", "type": "string", "value": "https" }, { "key": "host", "name": "Host", "description": "The HTTP host that should be used for this REST API.", "type": "string", "value": "your-domain.atlassian.net" }, { "key": "basePath", "name": "Base Path", "description": "The path, after the host, of the base of the REST API.", "type": "string", "value": "" } ] }