components: schemas: ActorInputBean: additionalProperties: false properties: group: description: "The name of the group to add 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. This parameter accepts a comma-separated\ \ list. For example, `\"group\":[\"project-admin\", \"jira-developers\"\ ]`." items: type: "string" type: "array" groupId: description: "The ID of the group to add as a default actor. This parameter\ \ cannot be used with the `group` parameter This parameter accepts a comma-separated\ \ list. For example, `\"groupId\":[\"77f6ab39-e755-4570-a6ae-2d7a8df0bcb8\"\ , \"0c011f85-69ed-49c4-a801-3b18d0f771bc\"]`." items: type: "string" type: "array" user: description: "The account IDs of the users to add as default actors. This\ \ parameter accepts a comma-separated list. For example, `\"user\":[\"\ 5b10a2844c20165700ede21g\", \"5b109f2e9729b51b54dc274d\"]`." items: type: "string" type: "array" type: "object" ActorsMap: additionalProperties: false properties: group: description: "The name of the group to add. This parameter cannot be used\ \ with the `groupId` parameter. As a group's name can change, use of `groupId`\ \ is recommended." items: type: "string" type: "array" groupId: description: "The ID of the group to add. This parameter cannot be used\ \ with the `group` parameter." items: type: "string" type: "array" user: description: "The user account ID of the user to add." items: type: "string" type: "array" type: "object" AddFieldBean: additionalProperties: false properties: fieldId: description: "The ID of the field to add." type: "string" required: - "fieldId" type: "object" AddGroupBean: additionalProperties: true properties: name: description: "The name of the group." type: "string" required: - "name" type: "object" AddNotificationsDetails: additionalProperties: true description: "Details of notifications which should be added to the notification\ \ scheme." properties: notificationSchemeEvents: description: "The list of notifications which should be added to the notification\ \ scheme." items: $ref: "#/components/schemas/NotificationSchemeEventDetails" type: "array" writeOnly: true required: - "notificationSchemeEvents" type: "object" AddSecuritySchemeLevelsRequestBean: additionalProperties: false properties: levels: description: "The list of scheme levels which should be added to the security\ \ scheme." items: $ref: "#/components/schemas/SecuritySchemeLevelBean" type: "array" writeOnly: true type: "object" AnnouncementBannerConfiguration: additionalProperties: false description: "Announcement banner configuration." properties: hashId: description: "Hash of the banner data. The client detects updates by comparing\ \ hash IDs." readOnly: true type: "string" isDismissible: description: "Flag indicating if the announcement banner can be dismissed\ \ by the user." readOnly: true type: "boolean" isEnabled: description: "Flag indicating if the announcement banner is enabled or not." readOnly: true type: "boolean" message: description: "The text on the announcement banner." readOnly: true type: "string" visibility: description: "Visibility of the announcement banner." enum: - "PUBLIC" - "PRIVATE" readOnly: true type: "string" type: "object" AnnouncementBannerConfigurationUpdate: additionalProperties: false description: "Configuration of the announcement banner." properties: isDismissible: description: "Flag indicating if the announcement banner can be dismissed\ \ by the user." type: "boolean" isEnabled: description: "Flag indicating if the announcement banner is enabled or not." type: "boolean" message: description: "The text on the announcement banner." type: "string" visibility: description: "Visibility of the announcement banner. Can be public or private." type: "string" type: "object" writeOnly: true AppWorkflowTransitionRule: additionalProperties: false description: "A workflow transition rule." properties: configuration: $ref: "#/components/schemas/RuleConfiguration" id: description: "The ID of the transition rule." type: "string" key: description: "The key of the rule, as defined in the Connect or the Forge\ \ app descriptor." readOnly: true type: "string" transition: allOf: - $ref: "#/components/schemas/WorkflowTransition" readOnly: true required: - "configuration" - "id" - "key" type: "object" Application: additionalProperties: true description: "The application the linked item is in." properties: name: description: "The name of the application. Used in conjunction with the\ \ (remote) object icon title to display a tooltip for the link's icon.\ \ The tooltip takes the format \"\\[application name\\] icon title\".\ \ Blank items are excluded from the tooltip title. If both items are blank,\ \ the icon tooltop displays as \"Web Link\". Grouping and sorting of links\ \ may place links without an application name last." type: "string" type: description: "The name-spaced type of the application, used by registered\ \ rendering apps." type: "string" type: "object" ApplicationProperty: additionalProperties: false description: "Details of an application property." properties: allowedValues: description: "The allowed values, if applicable." items: type: "string" type: "array" defaultValue: description: "The default value of the application property." type: "string" desc: description: "The description of the application property." type: "string" example: type: "string" id: description: "The ID of the application property. The ID and key are the\ \ same." type: "string" key: description: "The key of the application property. The ID and key are the\ \ same." type: "string" name: description: "The name of the application property." type: "string" type: description: "The data type of the application property." type: "string" value: description: "The new value." type: "string" type: "object" ApplicationRole: additionalProperties: false description: "Details of an application role." properties: defaultGroups: description: "The groups that are granted default access for this application\ \ role. As a group's name can change, use of `defaultGroupsDetails` is\ \ recommended to identify a groups." items: type: "string" type: "array" uniqueItems: true defaultGroupsDetails: description: "The groups that are granted default access for this application\ \ role." items: $ref: "#/components/schemas/GroupName" type: "array" defined: description: "Deprecated." type: "boolean" groupDetails: description: "The groups associated with the application role." items: $ref: "#/components/schemas/GroupName" type: "array" groups: description: "The groups associated with the application role. As a group's\ \ name can change, use of `groupDetails` is recommended to identify a\ \ groups." items: type: "string" type: "array" uniqueItems: true hasUnlimitedSeats: type: "boolean" key: description: "The key of the application role." type: "string" name: description: "The display name of the application role." type: "string" numberOfSeats: description: "The maximum count of users on your license." format: "int32" type: "integer" platform: description: "Indicates if the application role belongs to Jira platform\ \ (`jira-core`)." type: "boolean" remainingSeats: description: "The count of users remaining on your license." format: "int32" type: "integer" selectedByDefault: description: "Determines whether this application role should be selected\ \ by default on user creation." type: "boolean" userCount: description: "The number of users counting against your license." format: "int32" type: "integer" userCountDescription: description: "The [type of users](https://confluence.atlassian.com/x/lRW3Ng)\ \ being counted against your license." type: "string" type: "object" ArchiveIssueAsyncRequest: additionalProperties: false properties: jql: type: "string" type: "object" ArchivedIssuesFilterRequest: additionalProperties: true description: "Details of a filter for exporting archived issues." properties: archivedBy: description: "List archived issues archived by a specified account ID." items: type: "string" type: "array" archivedDateRange: $ref: "#/components/schemas/DateRangeFilterRequest" issueTypes: description: "List archived issues with a specified issue type ID." items: type: "string" type: "array" projects: description: "List archived issues with a specified project key." items: type: "string" type: "array" reporters: description: "List archived issues where the reporter is a specified account\ \ ID." items: type: "string" type: "array" type: "object" AssociateFieldConfigurationsWithIssueTypesRequest: additionalProperties: false description: "Details of a field configuration to issue type mappings." properties: mappings: description: "Field configuration to issue type mappings." items: $ref: "#/components/schemas/FieldConfigurationToIssueTypeMapping" type: "array" uniqueItems: true writeOnly: true required: - "mappings" type: "object" AssociateSecuritySchemeWithProjectDetails: additionalProperties: false description: "Issue security scheme, project, and remapping details." properties: oldToNewSecurityLevelMappings: description: "The list of scheme levels which should be remapped to new\ \ levels of the issue security scheme." items: $ref: "#/components/schemas/OldToNewSecurityLevelMappingsBean" type: "array" writeOnly: true projectId: description: "The ID of the project." type: "string" writeOnly: true schemeId: description: "The ID of the issue security scheme. Providing null will clear\ \ the association with the issue security scheme." type: "string" writeOnly: true required: - "projectId" - "schemeId" type: "object" AssociatedItemBean: additionalProperties: false description: "Details of an item associated with the changed record." properties: id: description: "The ID of the associated record." readOnly: true type: "string" name: description: "The name of the associated record." readOnly: true type: "string" parentId: description: "The ID of the associated parent record." readOnly: true type: "string" parentName: description: "The name of the associated parent record." readOnly: true type: "string" typeName: description: "The type of the associated record." readOnly: true type: "string" type: "object" Attachment: additionalProperties: true description: "Details about an attachment." properties: author: allOf: - $ref: "#/components/schemas/UserDetails" description: "Details of the user who added the attachment." readOnly: true content: description: "The content of the attachment." readOnly: true type: "string" created: description: "The datetime the attachment was created." format: "date-time" readOnly: true type: "string" filename: description: "The file name of the attachment." readOnly: true type: "string" id: description: "The ID of the attachment." readOnly: true type: "string" mimeType: description: "The MIME type of the attachment." readOnly: true type: "string" self: description: "The URL of the attachment details response." readOnly: true type: "string" size: description: "The size of the attachment." format: "int64" readOnly: true type: "integer" thumbnail: description: "The URL of a thumbnail representing the attachment." readOnly: true type: "string" type: "object" AttachmentArchive: additionalProperties: false properties: entries: items: $ref: "#/components/schemas/AttachmentArchiveEntry" type: "array" moreAvailable: type: "boolean" totalEntryCount: format: "int32" type: "integer" totalNumberOfEntriesAvailable: format: "int32" type: "integer" type: "object" AttachmentArchiveEntry: additionalProperties: false properties: abbreviatedName: type: "string" entryIndex: format: "int64" type: "integer" mediaType: type: "string" name: type: "string" size: format: "int64" type: "integer" type: "object" AttachmentArchiveImpl: additionalProperties: false properties: entries: description: "The list of the items included in the archive." items: $ref: "#/components/schemas/AttachmentArchiveEntry" type: "array" totalEntryCount: description: "The number of items in the archive." format: "int32" type: "integer" type: "object" AttachmentArchiveItemReadable: additionalProperties: false description: "Metadata for an item in an attachment archive." properties: index: description: "The position of the item within the archive." format: "int64" readOnly: true type: "integer" label: description: "The label for the archive item." readOnly: true type: "string" mediaType: description: "The MIME type of the archive item." readOnly: true type: "string" path: description: "The path of the archive item." readOnly: true type: "string" size: description: "The size of the archive item." readOnly: true type: "string" type: "object" AttachmentArchiveMetadataReadable: additionalProperties: false description: "Metadata for an archive (for example a zip) and its contents." properties: entries: description: "The list of the items included in the archive." items: $ref: "#/components/schemas/AttachmentArchiveItemReadable" readOnly: true type: "array" id: description: "The ID of the attachment." format: "int64" readOnly: true type: "integer" mediaType: description: "The MIME type of the attachment." readOnly: true type: "string" name: description: "The name of the archive file." readOnly: true type: "string" totalEntryCount: description: "The number of items included in the archive." format: "int64" readOnly: true type: "integer" type: "object" AttachmentMetadata: additionalProperties: false description: "Metadata for an issue attachment." properties: author: allOf: - $ref: "#/components/schemas/User" description: "Details of the user who attached the file." readOnly: true content: description: "The URL of the attachment." readOnly: true type: "string" created: description: "The datetime the attachment was created." format: "date-time" readOnly: true type: "string" filename: description: "The name of the attachment file." readOnly: true type: "string" id: description: "The ID of the attachment." format: "int64" readOnly: true type: "integer" mimeType: description: "The MIME type of the attachment." readOnly: true type: "string" properties: additionalProperties: readOnly: true description: "Additional properties of the attachment." readOnly: true type: "object" self: description: "The URL of the attachment metadata details." format: "uri" readOnly: true type: "string" size: description: "The size of the attachment." format: "int64" readOnly: true type: "integer" thumbnail: description: "The URL of a thumbnail representing the attachment." readOnly: true type: "string" type: "object" xml: name: "attachment" AttachmentSettings: additionalProperties: false description: "Details of the instance's attachment settings." properties: enabled: description: "Whether the ability to add attachments is enabled." readOnly: true type: "boolean" uploadLimit: description: "The maximum size of attachments permitted, in bytes." format: "int64" readOnly: true type: "integer" type: "object" AuditRecordBean: additionalProperties: false description: "An audit record." properties: associatedItems: description: "The list of items associated with the changed record." items: $ref: "#/components/schemas/AssociatedItemBean" readOnly: true type: "array" authorKey: description: "Deprecated, use `authorAccountId` instead. The key of the\ \ user who created the audit record." readOnly: true type: "string" category: description: "The category of the audit record. For a list of these categories,\ \ see the help article [Auditing in Jira applications](https://confluence.atlassian.com/x/noXKM)." readOnly: true type: "string" changedValues: description: "The list of values changed in the record event." items: $ref: "#/components/schemas/ChangedValueBean" readOnly: true type: "array" created: description: "The date and time on which the audit record was created." format: "date-time" readOnly: true type: "string" description: description: "The description of the audit record." readOnly: true type: "string" eventSource: description: "The event the audit record originated from." readOnly: true type: "string" id: description: "The ID of the audit record." format: "int64" readOnly: true type: "integer" objectItem: $ref: "#/components/schemas/AssociatedItemBean" remoteAddress: description: "The URL of the computer where the creation of the audit record\ \ was initiated." readOnly: true type: "string" summary: description: "The summary of the audit record." readOnly: true type: "string" type: "object" AuditRecords: additionalProperties: false description: "Container for a list of audit records." properties: limit: description: "The requested or default limit on the number of audit items\ \ to be returned." format: "int32" readOnly: true type: "integer" offset: description: "The number of audit items skipped before the first item in\ \ this list." format: "int32" readOnly: true type: "integer" records: description: "The list of audit items." items: $ref: "#/components/schemas/AuditRecordBean" readOnly: true type: "array" total: description: "The total number of audit items returned." format: "int64" readOnly: true type: "integer" type: "object" AutoCompleteSuggestion: additionalProperties: false description: "A field auto-complete suggestion." properties: displayName: description: "The display name of a suggested item. If `fieldValue` or `predicateValue`\ \ are provided, the matching text is highlighted with the HTML bold tag." type: "string" value: description: "The value of a suggested item." type: "string" type: "object" AutoCompleteSuggestions: additionalProperties: false description: "The results from a JQL query." properties: results: description: "The list of suggested item." items: $ref: "#/components/schemas/AutoCompleteSuggestion" type: "array" type: "object" AvailableDashboardGadget: additionalProperties: false description: "The details of the available dashboard gadget." properties: moduleKey: description: "The module key of the gadget type." readOnly: true type: "string" title: description: "The title of the gadget." readOnly: true type: "string" uri: description: "The URI of the gadget type." readOnly: true type: "string" required: - "title" type: "object" AvailableDashboardGadgetsResponse: additionalProperties: false description: "The list of available gadgets." properties: gadgets: description: "The list of available gadgets." items: $ref: "#/components/schemas/AvailableDashboardGadget" readOnly: true type: "array" required: - "gadgets" type: "object" AvailableWorkflowConnectRule: additionalProperties: false description: "The Connect provided ecosystem rules available." properties: addonKey: description: "The add-on providing the rule." type: "string" createUrl: description: "The URL creation path segment defined in the Connect module." type: "string" description: description: "The rule description." type: "string" editUrl: description: "The URL edit path segment defined in the Connect module." type: "string" moduleKey: description: "The module providing the rule." type: "string" name: description: "The rule name." type: "string" ruleKey: description: "The rule key." type: "string" ruleType: description: "The rule type." enum: - "Condition" - "Validator" - "Function" - "Screen" type: "string" viewUrl: description: "The URL view path segment defined in the Connect module." type: "string" type: "object" AvailableWorkflowForgeRule: additionalProperties: false description: "The Forge provided ecosystem rules available." properties: description: description: "The rule description." type: "string" id: description: "The unique ARI of the forge rule type." type: "string" name: description: "The rule name." type: "string" ruleKey: description: "The rule key." type: "string" ruleType: description: "The rule type." enum: - "Condition" - "Validator" - "Function" - "Screen" type: "string" type: "object" AvailableWorkflowSystemRule: additionalProperties: false description: "The Atlassian provided system rules available." properties: description: description: "The rule description." type: "string" incompatibleRuleKeys: description: "List of rules that conflict with this one." items: description: "List of rules that conflict with this one." type: "string" type: "array" isAvailableForInitialTransition: description: "Whether the rule can be added added to an initial transition." type: "boolean" isVisible: description: "Whether the rule is visible." type: "boolean" name: description: "The rule name." type: "string" ruleKey: description: "The rule key." type: "string" ruleType: description: "The rule type." enum: - "Condition" - "Validator" - "Function" - "Screen" type: "string" required: - "description" - "incompatibleRuleKeys" - "isAvailableForInitialTransition" - "isVisible" - "name" - "ruleKey" - "ruleType" type: "object" AvailableWorkflowTriggerTypes: additionalProperties: false description: "The list of available trigger types." properties: description: description: "The description of the trigger rule." type: "string" name: description: "The name of the trigger rule." type: "string" type: description: "The type identifier of trigger rule." type: "string" type: "object" AvailableWorkflowTriggers: additionalProperties: false description: "The trigger rules available." properties: availableTypes: description: "The list of available trigger types." items: $ref: "#/components/schemas/AvailableWorkflowTriggerTypes" type: "array" ruleKey: description: "The rule key of the rule." type: "string" required: - "availableTypes" - "ruleKey" type: "object" Avatar: additionalProperties: true description: "Details of an avatar." properties: fileName: description: "The file name of the avatar icon. Returned for system avatars." readOnly: true type: "string" id: description: "The ID of the avatar." type: "string" isDeletable: description: "Whether the avatar can be deleted." readOnly: true type: "boolean" isSelected: description: "Whether the avatar is used in Jira. For example, shown as\ \ a project's avatar." readOnly: true type: "boolean" isSystemAvatar: description: "Whether the avatar is a system avatar." readOnly: true type: "boolean" owner: description: "The owner of the avatar. For a system avatar the owner is\ \ null (and nothing is returned). For non-system avatars this is the appropriate\ \ identifier, such as the ID for a project or the account ID for a user." readOnly: true type: "string" urls: additionalProperties: format: "uri" readOnly: true type: "string" description: "The list of avatar icon URLs." readOnly: true type: "object" required: - "id" type: "object" AvatarUrlsBean: additionalProperties: false properties: "16x16": description: "The URL of the item's 16x16 pixel avatar." format: "uri" type: "string" "24x24": description: "The URL of the item's 24x24 pixel avatar." format: "uri" type: "string" "32x32": description: "The URL of the item's 32x32 pixel avatar." format: "uri" type: "string" "48x48": description: "The URL of the item's 48x48 pixel avatar." format: "uri" type: "string" type: "object" Avatars: additionalProperties: false description: "Details about system and custom avatars." properties: custom: description: "Custom avatars list." items: $ref: "#/components/schemas/Avatar" readOnly: true type: "array" system: description: "System avatars list." items: $ref: "#/components/schemas/Avatar" readOnly: true type: "array" type: "object" BulkChangeOwnerDetails: additionalProperties: false description: "Details for changing owners of shareable entities" properties: autofixName: description: "Whether the name is fixed automatically if it's duplicated\ \ after changing owner." type: "boolean" newOwner: description: "The account id of the new owner." type: "string" required: - "autofixName" - "newOwner" type: "object" BulkCustomFieldOptionCreateRequest: additionalProperties: false description: "Details of the options to create for a custom field." properties: options: description: "Details of options to create." items: $ref: "#/components/schemas/CustomFieldOptionCreate" type: "array" type: "object" writeOnly: true BulkCustomFieldOptionUpdateRequest: additionalProperties: false description: "Details of the options to update for a custom field." properties: options: description: "Details of the options to update." items: $ref: "#/components/schemas/CustomFieldOptionUpdate" type: "array" type: "object" writeOnly: true BulkEditActionError: additionalProperties: false description: "Errors of bulk edit action." properties: errorMessages: description: "The error messages." items: type: "string" type: "array" errors: additionalProperties: type: "string" description: "The errors." type: "object" required: - "errorMessages" - "errors" type: "object" BulkEditShareableEntityRequest: additionalProperties: false description: "Details of a request to bulk edit shareable entity." properties: action: description: "Allowed action for bulk edit shareable entity" enum: - "changeOwner" - "changePermission" - "addPermission" - "removePermission" type: "string" changeOwnerDetails: allOf: - $ref: "#/components/schemas/BulkChangeOwnerDetails" description: "The details of change owner action." entityIds: description: "The id list of shareable entities to be changed." items: format: "int64" type: "integer" type: "array" uniqueItems: true extendAdminPermissions: description: "Whether the actions are executed by users with Administer\ \ Jira global permission." type: "boolean" permissionDetails: allOf: - $ref: "#/components/schemas/PermissionDetails" description: "The permission details to be changed." required: - "action" - "entityIds" type: "object" BulkEditShareableEntityResponse: additionalProperties: false description: "Details of a request to bulk edit shareable entity." properties: action: description: "Allowed action for bulk edit shareable entity" enum: - "changeOwner" - "changePermission" - "addPermission" - "removePermission" type: "string" entityErrors: additionalProperties: $ref: "#/components/schemas/BulkEditActionError" description: "The mapping dashboard id to errors if any." type: "object" required: - "action" type: "object" BulkIssueIsWatching: additionalProperties: false description: "A container for the watch status of a list of issues." properties: issuesIsWatching: additionalProperties: readOnly: true type: "boolean" description: "The map of issue ID to boolean watch status." readOnly: true type: "object" type: "object" BulkIssuePropertyUpdateRequest: additionalProperties: false description: "Bulk issue property update request details." properties: expression: description: "EXPERIMENTAL. The Jira expression to calculate the value of\ \ the property. The value of the expression must be an object that can\ \ be converted to JSON, such as a number, boolean, string, list, or map.\ \ The context variables available to the expression are `issue` and `user`.\ \ Issues for which the expression returns a value whose JSON representation\ \ is longer than 32768 characters are ignored." type: "string" filter: allOf: - $ref: "#/components/schemas/IssueFilterForBulkPropertySet" description: "The bulk operation filter." value: description: "The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627),\ \ non-empty JSON blob. The maximum length is 32768 characters." type: "object" BulkOperationErrorResult: additionalProperties: false properties: elementErrors: $ref: "#/components/schemas/ErrorCollection" failedElementNumber: format: "int32" type: "integer" status: format: "int32" type: "integer" type: "object" BulkPermissionGrants: additionalProperties: false description: "Details of global and project permissions granted to the user." properties: globalPermissions: description: "List of permissions granted to the user." items: type: "string" type: "array" uniqueItems: true projectPermissions: description: "List of project permissions and the projects and issues those\ \ permissions provide access to." items: $ref: "#/components/schemas/BulkProjectPermissionGrants" type: "array" uniqueItems: true required: - "globalPermissions" - "projectPermissions" type: "object" BulkPermissionsRequestBean: additionalProperties: false description: "Details of global permissions to look up and project permissions\ \ with associated projects and issues to look up." properties: accountId: description: "The account ID of a user." type: "string" globalPermissions: description: "Global permissions to look up." items: type: "string" type: "array" uniqueItems: true projectPermissions: description: "Project permissions with associated projects and issues to\ \ look up." items: $ref: "#/components/schemas/BulkProjectPermissions" type: "array" uniqueItems: true type: "object" BulkProjectPermissionGrants: additionalProperties: false description: "List of project permissions and the projects and issues those\ \ permissions grant access to." properties: issues: description: "IDs of the issues the user has the permission for." items: format: "int64" type: "integer" type: "array" uniqueItems: true permission: description: "A project permission," type: "string" projects: description: "IDs of the projects the user has the permission for." items: format: "int64" type: "integer" type: "array" uniqueItems: true required: - "issues" - "permission" - "projects" type: "object" BulkProjectPermissions: additionalProperties: false description: "Details of project permissions and associated issues and projects\ \ to look up." properties: issues: description: "List of issue IDs." items: format: "int64" type: "integer" type: "array" uniqueItems: true permissions: description: "List of project permissions." items: type: "string" type: "array" uniqueItems: true projects: description: "List of project IDs." items: format: "int64" type: "integer" type: "array" uniqueItems: true required: - "permissions" type: "object" ChangeDetails: additionalProperties: false description: "A change item." properties: field: description: "The name of the field changed." readOnly: true type: "string" fieldId: description: "The ID of the field changed." readOnly: true type: "string" fieldtype: description: "The type of the field changed." readOnly: true type: "string" from: description: "The details of the original value." readOnly: true type: "string" fromString: description: "The details of the original value as a string." readOnly: true type: "string" to: description: "The details of the new value." readOnly: true type: "string" toString: description: "The details of the new value as a string." readOnly: true type: "string" type: "object" ChangeFilterOwner: additionalProperties: false description: "The account ID of the new owner." properties: accountId: description: "The account ID of the new owner." type: "string" required: - "accountId" type: "object" writeOnly: true ChangedValueBean: additionalProperties: false description: "Details of names changed in the record event." properties: changedFrom: description: "The value of the field before the change." readOnly: true type: "string" changedTo: description: "The value of the field after the change." readOnly: true type: "string" fieldName: description: "The name of the field changed." readOnly: true type: "string" type: "object" ChangedWorklog: additionalProperties: false description: "Details of a changed worklog." properties: properties: description: "Details of properties associated with the change." items: $ref: "#/components/schemas/EntityProperty" readOnly: true type: "array" updatedTime: description: "The datetime of the change." format: "int64" readOnly: true type: "integer" worklogId: description: "The ID of the worklog." format: "int64" readOnly: true type: "integer" type: "object" ChangedWorklogs: additionalProperties: false description: "List of changed worklogs." properties: lastPage: type: "boolean" nextPage: description: "The URL of the next list of changed worklogs." format: "uri" readOnly: true type: "string" self: description: "The URL of this changed worklogs list." format: "uri" readOnly: true type: "string" since: description: "The datetime of the first worklog item in the list." format: "int64" readOnly: true type: "integer" until: description: "The datetime of the last worklog item in the list." format: "int64" readOnly: true type: "integer" values: description: "Changed worklog list." items: $ref: "#/components/schemas/ChangedWorklog" readOnly: true type: "array" type: "object" Changelog: additionalProperties: false description: "A log of changes made to issue fields. Changelogs related to workflow\ \ associations are currently being deprecated." properties: author: allOf: - $ref: "#/components/schemas/UserDetails" description: "The user who made the change." readOnly: true created: description: "The date on which the change took place." format: "date-time" readOnly: true type: "string" historyMetadata: allOf: - $ref: "#/components/schemas/HistoryMetadata" description: "The history metadata associated with the changed." readOnly: true id: description: "The ID of the changelog." readOnly: true type: "string" items: description: "The list of items changed." items: $ref: "#/components/schemas/ChangeDetails" readOnly: true type: "array" type: "object" ColumnItem: additionalProperties: false description: "Details of an issue navigator column item." properties: label: description: "The issue navigator column label." type: "string" value: description: "The issue navigator column value." type: "string" type: "object" ColumnRequestBody: additionalProperties: false properties: columns: items: type: "string" type: "array" type: "object" Comment: additionalProperties: true description: "A comment." properties: author: allOf: - $ref: "#/components/schemas/UserDetails" description: "The ID of the user who created the comment." readOnly: true body: description: "The comment text." type: "string" created: description: "The date and time at which the comment was created." format: "date-time" readOnly: true type: "string" id: description: "The ID of the comment." readOnly: true type: "string" jsdAuthorCanSeeRequest: description: "Whether the comment was added from an email sent by a person\ \ who is not part of the issue. See [Allow external emails to be added\ \ as comments on issues](https://support.atlassian.com/jira-service-management-cloud/docs/allow-external-emails-to-be-added-as-comments-on-issues/)for\ \ information on setting up this feature." readOnly: true type: "boolean" jsdPublic: description: "Whether the comment is visible in Jira Service Desk. Defaults\ \ to true when comments are created in the Jira Cloud Platform. This includes\ \ when the site doesn't use Jira Service Desk or the project isn't a Jira\ \ Service Desk project and, therefore, there is no Jira Service Desk for\ \ the issue to be visible on. To create a comment with its visibility\ \ in Jira Service Desk set to false, use the Jira Service Desk REST API\ \ [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post)\ \ operation." readOnly: true type: "boolean" properties: description: "A list of comment properties. Optional on create and update." items: $ref: "#/components/schemas/EntityProperty" type: "array" renderedBody: description: "The rendered version of the comment." readOnly: true type: "string" self: description: "The URL of the comment." readOnly: true type: "string" updateAuthor: allOf: - $ref: "#/components/schemas/UserDetails" description: "The ID of the user who updated the comment last." readOnly: true updated: description: "The date and time at which the comment was updated last." format: "date-time" readOnly: true type: "string" visibility: allOf: - $ref: "#/components/schemas/Visibility" description: "The group or role to which this comment is visible. Optional\ \ on create and update." type: "object" ComponentIssuesCount: additionalProperties: false description: "Count of issues assigned to a component." properties: issueCount: description: "The count of issues assigned to a component." format: "int64" readOnly: true type: "integer" self: description: "The URL for this count of issues for a component." format: "uri" readOnly: true type: "string" type: "object" xml: name: "component" ComponentJsonBean: additionalProperties: true properties: ari: type: "string" description: type: "string" id: type: "string" metadata: additionalProperties: type: "string" type: "object" name: type: "string" self: type: "string" type: "object" ComponentWithIssueCount: additionalProperties: false description: "Details about a component with a count of the issues it contains." properties: assignee: allOf: - $ref: "#/components/schemas/User" description: "The details of the user associated with `assigneeType`, if\ \ any. See `realAssignee` for details of the user assigned to issues created\ \ with this component." assigneeType: description: "The nominal user type used to determine the assignee for issues\ \ created with this component. See `realAssigneeType` for details on how\ \ the type of the user, and hence the user, assigned to issues is determined.\ \ Takes the following values:\n\n * `PROJECT_LEAD` the assignee to any\ \ issues created with this component is nominally the lead for the project\ \ the component is in.\n * `COMPONENT_LEAD` the assignee to any issues\ \ created with this component is nominally the lead for the component.\n\ \ * `UNASSIGNED` an assignee is not set for issues created with this\ \ component.\n * `PROJECT_DEFAULT` the assignee to any issues created\ \ with this component is nominally the default assignee for the project\ \ that the component is in." enum: - "PROJECT_DEFAULT" - "COMPONENT_LEAD" - "PROJECT_LEAD" - "UNASSIGNED" readOnly: true type: "string" description: description: "The description for the component." readOnly: true type: "string" id: description: "The unique identifier for the component." readOnly: true type: "string" isAssigneeTypeValid: description: "Whether a user is associated with `assigneeType`. For example,\ \ if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead\ \ is not set, then `false` is returned." readOnly: true type: "boolean" issueCount: description: "Count of issues for the component." format: "int64" readOnly: true type: "integer" lead: allOf: - $ref: "#/components/schemas/User" description: "The user details for the component's lead user." name: description: "The name for the component." readOnly: true type: "string" project: description: "The key of the project to which the component is assigned." readOnly: true type: "string" projectId: description: "Not used." format: "int64" readOnly: true type: "integer" realAssignee: allOf: - $ref: "#/components/schemas/User" description: "The user assigned to issues created with this component, when\ \ `assigneeType` does not identify a valid assignee." realAssigneeType: description: "The type of the assignee that is assigned to issues created\ \ with this component, when an assignee cannot be set from the `assigneeType`.\ \ For example, `assigneeType` is set to `COMPONENT_LEAD` but no component\ \ lead is set. This property is set to one of the following values:\n\n\ \ * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project\ \ lead has permission to be assigned issues in the project that the component\ \ is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD`\ \ and the component lead has permission to be assigned issues in the project\ \ that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED`\ \ and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT`\ \ when none of the preceding cases are true." enum: - "PROJECT_DEFAULT" - "COMPONENT_LEAD" - "PROJECT_LEAD" - "UNASSIGNED" readOnly: true type: "string" self: description: "The URL for this count of the issues contained in the component." format: "uri" readOnly: true type: "string" type: "object" CompoundClause: description: "A JQL query clause that consists of nested clauses. For example,\ \ `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note\ \ that, where nesting is not defined, the parser nests JQL clauses based on\ \ the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A\ \ OR B) AND C\". See Setting the precedence of operators for more information\ \ about precedence in JQL queries.`" properties: clauses: description: "The list of nested clauses." items: $ref: "#/components/schemas/JqlQueryClause" type: "array" operator: description: "The operator between the clauses." enum: - "and" - "or" - "not" type: "string" required: - "clauses" - "operator" type: "object" ConditionGroupConfiguration: additionalProperties: false description: "The conditions group associated with the transition." nullable: true properties: conditionGroups: description: "The nested conditions of the condition group." items: $ref: "#/components/schemas/ConditionGroupConfiguration" type: "array" conditions: description: "The rules for this condition." items: $ref: "#/components/schemas/WorkflowRuleConfiguration" type: "array" operation: description: "Determines how the conditions in the group are evaluated.\ \ Accepts either `ANY` or `ALL`. If `ANY` is used, at least one condition\ \ in the group must be true for the group to evaluate to true. If `ALL`\ \ is used, all conditions in the group must be true for the group to evaluate\ \ to true." enum: - "ANY" - "ALL" type: "string" type: "object" ConditionGroupUpdate: additionalProperties: false description: "The conditions group associated with the transition." nullable: true properties: conditionGroups: description: "The nested conditions of the condition group." items: $ref: "#/components/schemas/ConditionGroupUpdate" type: "array" conditions: description: "The rules for this condition." items: $ref: "#/components/schemas/WorkflowRuleConfiguration" type: "array" operation: description: "Determines how the conditions in the group are evaluated.\ \ Accepts either `ANY` or `ALL`. If `ANY` is used, at least one condition\ \ in the group must be true for the group to evaluate to true. If `ALL`\ \ is used, all conditions in the group must be true for the group to evaluate\ \ to true." enum: - "ANY" - "ALL" type: "string" required: - "operation" type: "object" Configuration: additionalProperties: false description: "Details about the configuration of Jira." properties: attachmentsEnabled: description: "Whether the ability to add attachments to issues is enabled." readOnly: true type: "boolean" issueLinkingEnabled: description: "Whether the ability to link issues is enabled." readOnly: true type: "boolean" subTasksEnabled: description: "Whether the ability to create subtasks for issues is enabled." readOnly: true type: "boolean" timeTrackingConfiguration: allOf: - $ref: "#/components/schemas/TimeTrackingConfiguration" description: "The configuration of time tracking." readOnly: true timeTrackingEnabled: description: "Whether the ability to track time is enabled. This property\ \ is deprecated." readOnly: true type: "boolean" unassignedIssuesAllowed: description: "Whether the ability to create unassigned issues is enabled.\ \ See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM)\ \ for details." readOnly: true type: "boolean" votingEnabled: description: "Whether the ability for users to vote on issues is enabled.\ \ See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM)\ \ for details." readOnly: true type: "boolean" watchingEnabled: description: "Whether the ability for users to watch issues is enabled.\ \ See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM)\ \ for details." readOnly: true type: "boolean" type: "object" ConnectCustomFieldValue: description: "A list of custom field details." properties: _type: description: "The type of custom field." enum: - "StringIssueField" - "NumberIssueField" - "RichTextIssueField" - "SingleSelectIssueField" - "MultiSelectIssueField" - "TextIssueField" type: "string" writeOnly: true fieldID: description: "The custom field ID." type: "integer" writeOnly: true issueID: description: "The issue ID." type: "integer" writeOnly: true number: description: "The value of number type custom field when `_type` is `NumberIssueField`." type: "number" optionID: description: "The value of single select and multiselect custom field type\ \ when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`." type: "string" richText: description: "The value of richText type custom field when `_type` is `RichTextIssueField`." type: "string" string: description: "The value of string type custom field when `_type` is `StringIssueField`." type: "string" text: description: "The value of of text custom field type when `_type` is `TextIssueField`." type: "string" required: - "_type" - "fieldID" - "issueID" type: "object" writeOnly: true ConnectCustomFieldValues: additionalProperties: false description: "Details of updates for a custom field." properties: updateValueList: description: "The list of custom field update details." items: $ref: "#/components/schemas/ConnectCustomFieldValue" type: "array" type: "object" writeOnly: true ConnectModule: description: "A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/)\ \ in the same format as in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/)." example: description: value: "field with team" type: "single_select" extractions: - path: "category" type: "text" name: "categoryName" name: value: "Team" key: "team-field" type: "object" ConnectModules: example: jiraEntityProperties: - keyConfigurations: - extractions: - objectName: "extension" type: "text" alias: "attachmentExtension" propertyKey: "attachment" entityType: "issue" name: value: "Attachment Index Document" key: "dynamic-attachment-entity-property" jiraIssueFields: - description: value: "A dynamically added single-select field" type: "single_select" extractions: - path: "category" type: "text" name: "categoryName" name: value: "Dynamic single select" key: "dynamic-select-field" properties: modules: description: "A list of app modules in the same format as the `modules`\ \ property in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/)." items: $ref: "#/components/schemas/ConnectModule" type: "array" required: - "modules" type: "object" ConnectWorkflowTransitionRule: description: "A workflow transition rule." properties: configuration: $ref: "#/components/schemas/RuleConfiguration" id: description: "The ID of the transition rule." example: "123" type: "string" key: description: "The key of the rule, as defined in the Connect app descriptor." example: "WorkflowKey" type: "string" transition: $ref: "#/components/schemas/WorkflowTransition" required: - "configuration" - "id" - "key" type: "object" ContainerForProjectFeatures: additionalProperties: false description: "The list of features on a project." properties: features: description: "The project features." items: $ref: "#/components/schemas/ProjectFeature" type: "array" type: "object" ContainerForRegisteredWebhooks: additionalProperties: false description: "Container for a list of registered webhooks. Webhook details are\ \ returned in the same order as the request." properties: webhookRegistrationResult: description: "A list of registered webhooks." items: $ref: "#/components/schemas/RegisteredWebhook" type: "array" type: "object" ContainerForWebhookIDs: additionalProperties: false description: "Container for a list of webhook IDs." properties: webhookIds: description: "A list of webhook IDs." items: description: "A list of webhook IDs." format: "int64" type: "integer" type: "array" required: - "webhookIds" type: "object" ContainerOfWorkflowSchemeAssociations: additionalProperties: false description: "A container for a list of workflow schemes together with the projects\ \ they are associated with." properties: values: description: "A list of workflow schemes together with projects they are\ \ associated with." items: $ref: "#/components/schemas/WorkflowSchemeAssociations" type: "array" required: - "values" type: "object" Context: additionalProperties: false description: "A context." properties: id: description: "The ID of the context." format: "int64" readOnly: true type: "integer" name: description: "The name of the context." readOnly: true type: "string" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the context." type: "object" ContextForProjectAndIssueType: additionalProperties: false description: "The project and issue type mapping with a matching custom field\ \ context." properties: contextId: description: "The ID of the custom field context." type: "string" issueTypeId: description: "The ID of the issue type." type: "string" projectId: description: "The ID of the project." type: "string" required: - "contextId" - "issueTypeId" - "projectId" type: "object" ContextualConfiguration: additionalProperties: false description: "Details of the contextual configuration for a custom field." properties: configuration: description: "The field configuration." fieldContextId: description: "The ID of the field context the configuration is associated\ \ with." readOnly: true type: "string" id: description: "The ID of the configuration." type: "string" schema: description: "The field value schema." required: - "fieldContextId" - "id" type: "object" ConvertedJQLQueries: additionalProperties: false description: "The converted JQL queries." properties: queriesWithUnknownUsers: description: "List of queries containing user information that could not\ \ be mapped to an existing user" items: $ref: "#/components/schemas/JQLQueryWithUnknownUsers" type: "array" queryStrings: description: "The list of converted query strings with account IDs in place\ \ of user identifiers." items: type: "string" type: "array" type: "object" CreateCustomFieldContext: additionalProperties: false description: "The details of a created custom field context." properties: description: description: "The description of the context." type: "string" id: description: "The ID of the context." readOnly: true type: "string" issueTypeIds: description: "The list of issue types IDs for the context. If the list is\ \ empty, the context refers to all issue types." items: type: "string" type: "array" name: description: "The name of the context." type: "string" projectIds: description: "The list of project IDs associated with the context. If the\ \ list is empty, the context is global." items: type: "string" type: "array" required: - "name" type: "object" CreateIssueSecuritySchemeDetails: additionalProperties: true description: "Issue security scheme and it's details" properties: description: description: "The description of the issue security scheme." maxLength: 255 type: "string" writeOnly: true levels: description: "The list of scheme levels which should be added to the security\ \ scheme." items: $ref: "#/components/schemas/SecuritySchemeLevelBean" type: "array" writeOnly: true name: description: "The name of the issue security scheme. Must be unique (case-insensitive)." maxLength: 60 type: "string" writeOnly: true required: - "name" type: "object" CreateNotificationSchemeDetails: additionalProperties: true description: "Details of an notification scheme." properties: description: description: "The description of the notification scheme." maxLength: 4000 type: "string" writeOnly: true name: description: "The name of the notification scheme. Must be unique (case-insensitive)." maxLength: 255 type: "string" writeOnly: true notificationSchemeEvents: description: "The list of notifications which should be added to the notification\ \ scheme." items: $ref: "#/components/schemas/NotificationSchemeEventDetails" type: "array" writeOnly: true required: - "name" type: "object" CreatePriorityDetails: additionalProperties: true description: "Details of an issue priority." properties: description: description: "The description of the priority." maxLength: 255 type: "string" writeOnly: true iconUrl: description: "The URL of an icon for the priority. Accepted protocols are\ \ HTTP and HTTPS. Built in icons can also be used." enum: - "/images/icons/priorities/blocker.png" - "/images/icons/priorities/critical.png" - "/images/icons/priorities/high.png" - "/images/icons/priorities/highest.png" - "/images/icons/priorities/low.png" - "/images/icons/priorities/lowest.png" - "/images/icons/priorities/major.png" - "/images/icons/priorities/medium.png" - "/images/icons/priorities/minor.png" - "/images/icons/priorities/trivial.png" maxLength: 255 type: "string" writeOnly: true name: description: "The name of the priority. Must be unique." maxLength: 60 type: "string" writeOnly: true statusColor: description: "The status color of the priority in 3-digit or 6-digit hexadecimal\ \ format." type: "string" writeOnly: true required: - "name" - "statusColor" type: "object" CreateProjectDetails: additionalProperties: false description: "Details about the project." properties: assigneeType: description: "The default assignee when creating issues for this project." enum: - "PROJECT_LEAD" - "UNASSIGNED" type: "string" avatarId: description: "An integer value for the project's avatar." format: "int64" type: "integer" categoryId: 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." format: "int64" type: "integer" description: description: "A brief description of the project." type: "string" fieldConfigurationScheme: description: "The ID of the field configuration scheme for the project.\ \ Use the [Get all field configuration schemes](#api-rest-api-2-fieldconfigurationscheme-get)\ \ operation to get a list of field configuration scheme IDs. If you specify\ \ the field configuration scheme you cannot specify the project template\ \ key." format: "int64" type: "integer" issueSecurityScheme: description: "The ID of the issue security scheme for the project, which\ \ enables you to control who can and cannot view issues. Use the [Get\ \ issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource\ \ to get all issue security scheme IDs." format: "int64" type: "integer" issueTypeScheme: description: "The ID of the issue type scheme for the project. Use the [Get\ \ all issue type schemes](#api-rest-api-2-issuetypescheme-get) operation\ \ to get a list of issue type scheme IDs. If you specify the issue type\ \ scheme you cannot specify the project template key." format: "int64" type: "integer" issueTypeScreenScheme: description: "The ID of the issue type screen scheme for the project. Use\ \ the [Get all issue type screen schemes](#api-rest-api-2-issuetypescreenscheme-get)\ \ operation to get a list of issue type screen scheme IDs. If you specify\ \ the issue type screen scheme you cannot specify the project template\ \ key." format: "int64" type: "integer" key: description: "Project keys must be unique and start with an uppercase letter\ \ followed by one or more uppercase alphanumeric characters. The maximum\ \ length is 10 characters." type: "string" lead: description: "This parameter is deprecated because of privacy changes. Use\ \ `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details. The user name of the project lead. Either `lead` or `leadAccountId`\ \ must be set when creating a project. Cannot be provided with `leadAccountId`." type: "string" leadAccountId: description: "The account ID of the project lead. Either `lead` or `leadAccountId`\ \ must be set when creating a project. Cannot be provided with `lead`." maxLength: 128 type: "string" name: description: "The name of the project." type: "string" notificationScheme: description: "The ID of the notification scheme for the project. Use the\ \ [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource\ \ to get a list of notification scheme IDs." format: "int64" type: "integer" permissionScheme: description: "The ID of the permission scheme for the project. Use the [Get\ \ all permission schemes](#api-rest-api-2-permissionscheme-get) resource\ \ to see a list of all permission scheme IDs." format: "int64" type: "integer" projectTemplateKey: description: "A predefined configuration for a project. The type of the\ \ `projectTemplateKey` must match with the type of the `projectTypeKey`." enum: - "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" - "com.pyxis.greenhopper.jira:gh-cross-team-template" - "com.pyxis.greenhopper.jira:gh-cross-team-planning-template" - "com.atlassian.servicedesk:simplified-it-service-management" - "com.atlassian.servicedesk:simplified-general-service-desk" - "com.atlassian.servicedesk:simplified-general-service-desk-it" - "com.atlassian.servicedesk:simplified-general-service-desk-business" - "com.atlassian.servicedesk:simplified-internal-service-desk" - "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-marketing-service-desk" - "com.atlassian.servicedesk:simplified-finance-service-desk" - "com.atlassian.servicedesk:simplified-analytics-service-desk" - "com.atlassian.servicedesk:simplified-design-service-desk" - "com.atlassian.servicedesk:simplified-sales-service-desk" - "com.atlassian.servicedesk:simplified-halp-service-desk" - "com.atlassian.servicedesk:simplified-blank-project-it" - "com.atlassian.servicedesk:simplified-blank-project-business" - "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-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" - "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-" type: "string" projectTypeKey: description: "The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes),\ \ which defines the application-specific feature set. If you don't specify\ \ the project template you have to specify the project type." enum: - "software" - "service_desk" - "business" type: "string" url: description: "A link to information about this project, such as project\ \ documentation" type: "string" workflowScheme: description: "The ID of the workflow scheme for the project. Use the [Get\ \ all workflow schemes](#api-rest-api-2-workflowscheme-get) operation\ \ to get a list of workflow scheme IDs. If you specify the workflow scheme\ \ you cannot specify the project template key." format: "int64" type: "integer" required: - "key" - "name" type: "object" CreateResolutionDetails: additionalProperties: true description: "Details of an issue resolution." properties: description: description: "The description of the resolution." maxLength: 255 type: "string" writeOnly: true name: description: "The name of the resolution. Must be unique (case-insensitive)." maxLength: 60 type: "string" writeOnly: true required: - "name" type: "object" CreateUiModificationDetails: additionalProperties: false description: "The details of a UI modification." properties: contexts: description: "List of contexts of the UI modification. The maximum number\ \ of contexts is 1000." items: $ref: "#/components/schemas/UiModificationContextDetails" type: "array" writeOnly: true data: description: "The data of the UI modification. The maximum size of the data\ \ is 50000 characters." type: "string" writeOnly: true description: description: "The description of the UI modification. The maximum length\ \ is 255 characters." type: "string" writeOnly: true name: description: "The name of the UI modification. The maximum length is 255\ \ characters." type: "string" writeOnly: true required: - "name" type: "object" CreateUpdateRoleRequestBean: additionalProperties: false properties: description: description: "A description of the project role. Required when fully updating\ \ a project role. Optional when creating or partially updating a project\ \ role." type: "string" name: description: "The name of the project role. Must be unique. Cannot begin\ \ or end with whitespace. The maximum length is 255 characters. Required\ \ when creating a project role. Optional when partially updating a project\ \ role." type: "string" type: "object" CreateWorkflowCondition: additionalProperties: false description: "A workflow transition condition." properties: conditions: description: "The list of workflow conditions." items: $ref: "#/components/schemas/CreateWorkflowCondition" type: "array" configuration: additionalProperties: description: "EXPERIMENTAL. The configuration of the transition rule." description: "EXPERIMENTAL. The configuration of the transition rule." type: "object" operator: description: "The compound condition operator." enum: - "AND" - "OR" type: "string" type: description: "The type of the transition rule." type: "string" type: "object" CreateWorkflowDetails: additionalProperties: false description: "The details of a workflow." properties: description: description: "The description of the workflow. The maximum length is 1000\ \ characters." type: "string" name: description: "The name of the workflow. The name must be unique. The maximum\ \ length is 255 characters. Characters can be separated by a whitespace\ \ but the name cannot start or end with a whitespace." type: "string" statuses: description: "The statuses of the workflow. Any status that does not include\ \ a transition is added to the workflow without a transition." items: $ref: "#/components/schemas/CreateWorkflowStatusDetails" type: "array" uniqueItems: true transitions: description: "The transitions of the workflow. For the request to be valid,\ \ these transitions must:\n\n * include one *initial* transition.\n *\ \ not use the same name for a *global* and *directed* transition.\n *\ \ have a unique name for each *global* transition.\n * have a unique\ \ 'to' status for each *global* transition.\n * have unique names for\ \ each transition from a status.\n * not have a 'from' status on *initial*\ \ and *global* transitions.\n * have a 'from' status on *directed* transitions.\n\ \nAll the transition statuses must be included in `statuses`." items: $ref: "#/components/schemas/CreateWorkflowTransitionDetails" type: "array" required: - "name" - "statuses" - "transitions" type: "object" writeOnly: true CreateWorkflowStatusDetails: additionalProperties: false description: "The details of a transition status." properties: id: description: "The ID of the status." type: "string" properties: additionalProperties: type: "string" description: "The properties of the status." type: "object" required: - "id" type: "object" writeOnly: true CreateWorkflowTransitionDetails: additionalProperties: false description: "The details of a workflow transition." properties: description: description: "The description of the transition. The maximum length is 1000\ \ characters." type: "string" from: description: "The statuses the transition can start from." items: type: "string" type: "array" name: description: "The name of the transition. The maximum length is 60 characters." type: "string" properties: additionalProperties: type: "string" description: "The properties of the transition." type: "object" rules: allOf: - $ref: "#/components/schemas/CreateWorkflowTransitionRulesDetails" description: "The rules of the transition." screen: allOf: - $ref: "#/components/schemas/CreateWorkflowTransitionScreenDetails" description: "The screen of the transition." to: description: "The status the transition goes to." type: "string" type: description: "The type of the transition." enum: - "global" - "initial" - "directed" type: "string" required: - "name" - "to" - "type" type: "object" writeOnly: true CreateWorkflowTransitionRule: additionalProperties: false description: "A workflow transition rule." properties: configuration: additionalProperties: description: "EXPERIMENTAL. The configuration of the transition rule." description: "EXPERIMENTAL. The configuration of the transition rule." type: "object" type: description: "The type of the transition rule." type: "string" required: - "type" type: "object" CreateWorkflowTransitionRulesDetails: additionalProperties: false description: "The details of a workflow transition rules." properties: conditions: allOf: - $ref: "#/components/schemas/CreateWorkflowCondition" description: "The workflow conditions." postFunctions: description: "The workflow post functions.\n\n**Note:** The default post\ \ functions are always added to the *initial* transition, as in:\n\n \ \ \"postFunctions\": [\n {\n \"type\": \"IssueCreateFunction\"\ \n },\n {\n \"type\": \"IssueReindexFunction\"\ \n },\n {\n \"type\": \"FireIssueEventFunction\"\ ,\n \"configuration\": {\n \"event\": {\n \ \ \"id\": \"1\",\n \"name\": \"issue_created\"\ \n }\n }\n }\n ]\n\n**Note:** The\ \ default post functions are always added to the *global* and *directed*\ \ transitions, as in:\n\n \"postFunctions\": [\n {\n \ \ \"type\": \"UpdateIssueStatusFunction\"\n },\n {\n\ \ \"type\": \"CreateCommentFunction\"\n },\n \ \ {\n \"type\": \"GenerateChangeHistoryFunction\"\n \ \ },\n {\n \"type\": \"IssueReindexFunction\"\n \ \ },\n {\n \"type\": \"FireIssueEventFunction\",\n\ \ \"configuration\": {\n \"event\": {\n \ \ \"id\": \"13\",\n \"name\": \"issue_generic\"\ \n }\n }\n }\n ]" items: $ref: "#/components/schemas/CreateWorkflowTransitionRule" type: "array" validators: description: "The workflow validators.\n\n**Note:** The default permission\ \ validator is always added to the *initial* transition, as in:\n\n \ \ \"validators\": [\n {\n \"type\": \"PermissionValidator\"\ ,\n \"configuration\": {\n \"permissionKey\"\ : \"CREATE_ISSUES\"\n }\n }\n ]" items: $ref: "#/components/schemas/CreateWorkflowTransitionRule" type: "array" type: "object" writeOnly: true CreateWorkflowTransitionScreenDetails: additionalProperties: false description: "The details of a transition screen." properties: id: description: "The ID of the screen." type: "string" required: - "id" type: "object" writeOnly: true CreatedIssue: additionalProperties: false description: "Details about a created issue or subtask." properties: id: description: "The ID of the created issue or subtask." readOnly: true type: "string" key: description: "The key of the created issue or subtask." readOnly: true type: "string" self: description: "The URL of the created issue or subtask." readOnly: true type: "string" transition: allOf: - $ref: "#/components/schemas/NestedResponse" description: "The response code and messages related to any requested transition." readOnly: true watchers: allOf: - $ref: "#/components/schemas/NestedResponse" description: "The response code and messages related to any requested watchers." readOnly: true type: "object" CreatedIssues: additionalProperties: false description: "Details about the issues created and the errors for requests that\ \ failed." properties: errors: description: "Error details for failed issue creation requests." items: $ref: "#/components/schemas/BulkOperationErrorResult" readOnly: true type: "array" issues: description: "Details of the issues created." items: $ref: "#/components/schemas/CreatedIssue" readOnly: true type: "array" type: "object" CustomContextVariable: additionalProperties: false discriminator: mapping: issue: "#/components/schemas/IssueContextVariable" json: "#/components/schemas/JsonContextVariable" user: "#/components/schemas/UserContextVariable" propertyName: "type" oneOf: - $ref: "#/components/schemas/UserContextVariable" - $ref: "#/components/schemas/IssueContextVariable" - $ref: "#/components/schemas/JsonContextVariable" properties: type: description: "Type of custom context variable." type: "string" required: - "type" type: "object" CustomFieldConfigurations: additionalProperties: false description: "Details of configurations for a custom field." properties: configurations: description: "The list of custom field configuration details." items: $ref: "#/components/schemas/ContextualConfiguration" maxItems: 1000 minItems: 1 type: "array" uniqueItems: true required: - "configurations" type: "object" writeOnly: true CustomFieldContext: additionalProperties: false description: "The details of a custom field context." properties: description: description: "The description of the context." type: "string" id: description: "The ID of the context." type: "string" isAnyIssueType: description: "Whether the context apply to all issue types." type: "boolean" isGlobalContext: description: "Whether the context is global." type: "boolean" name: description: "The name of the context." type: "string" required: - "description" - "id" - "isAnyIssueType" - "isGlobalContext" - "name" type: "object" CustomFieldContextDefaultValue: additionalProperties: false discriminator: mapping: datepicker: "#/components/schemas/CustomFieldContextDefaultValueDate" datetimepicker: "#/components/schemas/CustomFieldContextDefaultValueDateTime" float: "#/components/schemas/CustomFieldContextDefaultValueFloat" forge.datetime: "#/components/schemas/CustomFieldContextDefaultValueForgeDateTimeField" forge.group: "#/components/schemas/CustomFieldContextDefaultValueForgeGroupField" forge.group.list: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiGroupField" forge.number: "#/components/schemas/CustomFieldContextDefaultValueForgeNumberField" forge.object: "#/components/schemas/CustomFieldContextDefaultValueForgeObjectField" forge.string: "#/components/schemas/CustomFieldContextDefaultValueForgeStringField" forge.string.list: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiStringField" forge.user: "#/components/schemas/CustomFieldContextDefaultValueForgeUserField" forge.user.list: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiUserField" grouppicker.multiple: "#/components/schemas/CustomFieldContextDefaultValueMultipleGroupPicker" grouppicker.single: "#/components/schemas/CustomFieldContextDefaultValueSingleGroupPicker" labels: "#/components/schemas/CustomFieldContextDefaultValueLabels" multi.user.select: "#/components/schemas/CustomFieldContextDefaultValueMultiUserPicker" option.cascading: "#/components/schemas/CustomFieldContextDefaultValueCascadingOption" option.multiple: "#/components/schemas/CustomFieldContextDefaultValueMultipleOption" option.single: "#/components/schemas/CustomFieldContextDefaultValueSingleOption" project: "#/components/schemas/CustomFieldContextDefaultValueProject" readonly: "#/components/schemas/CustomFieldContextDefaultValueReadOnly" single.user.select: "#/components/schemas/CustomFieldContextSingleUserPickerDefaults" textarea: "#/components/schemas/CustomFieldContextDefaultValueTextArea" textfield: "#/components/schemas/CustomFieldContextDefaultValueTextField" url: "#/components/schemas/CustomFieldContextDefaultValueURL" version.multiple: "#/components/schemas/CustomFieldContextDefaultValueMultipleVersionPicker" version.single: "#/components/schemas/CustomFieldContextDefaultValueSingleVersionPicker" propertyName: "type" oneOf: - $ref: "#/components/schemas/CustomFieldContextDefaultValueCascadingOption" - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultipleOption" - $ref: "#/components/schemas/CustomFieldContextDefaultValueSingleOption" - $ref: "#/components/schemas/CustomFieldContextSingleUserPickerDefaults" - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultiUserPicker" - $ref: "#/components/schemas/CustomFieldContextDefaultValueSingleGroupPicker" - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultipleGroupPicker" - $ref: "#/components/schemas/CustomFieldContextDefaultValueDate" - $ref: "#/components/schemas/CustomFieldContextDefaultValueDateTime" - $ref: "#/components/schemas/CustomFieldContextDefaultValueURL" - $ref: "#/components/schemas/CustomFieldContextDefaultValueProject" - $ref: "#/components/schemas/CustomFieldContextDefaultValueFloat" - $ref: "#/components/schemas/CustomFieldContextDefaultValueLabels" - $ref: "#/components/schemas/CustomFieldContextDefaultValueTextField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueTextArea" - $ref: "#/components/schemas/CustomFieldContextDefaultValueReadOnly" - $ref: "#/components/schemas/CustomFieldContextDefaultValueSingleVersionPicker" - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultipleVersionPicker" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeStringField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiStringField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeObjectField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeDateTimeField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeGroupField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiGroupField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeNumberField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeUserField" - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiUserField" type: "object" CustomFieldContextDefaultValueCascadingOption: description: "The default value for a cascading select custom field." properties: cascadingOptionId: description: "The ID of the default cascading option." type: "string" contextId: description: "The ID of the context." type: "string" optionId: description: "The ID of the default option." type: "string" type: type: "string" required: - "contextId" - "optionId" - "type" type: "object" CustomFieldContextDefaultValueDate: description: "The default value for a Date custom field." properties: date: description: "The default date in ISO format. Ignored if `useCurrent` is\ \ true." type: "string" type: type: "string" useCurrent: default: false description: "Whether to use the current date." type: "boolean" required: - "type" type: "object" CustomFieldContextDefaultValueDateTime: description: "The default value for a date time custom field." properties: dateTime: description: "The default date-time in ISO format. Ignored if `useCurrent`\ \ is true." type: "string" type: type: "string" useCurrent: default: false description: "Whether to use the current date." type: "boolean" required: - "type" type: "object" CustomFieldContextDefaultValueFloat: description: "Default value for a float (number) custom field." properties: number: description: "The default floating-point number." format: "double" type: "number" type: type: "string" required: - "number" - "type" type: "object" CustomFieldContextDefaultValueForgeDateTimeField: description: "The default value for a Forge date time custom field." properties: contextId: description: "The ID of the context." type: "string" dateTime: description: "The default date-time in ISO format. Ignored if `useCurrent`\ \ is true." type: "string" type: type: "string" useCurrent: default: false description: "Whether to use the current date." type: "boolean" required: - "contextId" - "type" type: "object" CustomFieldContextDefaultValueForgeGroupField: description: "The default value for a Forge group custom field." properties: contextId: description: "The ID of the context." type: "string" groupId: description: "The ID of the the default group." type: "string" type: type: "string" required: - "contextId" - "groupId" - "type" type: "object" CustomFieldContextDefaultValueForgeMultiGroupField: description: "The default value for a Forge collection of groups custom field." properties: contextId: description: "The ID of the context." type: "string" groupIds: description: "The IDs of the default groups." items: description: "The IDs of the default groups." type: "string" type: "array" uniqueItems: true type: type: "string" required: - "contextId" - "groupIds" - "type" type: "object" CustomFieldContextDefaultValueForgeMultiStringField: description: "The default text for a Forge collection of strings custom field." properties: type: type: "string" values: description: "List of string values. The maximum length for a value is 254\ \ characters." items: description: "List of string values. The maximum length for a value is\ \ 254 characters." type: "string" type: "array" required: - "type" type: "object" CustomFieldContextDefaultValueForgeMultiUserField: description: "Defaults for a Forge collection of users custom field." properties: accountIds: description: "The IDs of the default users." items: description: "The IDs of the default users." type: "string" type: "array" contextId: description: "The ID of the context." type: "string" type: type: "string" required: - "accountIds" - "contextId" - "type" type: "object" CustomFieldContextDefaultValueForgeNumberField: description: "Default value for a Forge number custom field." properties: contextId: description: "The ID of the context." type: "string" number: description: "The default floating-point number." format: "double" type: "number" type: type: "string" required: - "contextId" - "number" - "type" type: "object" CustomFieldContextDefaultValueForgeObjectField: description: "The default value for a Forge object custom field." properties: object: description: "The default JSON object." type: "object" type: type: "string" required: - "type" type: "object" CustomFieldContextDefaultValueForgeStringField: description: "The default text for a Forge string custom field." properties: contextId: description: "The ID of the context." type: "string" text: description: "The default text. The maximum length is 254 characters." type: "string" type: type: "string" required: - "contextId" - "type" type: "object" CustomFieldContextDefaultValueForgeUserField: description: "Defaults for a Forge user custom field." properties: accountId: description: "The ID of the default user." type: "string" contextId: description: "The ID of the context." type: "string" type: type: "string" userFilter: $ref: "#/components/schemas/UserFilter" required: - "accountId" - "contextId" - "type" - "userFilter" type: "object" CustomFieldContextDefaultValueLabels: description: "Default value for a labels custom field." properties: labels: description: "The default labels value." items: description: "The default labels value." type: "string" type: "array" type: type: "string" required: - "labels" - "type" type: "object" CustomFieldContextDefaultValueMultiUserPicker: description: "The default value for a User Picker (multiple) custom field." properties: accountIds: description: "The IDs of the default users." items: description: "The IDs of the default users." type: "string" type: "array" contextId: description: "The ID of the context." type: "string" type: type: "string" required: - "accountIds" - "contextId" - "type" type: "object" CustomFieldContextDefaultValueMultipleGroupPicker: description: "The default value for a multiple group picker custom field." properties: contextId: description: "The ID of the context." type: "string" groupIds: description: "The IDs of the default groups." items: description: "The IDs of the default groups." type: "string" type: "array" uniqueItems: true type: type: "string" required: - "contextId" - "groupIds" - "type" type: "object" CustomFieldContextDefaultValueMultipleOption: description: "The default value for a multi-select custom field." properties: contextId: description: "The ID of the context." type: "string" optionIds: description: "The list of IDs of the default options." items: description: "The list of IDs of the default options." type: "string" type: "array" type: type: "string" required: - "contextId" - "optionIds" - "type" type: "object" CustomFieldContextDefaultValueMultipleVersionPicker: description: "The default value for a multiple version picker custom field." properties: type: type: "string" versionIds: description: "The IDs of the default versions." items: description: "The IDs of the default versions." type: "string" type: "array" uniqueItems: true versionOrder: description: "The order the pickable versions are displayed in. If not provided,\ \ the released-first order is used. Available version orders are `\"releasedFirst\"\ ` and `\"unreleasedFirst\"`." type: "string" required: - "type" - "versionIds" type: "object" CustomFieldContextDefaultValueProject: description: "The default value for a project custom field." properties: contextId: description: "The ID of the context." type: "string" projectId: description: "The ID of the default project." type: "string" type: type: "string" required: - "contextId" - "projectId" - "type" type: "object" CustomFieldContextDefaultValueReadOnly: description: "The default text for a read only custom field." properties: text: description: "The default text. The maximum length is 255 characters." type: "string" type: type: "string" required: - "type" type: "object" CustomFieldContextDefaultValueSingleGroupPicker: description: "The default value for a group picker custom field." properties: contextId: description: "The ID of the context." type: "string" groupId: description: "The ID of the the default group." type: "string" type: type: "string" required: - "contextId" - "groupId" - "type" type: "object" CustomFieldContextDefaultValueSingleOption: description: "The default value for a single select custom field." properties: contextId: description: "The ID of the context." type: "string" optionId: description: "The ID of the default option." type: "string" type: type: "string" required: - "contextId" - "optionId" - "type" type: "object" CustomFieldContextDefaultValueSingleVersionPicker: description: "The default value for a version picker custom field." properties: type: type: "string" versionId: description: "The ID of the default version." type: "string" versionOrder: description: "The order the pickable versions are displayed in. If not provided,\ \ the released-first order is used. Available version orders are `\"releasedFirst\"\ ` and `\"unreleasedFirst\"`." type: "string" required: - "type" - "versionId" type: "object" CustomFieldContextDefaultValueTextArea: description: "The default text for a text area custom field." properties: text: description: "The default text. The maximum length is 32767 characters." type: "string" type: type: "string" required: - "type" type: "object" CustomFieldContextDefaultValueTextField: description: "The default text for a text custom field." properties: text: description: "The default text. The maximum length is 254 characters." type: "string" type: type: "string" required: - "type" type: "object" CustomFieldContextDefaultValueURL: description: "The default value for a URL custom field." properties: contextId: description: "The ID of the context." type: "string" type: type: "string" url: description: "The default URL." type: "string" required: - "contextId" - "type" - "url" type: "object" CustomFieldContextDefaultValueUpdate: additionalProperties: false description: "Default values to update." properties: defaultValues: items: $ref: "#/components/schemas/CustomFieldContextDefaultValue" type: "array" type: "object" CustomFieldContextOption: additionalProperties: false description: "Details of the custom field options for a context." properties: disabled: description: "Whether the option is disabled." type: "boolean" id: description: "The ID of the custom field option." type: "string" optionId: description: "For cascading options, the ID of the custom field option containing\ \ the cascading option." type: "string" value: description: "The value of the custom field option." type: "string" required: - "disabled" - "id" - "value" type: "object" CustomFieldContextProjectMapping: additionalProperties: false description: "Details of a context to project association." properties: contextId: description: "The ID of the context." readOnly: true type: "string" isGlobalContext: description: "Whether context is global." readOnly: true type: "boolean" projectId: description: "The ID of the project." readOnly: true type: "string" required: - "contextId" type: "object" CustomFieldContextSingleUserPickerDefaults: description: "Defaults for a User Picker (single) custom field." properties: accountId: description: "The ID of the default user." type: "string" contextId: description: "The ID of the context." type: "string" type: type: "string" userFilter: $ref: "#/components/schemas/UserFilter" required: - "accountId" - "contextId" - "type" - "userFilter" type: "object" CustomFieldContextUpdateDetails: additionalProperties: false description: "Details of a custom field context." properties: description: description: "The description of the custom field context. The maximum length\ \ is 255 characters." type: "string" writeOnly: true name: description: "The name of the custom field context. The name must be unique.\ \ The maximum length is 255 characters." type: "string" writeOnly: true type: "object" CustomFieldCreatedContextOptionsList: additionalProperties: false description: "A list of custom field options for a context." properties: options: description: "The created custom field options." items: $ref: "#/components/schemas/CustomFieldContextOption" type: "array" type: "object" CustomFieldDefinitionJsonBean: additionalProperties: false properties: description: description: "The description of the custom field, which is displayed in\ \ Jira." type: "string" name: description: "The name of the custom field, which is displayed in Jira.\ \ This is not the unique identifier." type: "string" searcherKey: description: "The searcher defines the way the field is searched in Jira.\ \ For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*.\ \ \nThe search UI (basic search and JQL search) will display different\ \ operations and values for the field, based on the field searcher. You\ \ must specify a searcher that is valid for the field type, as listed\ \ below (abbreviated values shown):\n\n * `cascadingselect`: `cascadingselectsearcher`\n\ \ * `datepicker`: `daterange`\n * `datetime`: `datetimerange`\n * `float`:\ \ `exactnumber` or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n\ \ * `importid`: `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n\ \ * `multicheckboxes`: `multiselectsearcher`\n * `multigrouppicker`:\ \ `multiselectsearcher`\n * `multiselect`: `multiselectsearcher`\n *\ \ `multiuserpicker`: `userpickergroupsearcher`\n * `multiversion`: `versionsearcher`\n\ \ * `project`: `projectsearcher`\n * `radiobuttons`: `multiselectsearcher`\n\ \ * `readonlyfield`: `textsearcher`\n * `select`: `multiselectsearcher`\n\ \ * `textarea`: `textsearcher`\n * `textfield`: `textsearcher`\n * \ \ `url`: `exacttextsearcher`\n * `userpicker`: `userpickergroupsearcher`\n\ \ * `version`: `versionsearcher`\n\nIf no searcher is provided, the field\ \ isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-)\ \ have a searcher set automatically, so are always searchable." enum: - "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:daterange" - "com.atlassian.jira.plugin.system.customfieldtypes:datetimerange" - "com.atlassian.jira.plugin.system.customfieldtypes:exactnumber" - "com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:numberrange" - "com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:textsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher" type: "string" type: description: "The type of the custom field. These built-in custom field\ \ types are available:\n\n * `cascadingselect`: Enables values to be\ \ selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`)\n\ \ * `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`)\n\ \ * `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`)\n\ \ * `float`: Stores and validates a numeric (floating point) input (value:\ \ `com.atlassian.jira.plugin.system.customfieldtypes:float`)\n * `grouppicker`:\ \ Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`)\n\ \ * `importid`: A read-only field that stores the ID the issue had in\ \ the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`)\n\ \ * `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`)\n\ \ * `multicheckboxes`: Stores multiple values using checkboxes (value:\ \ ``)\n * `multigrouppicker`: Stores multiple user groups using a picker\ \ control (value: ``)\n * `multiselect`: Stores multiple values using\ \ a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`)\n\ \ * `multiuserpicker`: Stores multiple users using a picker control (value:\ \ `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`)\n\ \ * `multiversion`: Stores multiple versions from the versions available\ \ in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`)\n\ \ * `project`: Stores a project from a list of projects that the user\ \ is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`)\n\ \ * `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`)\n\ \ * `readonlyfield`: Stores a read-only text value, which can only be\ \ populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`)\n\ \ * `select`: Stores a value from a configurable list of options (value:\ \ `com.atlassian.jira.plugin.system.customfieldtypes:select`)\n * `textarea`:\ \ Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`)\n\ \ * `textfield`: Stores a text string using a single-line text box (value:\ \ `com.atlassian.jira.plugin.system.customfieldtypes:textfield`)\n * \ \ `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`)\n\ \ * `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`)\n\ \ * `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`)\n\ \nTo create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-),\ \ use the ID of the Forge custom field type as the value. For example,\ \ `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`." type: "string" required: - "name" - "type" type: "object" CustomFieldOption: additionalProperties: false description: "Details of a custom option for a field." properties: self: description: "The URL of these custom field option details." format: "uri" readOnly: true type: "string" value: description: "The value of the custom field option." readOnly: true type: "string" type: "object" xml: name: "customFieldOption" CustomFieldOptionCreate: additionalProperties: false description: "Details of a custom field option to create." properties: disabled: description: "Whether the option is disabled." type: "boolean" optionId: description: "For cascading options, the ID of the custom field object containing\ \ the cascading option." type: "string" value: description: "The value of the custom field option." type: "string" required: - "value" type: "object" CustomFieldOptionUpdate: additionalProperties: false description: "Details of a custom field option for a context." properties: disabled: description: "Whether the option is disabled." type: "boolean" id: description: "The ID of the custom field option." type: "string" value: description: "The value of the custom field option." type: "string" required: - "id" type: "object" CustomFieldReplacement: additionalProperties: false description: "Details about the replacement for a deleted version." properties: customFieldId: description: "The ID of the custom field in which to replace the version\ \ number." format: "int64" type: "integer" moveTo: description: "The version number to use as a replacement for the deleted\ \ version." format: "int64" type: "integer" type: "object" CustomFieldUpdatedContextOptionsList: additionalProperties: false description: "A list of custom field options for a context." properties: options: description: "The updated custom field options." items: $ref: "#/components/schemas/CustomFieldOptionUpdate" type: "array" type: "object" CustomFieldValueUpdate: additionalProperties: false description: "A list of issue IDs and the value to update a custom field to." properties: issueIds: description: "The list of issue IDs." items: format: "int64" type: "integer" writeOnly: true type: "array" writeOnly: true value: description: "The value for the custom field. The value must be compatible\ \ with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types)\ \ as follows:\n\n * `string` the value must be a string.\n * `number`\ \ the value must be a number.\n * `datetime` the value must be a string\ \ that represents a date in the ISO format or the simplified extended\ \ ISO format. For example, `\"2023-01-18T12:00:00-03:00\"` or `\"2023-01-18T12:00:00.000Z\"\ `. However, the milliseconds part is ignored.\n * `user` the value must\ \ be an object that contains the `accountId` field.\n * `group` the value\ \ must be an object that contains the group `name` or `groupId` field.\ \ Because group names can change, we recommend using `groupId`.\n\nA list\ \ of appropriate values must be provided if the field is of the `list`\ \ [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types)." required: - "issueIds" - "value" type: "object" writeOnly: true CustomFieldValueUpdateDetails: additionalProperties: false description: "Details of updates for a custom field." properties: updates: description: "The list of custom field update details." items: $ref: "#/components/schemas/CustomFieldValueUpdate" type: "array" type: "object" writeOnly: true Dashboard: additionalProperties: false description: "Details of a dashboard." properties: automaticRefreshMs: description: "The automatic refresh interval for the dashboard in milliseconds." format: "int32" readOnly: true type: "integer" description: type: "string" editPermissions: description: "The details of any edit share permissions for the dashboard." items: $ref: "#/components/schemas/SharePermission" readOnly: true type: "array" id: description: "The ID of the dashboard." readOnly: true type: "string" isFavourite: description: "Whether the dashboard is selected as a favorite by the user." readOnly: true type: "boolean" isWritable: description: "Whether the current user has permission to edit the dashboard." readOnly: true type: "boolean" name: description: "The name of the dashboard." readOnly: true type: "string" owner: allOf: - $ref: "#/components/schemas/UserBean" description: "The owner of the dashboard." readOnly: true popularity: description: "The number of users who have this dashboard as a favorite." format: "int64" readOnly: true type: "integer" rank: description: "The rank of this dashboard." format: "int32" readOnly: true type: "integer" self: description: "The URL of these dashboard details." format: "uri" readOnly: true type: "string" sharePermissions: description: "The details of any view share permissions for the dashboard." items: $ref: "#/components/schemas/SharePermission" readOnly: true type: "array" systemDashboard: description: "Whether the current dashboard is system dashboard." readOnly: true type: "boolean" view: description: "The URL of the dashboard." readOnly: true type: "string" type: "object" DashboardDetails: additionalProperties: false description: "Details of a dashboard." properties: description: description: "The description of the dashboard." type: "string" editPermissions: description: "The edit permissions for the dashboard." items: $ref: "#/components/schemas/SharePermission" type: "array" name: description: "The name of the dashboard." type: "string" sharePermissions: description: "The share permissions for the dashboard." items: $ref: "#/components/schemas/SharePermission" type: "array" required: - "editPermissions" - "name" - "sharePermissions" type: "object" DashboardGadget: additionalProperties: false description: "Details of a gadget." properties: color: description: "The color of the gadget. Should be one of `blue`, `red`, `yellow`,\ \ `green`, `cyan`, `purple`, `gray`, or `white`." enum: - "blue" - "red" - "yellow" - "green" - "cyan" - "purple" - "gray" - "white" readOnly: true type: "string" id: description: "The ID of the gadget instance." format: "int64" readOnly: true type: "integer" moduleKey: description: "The module key of the gadget type." readOnly: true type: "string" position: allOf: - $ref: "#/components/schemas/DashboardGadgetPosition" description: "The position of the gadget." readOnly: true title: description: "The title of the gadget." readOnly: true type: "string" uri: description: "The URI of the gadget type." readOnly: true type: "string" required: - "color" - "id" - "position" - "title" type: "object" DashboardGadgetPosition: additionalProperties: false description: "Details of a gadget position." properties: The column position of the gadget.: format: "int32" type: "integer" The row position of the gadget.: format: "int32" type: "integer" required: - "The column position of the gadget." - "The row position of the gadget." type: "object" writeOnly: true DashboardGadgetResponse: additionalProperties: false description: "The list of gadgets on the dashboard." properties: gadgets: description: "The list of gadgets." items: $ref: "#/components/schemas/DashboardGadget" readOnly: true type: "array" required: - "gadgets" type: "object" DashboardGadgetSettings: additionalProperties: false description: "Details of the settings for a dashboard gadget." properties: color: description: "The color of the gadget. Should be one of `blue`, `red`, `yellow`,\ \ `green`, `cyan`, `purple`, `gray`, or `white`." type: "string" writeOnly: true ignoreUriAndModuleKeyValidation: description: "Whether to ignore the validation of module key and URI. For\ \ example, when a gadget is created that is a part of an application that\ \ isn't installed." type: "boolean" writeOnly: true moduleKey: description: "The module key of the gadget type. Can't be provided with\ \ `uri`." type: "string" writeOnly: true position: allOf: - $ref: "#/components/schemas/DashboardGadgetPosition" description: "The position of the gadget. When the gadget is placed into\ \ the position, other gadgets in the same column are moved down to accommodate\ \ it." title: description: "The title of the gadget." type: "string" writeOnly: true uri: description: "The URI of the gadget type. Can't be provided with `moduleKey`." type: "string" writeOnly: true type: "object" DashboardGadgetUpdateRequest: additionalProperties: false description: "The details of the gadget to update." properties: color: description: "The color of the gadget. Should be one of `blue`, `red`, `yellow`,\ \ `green`, `cyan`, `purple`, `gray`, or `white`." type: "string" writeOnly: true position: allOf: - $ref: "#/components/schemas/DashboardGadgetPosition" description: "The position of the gadget." title: description: "The title of the gadget." type: "string" writeOnly: true type: "object" DataClassificationLevelsBean: additionalProperties: false description: "The data classification." properties: classifications: description: "The data classifications." items: $ref: "#/components/schemas/DataClassificationTagBean" type: "array" type: "object" DataClassificationTagBean: additionalProperties: false description: "The data classification." properties: color: description: "The color of the data classification object." type: "string" description: description: "The description of the data classification object." type: "string" guideline: description: "The guideline of the data classification object." type: "string" id: description: "The ID of the data classification object." type: "string" name: description: "The name of the data classification object." type: "string" rank: description: "The rank of the data classification object." format: "int32" type: "integer" status: description: "The status of the data classification object." type: "string" required: - "id" - "status" type: "object" DateRangeFilterRequest: additionalProperties: false description: "List issues archived within a specified date range." properties: dateAfter: description: "List issues archived after a specified date, passed in the\ \ YYYY-MM-DD format." type: "string" dateBefore: description: "List issues archived before a specified date provided in the\ \ YYYY-MM-DD format." type: "string" required: - "dateAfter" - "dateBefore" type: "object" DefaultLevelValue: additionalProperties: true description: "Details of scheme and new default level." maxLength: 1000 properties: defaultLevelId: description: "The ID of the issue security level to set as default for the\ \ specified scheme. Providing null will reset the default level." type: "string" writeOnly: true issueSecuritySchemeId: description: "The ID of the issue security scheme to set default level for." type: "string" writeOnly: true required: - "defaultLevelId" - "issueSecuritySchemeId" type: "object" writeOnly: true DefaultShareScope: additionalProperties: false description: "Details of the scope of the default sharing for new filters and\ \ dashboards." properties: scope: description: "The scope of the default sharing for new filters and dashboards:\n\ \n * `AUTHENTICATED` Shared with all logged-in users.\n * `GLOBAL` Shared\ \ with all logged-in users. This shows as `AUTHENTICATED` in the response.\n\ \ * `PRIVATE` Not shared with any users." enum: - "GLOBAL" - "AUTHENTICATED" - "PRIVATE" type: "string" required: - "scope" type: "object" xml: name: "defaultShareScope" DefaultWorkflow: additionalProperties: false description: "Details about the default workflow." properties: updateDraftIfNeeded: description: "Whether a draft workflow scheme is created or updated when\ \ updating an active workflow scheme. The draft is updated with the new\ \ default workflow. Defaults to `false`." type: "boolean" workflow: description: "The name of the workflow to set as the default workflow." type: "string" required: - "workflow" type: "object" DeleteAndReplaceVersionBean: additionalProperties: false properties: customFieldReplacementList: description: "An array of custom field IDs (`customFieldId`) and version\ \ IDs (`moveTo`) to update when the fields contain the deleted version." items: $ref: "#/components/schemas/CustomFieldReplacement" type: "array" moveAffectedIssuesTo: description: "The ID of the version to update `affectedVersion` to when\ \ the field contains the deleted version." format: "int64" type: "integer" moveFixIssuesTo: description: "The ID of the version to update `fixVersion` to when the field\ \ contains the deleted version." format: "int64" type: "integer" type: "object" DeprecatedWorkflow: additionalProperties: false description: "Details about a workflow." properties: default: type: "boolean" description: description: "The description of the workflow." readOnly: true type: "string" lastModifiedDate: description: "The datetime the workflow was last modified." readOnly: true type: "string" lastModifiedUser: description: "This property 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." readOnly: true type: "string" lastModifiedUserAccountId: description: "The account ID of the user that last modified the workflow." readOnly: true type: "string" name: description: "The name of the workflow." readOnly: true type: "string" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope where this workflow applies" readOnly: true steps: description: "The number of steps included in the workflow." format: "int32" readOnly: true type: "integer" type: "object" DetailedErrorCollection: additionalProperties: false properties: details: additionalProperties: {} description: "Map of objects representing additional details for an error" type: "object" errorMessages: description: "The list of error messages produced by this operation. For\ \ example, \"input parameter 'key' must be provided\"" items: type: "string" type: "array" errors: additionalProperties: type: "string" description: "The list of errors by parameter returned by the operation.\ \ For example,\"projectKey\": \"Project keys must start with an uppercase\ \ letter, followed by one or more uppercase alphanumeric characters.\"" type: "object" type: "object" DocumentVersion: additionalProperties: false description: "The current version details of this workflow scheme." properties: id: description: "The version UUID." type: "string" versionNumber: description: "The version number." format: "int64" type: "integer" required: - "id" - "versionNumber" type: "object" EntityProperty: additionalProperties: false description: "An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)." properties: key: description: "The key of the property. Required on create and update." type: "string" value: description: "The value of the property. Required on create and update." type: "object" EntityPropertyDetails: properties: entityId: description: "The entity property ID." example: 123 type: "number" key: description: "The entity property key." example: "mykey" type: "string" value: description: "The new value of the entity property." example: "newValue" type: "string" required: - "entityId" - "key" - "value" type: "object" Error: additionalProperties: false properties: count: format: "int64" type: "integer" issueIdsOrKeys: items: type: "string" type: "array" uniqueItems: true message: type: "string" type: "object" ErrorCollection: additionalProperties: false description: "Error messages from an operation." properties: errorMessages: description: "The list of error messages produced by this operation. For\ \ example, \"input parameter 'key' must be provided\"" items: type: "string" type: "array" errors: additionalProperties: type: "string" description: "The list of errors by parameter returned by the operation.\ \ For example,\"projectKey\": \"Project keys must start with an uppercase\ \ letter, followed by one or more uppercase alphanumeric characters.\"" type: "object" status: format: "int32" type: "integer" type: "object" ErrorCollections: additionalProperties: false type: "object" ErrorMessage: additionalProperties: false example: message: "The request is not from a Connect app." properties: message: description: "The error message." type: "string" required: - "message" type: "object" Errors: additionalProperties: false properties: issueIsSubtask: $ref: "#/components/schemas/Error" issuesInArchivedProjects: $ref: "#/components/schemas/Error" issuesInUnlicensedProjects: $ref: "#/components/schemas/Error" issuesNotFound: $ref: "#/components/schemas/Error" type: "object" EventNotification: additionalProperties: false description: "Details about a notification associated with an event." properties: emailAddress: description: "The email address." type: "string" expand: description: "Expand options that include additional event notification\ \ details in the response." type: "string" field: allOf: - $ref: "#/components/schemas/FieldDetails" description: "The custom user or group field." group: allOf: - $ref: "#/components/schemas/GroupName" description: "The specified group." id: description: "The ID of the notification." format: "int64" type: "integer" notificationType: description: "Identifies the recipients of the notification." enum: - "CurrentAssignee" - "Reporter" - "CurrentUser" - "ProjectLead" - "ComponentLead" - "User" - "Group" - "ProjectRole" - "EmailAddress" - "AllWatchers" - "UserCustomField" - "GroupCustomField" type: "string" parameter: description: "As a group's name can change, use of `recipient` is recommended.\ \ The identifier associated with the `notificationType` value that defines\ \ the receiver of the notification, where the receiver isn't implied by\ \ `notificationType` value. So, when `notificationType` is:\n\n * `User`\ \ The `parameter` is the user account ID.\n * `Group` The `parameter`\ \ is the group name.\n * `ProjectRole` The `parameter` is the project\ \ role ID.\n * `UserCustomField` The `parameter` is the ID of the custom\ \ field.\n * `GroupCustomField` The `parameter` is the ID of the custom\ \ field." type: "string" projectRole: allOf: - $ref: "#/components/schemas/ProjectRole" description: "The specified project role." recipient: description: "The identifier associated with the `notificationType` value\ \ that defines the receiver of the notification, where the receiver isn't\ \ implied by the `notificationType` value. So, when `notificationType`\ \ is:\n\n * `User`, `recipient` is the user account ID.\n * `Group`,\ \ `recipient` is the group ID.\n * `ProjectRole`, `recipient` is the\ \ project role ID.\n * `UserCustomField`, `recipient` is the ID of the\ \ custom field.\n * `GroupCustomField`, `recipient` is the ID of the\ \ custom field." type: "string" user: allOf: - $ref: "#/components/schemas/UserDetails" description: "The specified user." type: "object" ExpandPrioritySchemeBean: additionalProperties: false description: "A priority scheme with less fields to be used in for an API expand\ \ response." properties: id: description: "The ID of the priority scheme." readOnly: true type: "string" name: description: "The name of the priority scheme." readOnly: true type: "string" self: description: "The URL of the priority scheme." readOnly: true type: "string" type: "object" ExpandPrioritySchemePage: additionalProperties: true properties: maxResults: format: "int32" type: "integer" startAt: format: "int64" type: "integer" total: format: "int64" type: "integer" type: "object" ExportArchivedIssuesTaskProgressResponse: additionalProperties: false description: "The response for status request for a running/completed export\ \ task." properties: fileUrl: type: "string" payload: type: "string" progress: format: "int64" type: "integer" status: type: "string" submittedTime: format: "date-time" type: "string" taskId: type: "string" type: "object" FailedWebhook: additionalProperties: false description: "Details about a failed webhook." properties: body: description: "The webhook body." type: "string" failureTime: description: "The time the webhook was added to the list of failed webhooks\ \ (that is, the time of the last failed retry)." format: "int64" type: "integer" id: description: "The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier`\ \ header with the webhook." type: "string" url: description: "The original webhook destination." type: "string" required: - "failureTime" - "id" - "url" type: "object" FailedWebhooks: additionalProperties: false description: "A page of failed webhooks." properties: maxResults: description: "The maximum number of items on the page. If the list of values\ \ is shorter than this number, then there are no more pages." format: "int32" type: "integer" next: description: "The URL to the next page of results. Present only if the request\ \ returned at least one result.The next page may be empty at the time\ \ of receiving the response, but new failed webhooks may appear in time.\ \ You can save the URL to the next page and query for new results periodically\ \ (for example, every hour)." format: "uri" type: "string" values: description: "The list of webhooks." items: $ref: "#/components/schemas/FailedWebhook" type: "array" required: - "maxResults" - "values" type: "object" Field: additionalProperties: false description: "Details of a field." properties: contextsCount: description: "Number of contexts where the field is used." format: "int64" type: "integer" description: description: "The description of the field." type: "string" id: description: "The ID of the field." type: "string" isLocked: description: "Whether the field is locked." type: "boolean" isUnscreenable: description: "Whether the field is shown on screen or not." type: "boolean" key: description: "The key of the field." type: "string" lastUsed: $ref: "#/components/schemas/FieldLastUsed" name: description: "The name of the field." type: "string" projectsCount: description: "Number of projects where the field is used." format: "int64" type: "integer" schema: $ref: "#/components/schemas/JsonTypeBean" screensCount: description: "Number of screens where the field is used." format: "int64" type: "integer" searcherKey: description: "The searcher key of the field. Returned for custom fields." type: "string" required: - "id" - "name" - "schema" type: "object" FieldChangedClause: description: "A clause that asserts whether a field was changed. For example,\ \ `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED)\ \ for more information about the CHANGED operator." properties: field: $ref: "#/components/schemas/JqlQueryField" operator: description: "The operator applied to the field." enum: - "changed" type: "string" predicates: description: "The list of time predicates." items: $ref: "#/components/schemas/JqlQueryClauseTimePredicate" type: "array" required: - "field" - "operator" - "predicates" type: "object" FieldConfiguration: additionalProperties: false description: "Details of a field configuration." properties: description: description: "The description of the field configuration." type: "string" id: description: "The ID of the field configuration." format: "int64" type: "integer" isDefault: description: "Whether the field configuration is the default." type: "boolean" name: description: "The name of the field configuration." type: "string" required: - "description" - "id" - "name" type: "object" FieldConfigurationDetails: additionalProperties: false description: "Details of a field configuration." properties: description: description: "The description of the field configuration." maxLength: 255 type: "string" writeOnly: true name: description: "The name of the field configuration. Must be unique." maxLength: 255 type: "string" writeOnly: true required: - "name" type: "object" FieldConfigurationIssueTypeItem: additionalProperties: false description: "The field configuration for an issue type." properties: fieldConfigurationId: description: "The ID of the field configuration." type: "string" fieldConfigurationSchemeId: description: "The ID of the field configuration scheme." type: "string" issueTypeId: description: "The ID of the issue type or *default*. When set to *default*\ \ this field configuration issue type item applies to all issue types\ \ without a field configuration." type: "string" required: - "fieldConfigurationId" - "fieldConfigurationSchemeId" - "issueTypeId" type: "object" FieldConfigurationItem: additionalProperties: false description: "A field within a field configuration." properties: description: description: "The description of the field within the field configuration." type: "string" id: description: "The ID of the field within the field configuration." type: "string" isHidden: description: "Whether the field is hidden in the field configuration." type: "boolean" isRequired: description: "Whether the field is required in the field configuration." type: "boolean" renderer: description: "The renderer type for the field within the field configuration." type: "string" required: - "id" type: "object" FieldConfigurationItemsDetails: additionalProperties: false description: "Details of field configuration items." properties: fieldConfigurationItems: description: "Details of fields in a field configuration." items: $ref: "#/components/schemas/FieldConfigurationItem" type: "array" writeOnly: true required: - "fieldConfigurationItems" type: "object" FieldConfigurationScheme: additionalProperties: false description: "Details of a field configuration scheme." properties: description: description: "The description of the field configuration scheme." type: "string" id: description: "The ID of the field configuration scheme." type: "string" name: description: "The name of the field configuration scheme." type: "string" required: - "id" - "name" type: "object" FieldConfigurationSchemeProjectAssociation: additionalProperties: false description: "Associated field configuration scheme and project." properties: fieldConfigurationSchemeId: description: "The ID of the field configuration scheme. If the field configuration\ \ scheme ID is `null`, the operation assigns the default field configuration\ \ scheme." type: "string" writeOnly: true projectId: description: "The ID of the project." type: "string" writeOnly: true required: - "projectId" type: "object" FieldConfigurationSchemeProjects: additionalProperties: false description: "Project list with assigned field configuration schema." properties: fieldConfigurationScheme: $ref: "#/components/schemas/FieldConfigurationScheme" projectIds: description: "The IDs of projects using the field configuration scheme." items: description: "The IDs of projects using the field configuration scheme." type: "string" type: "array" required: - "projectIds" type: "object" FieldConfigurationToIssueTypeMapping: additionalProperties: false description: "The field configuration to issue type mapping." properties: fieldConfigurationId: description: "The ID of the field configuration." type: "string" writeOnly: true issueTypeId: description: "The ID of the issue type or *default*. When set to *default*\ \ this field configuration issue type item applies to all issue types\ \ without a field configuration. An issue type can be included only once\ \ in a request." type: "string" writeOnly: true required: - "fieldConfigurationId" - "issueTypeId" type: "object" writeOnly: true FieldCreateMetadata: additionalProperties: false description: "The metadata describing an issue field for createmeta." properties: allowedValues: description: "The list of values allowed in the field." items: readOnly: true readOnly: true type: "array" autoCompleteUrl: description: "The URL that can be used to automatically complete the field." readOnly: true type: "string" configuration: additionalProperties: readOnly: true description: "The configuration properties." readOnly: true type: "object" defaultValue: description: "The default value of the field." readOnly: true fieldId: description: "The field id." readOnly: true type: "string" hasDefaultValue: description: "Whether the field has a default value." readOnly: true type: "boolean" key: description: "The key of the field." readOnly: true type: "string" name: description: "The name of the field." readOnly: true type: "string" operations: description: "The list of operations that can be performed on the field." items: readOnly: true type: "string" readOnly: true type: "array" required: description: "Whether the field is required." readOnly: true type: "boolean" schema: allOf: - $ref: "#/components/schemas/JsonTypeBean" description: "The data type of the field." readOnly: true required: - "fieldId" - "key" - "name" - "operations" - "required" - "schema" type: "object" xml: name: "availableField" FieldDetails: additionalProperties: false description: "Details about a field." properties: clauseNames: description: "The names that can be used to reference the field in an advanced\ \ search. For more information, see [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ)." items: type: "string" type: "array" uniqueItems: true custom: description: "Whether the field is a custom field." type: "boolean" id: description: "The ID of the field." type: "string" key: description: "The key of the field." type: "string" name: description: "The name of the field." type: "string" navigable: description: "Whether the field can be used as a column on the issue navigator." type: "boolean" orderable: description: "Whether the content of the field can be used to order lists." type: "boolean" schema: allOf: - $ref: "#/components/schemas/JsonTypeBean" description: "The data schema for the field." scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the field." searchable: description: "Whether the content of the field can be searched." type: "boolean" type: "object" xml: name: "field" FieldLastUsed: additionalProperties: false description: "Information about the most recent use of a field." properties: type: description: "Last used value type:\n\n * *TRACKED*: field is tracked and\ \ a last used date is available.\n * *NOT\\_TRACKED*: field is not tracked,\ \ last used date is not available.\n * *NO\\_INFORMATION*: field is tracked,\ \ but no last used date is available." enum: - "TRACKED" - "NOT_TRACKED" - "NO_INFORMATION" type: "string" value: description: "The date when the value of the field last changed." format: "date-time" type: "string" type: "object" FieldMetadata: additionalProperties: false description: "The metadata describing an issue field." properties: allowedValues: description: "The list of values allowed in the field." items: readOnly: true readOnly: true type: "array" autoCompleteUrl: description: "The URL that can be used to automatically complete the field." readOnly: true type: "string" configuration: additionalProperties: readOnly: true description: "The configuration properties." readOnly: true type: "object" defaultValue: description: "The default value of the field." readOnly: true hasDefaultValue: description: "Whether the field has a default value." readOnly: true type: "boolean" key: description: "The key of the field." readOnly: true type: "string" name: description: "The name of the field." readOnly: true type: "string" operations: description: "The list of operations that can be performed on the field." items: readOnly: true type: "string" readOnly: true type: "array" required: description: "Whether the field is required." readOnly: true type: "boolean" schema: allOf: - $ref: "#/components/schemas/JsonTypeBean" description: "The data type of the field." readOnly: true required: - "key" - "name" - "operations" - "required" - "schema" type: "object" xml: name: "availableField" FieldReferenceData: additionalProperties: false description: "Details of a field that can be used in advanced searches." properties: auto: description: "Whether the field provide auto-complete suggestions." enum: - "true" - "false" type: "string" cfid: description: "If the item is a custom field, the ID of the custom field." type: "string" deprecated: description: "Whether this field has been deprecated." enum: - "true" - "false" type: "string" deprecatedSearcherKey: description: "The searcher key of the field, only passed when the field\ \ is deprecated." type: "string" displayName: description: "The display name contains the following:\n\n * for system\ \ fields, the field name. For example, `Summary`.\n * for collapsed custom\ \ fields, the field name followed by a hyphen and then the field name\ \ and field type. For example, `Component - Component[Dropdown]`.\n *\ \ for other custom fields, the field name followed by a hyphen and then\ \ the custom field ID. For example, `Component - cf[10061]`." type: "string" operators: description: "The valid search operators for the field." items: type: "string" type: "array" orderable: description: "Whether the field can be used in a query's `ORDER BY` clause." enum: - "true" - "false" type: "string" searchable: description: "Whether the content of this field can be searched." enum: - "true" - "false" type: "string" types: description: "The data types of items in the field." items: type: "string" type: "array" value: description: "The field identifier." type: "string" type: "object" FieldUpdateOperation: additionalProperties: false description: "Details of an operation to perform on a field." properties: add: description: "The value to add to the field." example: "triaged" copy: description: "The field value to copy from another issue." example: issuelinks: sourceIssues: - key: "FP-5" edit: description: "The value to edit in the field." example: originalEstimate: "1w 1d" remainingEstimate: "4d" remove: description: "The value to removed from the field." example: "blocker" set: description: "The value to set in the field." example: "A new summary" type: "object" FieldValueClause: description: "A clause that asserts the current value of a field. For example,\ \ `summary ~ test`." properties: field: $ref: "#/components/schemas/JqlQueryField" operand: $ref: "#/components/schemas/JqlQueryClauseOperand" operator: description: "The operator between the field and operand." enum: - "=" - "!=" - ">" - "<" - ">=" - "<=" - "in" - "not in" - "~" - "~=" - "is" - "is not" type: "string" required: - "field" - "operand" - "operator" type: "object" FieldWasClause: description: "A clause that asserts a previous value of a field. For example,\ \ `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS)\ \ for more information about the WAS operator." properties: field: $ref: "#/components/schemas/JqlQueryField" operand: $ref: "#/components/schemas/JqlQueryClauseOperand" operator: description: "The operator between the field and operand." enum: - "was" - "was in" - "was not in" - "was not" type: "string" predicates: description: "The list of time predicates." items: $ref: "#/components/schemas/JqlQueryClauseTimePredicate" type: "array" required: - "field" - "operand" - "operator" - "predicates" type: "object" Fields: additionalProperties: false description: "Key fields from the linked issue." properties: assignee: allOf: - $ref: "#/components/schemas/UserDetails" description: "The assignee of the linked issue." readOnly: true issueType: allOf: - $ref: "#/components/schemas/IssueTypeDetails" description: "The type of the linked issue." readOnly: true issuetype: description: "The type of the linked issue." $ref: "#/components/schemas/IssueTypeDetails" priority: allOf: - $ref: "#/components/schemas/Priority" description: "The priority of the linked issue." readOnly: true status: allOf: - $ref: "#/components/schemas/StatusDetails" description: "The status of the linked issue." readOnly: true summary: description: "The summary description of the linked issue." readOnly: true type: "string" timetracking: allOf: - $ref: "#/components/schemas/TimeTrackingDetails" description: "The time tracking of the linked issue." readOnly: true type: "object" Filter: additionalProperties: false description: "Details about a filter." properties: approximateLastUsed: description: "\\[Experimental\\] Approximate last used time. Returns the\ \ date and time when the filter was last used. Returns `null` if the filter\ \ hasn't been used after tracking was enabled. For performance reasons,\ \ timestamps aren't updated in real time and therefore may not be exactly\ \ accurate." format: "date-time" readOnly: true type: "string" description: description: "A description of the filter." type: "string" editPermissions: description: "The groups and projects that can edit the filter." items: $ref: "#/components/schemas/SharePermission" type: "array" favourite: description: "Whether the filter is selected as a favorite." type: "boolean" favouritedCount: description: "The count of how many users have selected this filter as a\ \ favorite, including the filter owner." format: "int64" readOnly: true type: "integer" id: description: "The unique identifier for the filter." readOnly: true type: "string" jql: description: "The JQL query for the filter. For example, *project = SSP\ \ AND issuetype = Bug*." type: "string" name: description: "The name of the filter. Must be unique." type: "string" owner: allOf: - $ref: "#/components/schemas/User" description: "The user who owns the filter. This is defaulted to the creator\ \ of the filter, however Jira administrators can change the owner of a\ \ shared filter in the admin settings." readOnly: true searchUrl: description: "A URL to view the filter results in Jira, using the [Search\ \ for issues using JQL](#api-rest-api-2-filter-search-get) operation with\ \ the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*." format: "uri" readOnly: true type: "string" self: description: "The URL of the filter." format: "uri" readOnly: true type: "string" sharePermissions: description: "The groups and projects that the filter is shared with." items: $ref: "#/components/schemas/SharePermission" type: "array" sharedUsers: allOf: - $ref: "#/components/schemas/UserList" description: "A paginated list of the users that the filter is shared with.\ \ This includes users that are members of the groups or can browse the\ \ projects that the filter is shared with." readOnly: true subscriptions: allOf: - $ref: "#/components/schemas/FilterSubscriptionsList" description: "A paginated list of the users that are subscribed to the filter." readOnly: true viewUrl: description: "A URL to view the filter results in Jira, using the ID of\ \ the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*." format: "uri" readOnly: true type: "string" required: - "name" type: "object" xml: name: "filter" FilterDetails: additionalProperties: false description: "Details of a filter." properties: approximateLastUsed: description: "\\[Experimental\\] Approximate last used time. Returns the\ \ date and time when the filter was last used. Returns `null` if the filter\ \ hasn't been used after tracking was enabled. For performance reasons,\ \ timestamps aren't updated in real time and therefore may not be exactly\ \ accurate." format: "date-time" readOnly: true type: "string" description: description: "The description of the filter." type: "string" editPermissions: description: "The groups and projects that can edit the filter. This can\ \ be specified when updating a filter, but not when creating a filter." items: $ref: "#/components/schemas/SharePermission" type: "array" expand: description: "Expand options that include additional filter details in the\ \ response." readOnly: true type: "string" xml: attribute: true favourite: description: "Whether the filter is selected as a favorite by any users,\ \ not including the filter owner." readOnly: true type: "boolean" favouritedCount: description: "The count of how many users have selected this filter as a\ \ favorite, including the filter owner." format: "int64" readOnly: true type: "integer" id: description: "The unique identifier for the filter." readOnly: true type: "string" jql: description: "The JQL query for the filter. For example, *project = SSP\ \ AND issuetype = Bug*." readOnly: true type: "string" name: description: "The name of the filter." type: "string" owner: allOf: - $ref: "#/components/schemas/User" description: "The user who owns the filter. Defaults to the creator of the\ \ filter, however, Jira administrators can change the owner of a shared\ \ filter in the admin settings." readOnly: true searchUrl: description: "A URL to view the filter results in Jira, using the [Search\ \ for issues using JQL](#api-rest-api-2-filter-search-get) operation with\ \ the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*." format: "uri" readOnly: true type: "string" self: description: "The URL of the filter." format: "uri" readOnly: true type: "string" sharePermissions: description: "The groups and projects that the filter is shared with. This\ \ can be specified when updating a filter, but not when creating a filter." items: $ref: "#/components/schemas/SharePermission" type: "array" subscriptions: description: "The users that are subscribed to the filter." items: $ref: "#/components/schemas/FilterSubscription" readOnly: true type: "array" viewUrl: description: "A URL to view the filter results in Jira, using the ID of\ \ the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*." format: "uri" readOnly: true type: "string" required: - "name" type: "object" FilterSubscription: additionalProperties: false description: "Details of a user or group subscribing to a filter." properties: group: allOf: - $ref: "#/components/schemas/GroupName" description: "The group subscribing to filter." readOnly: true id: description: "The ID of the filter subscription." format: "int64" readOnly: true type: "integer" user: allOf: - $ref: "#/components/schemas/User" description: "The user subscribing to filter." readOnly: true type: "object" FilterSubscriptionsList: additionalProperties: false description: "A paginated list of subscriptions to a filter." properties: end-index: description: "The index of the last item returned on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "end-index" items: description: "The list of items." items: $ref: "#/components/schemas/FilterSubscription" readOnly: true type: "array" max-results: description: "The maximum number of results that could be on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "max-results" size: description: "The number of items on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true start-index: description: "The index of the first item returned on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "start-index" type: "object" FoundGroup: additionalProperties: false description: "A group found in a search." properties: groupId: description: "The ID of the group, which uniquely identifies the group across\ \ all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*." type: "string" html: description: "The group name with the matched query string highlighted with\ \ the HTML bold tag." type: "string" labels: items: $ref: "#/components/schemas/GroupLabel" type: "array" name: description: "The name of the group. The name of a group is mutable, to\ \ reliably identify a group use ``groupId`.`" type: "string" type: "object" xml: name: "group" FoundGroups: additionalProperties: false description: "The list of groups found in a search, including header text (Showing\ \ X of Y matching groups) and total of matched groups." properties: groups: items: $ref: "#/components/schemas/FoundGroup" type: "array" header: description: "Header text indicating the number of groups in the response\ \ and the total number of groups found in the search." type: "string" total: description: "The total number of groups found in the search." format: "int32" type: "integer" type: "object" xml: name: "groupsuggestions" FoundUsers: additionalProperties: false description: "The list of users found in a search, including header text (Showing\ \ X of Y matching users) and total of matched users." properties: header: description: "Header text indicating the number of users in the response\ \ and the total number of users found in the search." type: "string" total: description: "The total number of users found in the search." format: "int32" type: "integer" users: items: $ref: "#/components/schemas/UserPickerUser" type: "array" type: "object" FoundUsersAndGroups: additionalProperties: false description: "List of users and groups found in a search." properties: groups: $ref: "#/components/schemas/FoundGroups" users: $ref: "#/components/schemas/FoundUsers" type: "object" FunctionOperand: description: "An operand that is a function. See [Advanced searching - functions\ \ reference](https://confluence.atlassian.com/x/dwiiLQ) for more information\ \ about JQL functions." properties: arguments: description: "The list of function arguments." items: type: "string" type: "array" encodedOperand: description: "Encoded operand, which can be used directly in a JQL query." type: "string" function: description: "The name of the function." type: "string" required: - "arguments" - "function" type: "object" FunctionReferenceData: additionalProperties: false description: "Details of functions that can be used in advanced searches." properties: displayName: description: "The display name of the function." type: "string" isList: description: "Whether the function can take a list of arguments." enum: - "true" - "false" type: "string" supportsListAndSingleValueOperators: description: "Whether the function supports both single and list value operators." enum: - "true" - "false" type: "string" types: description: "The data types returned by the function." items: type: "string" type: "array" value: description: "The function identifier." type: "string" type: "object" GlobalScopeBean: additionalProperties: false properties: attributes: description: "Defines the behavior of the option in the global context.If\ \ notSelectable is set, the option cannot be set as the field's value.\ \ This is useful for archiving an option that has previously been selected\ \ but shouldn't be used anymore.If defaultValue is set, the option is\ \ selected by default." items: enum: - "notSelectable" - "defaultValue" type: "string" type: "array" uniqueItems: true type: "object" Group: additionalProperties: false properties: expand: description: "Expand options that include additional group details in the\ \ response." readOnly: true type: "string" xml: attribute: true groupId: description: "The ID of the group, which uniquely identifies the group across\ \ all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*." nullable: true type: "string" name: description: "The name of group." type: "string" self: description: "The URL for these group details." format: "uri" readOnly: true type: "string" users: allOf: - $ref: "#/components/schemas/PagedListUserDetailsApplicationUser" description: "A paginated list of the users that are members of the group.\ \ A maximum of 50 users is returned in the list, to access additional\ \ users append `[start-index:end-index]` to the expand request. For example,\ \ to access the next 50 users, use`?expand=users[51:100]`." readOnly: true type: "object" GroupDetails: additionalProperties: false description: "Details about a group." properties: groupId: description: "The ID of the group, which uniquely identifies the group across\ \ all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*." nullable: true type: "string" name: description: "The name of the group." type: "string" type: "object" GroupLabel: additionalProperties: false description: "A group label." properties: text: description: "The group label name." type: "string" title: description: "The title of the group label." type: "string" type: description: "The type of the group label." enum: - "ADMIN" - "SINGLE" - "MULTIPLE" type: "string" type: "object" xml: name: "grouplabel" GroupName: additionalProperties: false description: "Details about a group." properties: groupId: description: "The ID of the group, which uniquely identifies the group across\ \ all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*." nullable: true type: "string" name: description: "The name of group." type: "string" self: description: "The URL for these group details." format: "uri" readOnly: true type: "string" type: "object" HealthCheckResult: additionalProperties: false description: "Jira instance health check results. Deprecated and no longer returned." properties: description: description: "The description of the Jira health check item." type: "string" name: description: "The name of the Jira health check item." type: "string" passed: description: "Whether the Jira health check item passed or failed." type: "boolean" type: "object" Hierarchy: additionalProperties: false description: "The project issue type hierarchy." properties: baseLevelId: description: "The ID of the base level. This property is deprecated, see\ \ [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)." format: "int64" type: "integer" levels: description: "Details about the hierarchy level." items: $ref: "#/components/schemas/SimplifiedHierarchyLevel" readOnly: true type: "array" type: "object" xml: name: "hierarchy" HistoryMetadata: additionalProperties: true description: "Details of issue history metadata." properties: activityDescription: description: "The activity described in the history record." type: "string" activityDescriptionKey: description: "The key of the activity described in the history record." type: "string" actor: allOf: - $ref: "#/components/schemas/HistoryMetadataParticipant" description: "Details of the user whose action created the history record." cause: allOf: - $ref: "#/components/schemas/HistoryMetadataParticipant" description: "Details of the cause that triggered the creation the history\ \ record." description: description: "The description of the history record." type: "string" descriptionKey: description: "The description key of the history record." type: "string" emailDescription: description: "The description of the email address associated the history\ \ record." type: "string" emailDescriptionKey: description: "The description key of the email address associated the history\ \ record." type: "string" extraData: additionalProperties: type: "string" description: "Additional arbitrary information about the history record." type: "object" generator: allOf: - $ref: "#/components/schemas/HistoryMetadataParticipant" description: "Details of the system that generated the history record." type: description: "The type of the history record." type: "string" type: "object" HistoryMetadataParticipant: additionalProperties: true description: "Details of user or system associated with a issue history metadata\ \ item." properties: avatarUrl: description: "The URL to an avatar for the user or system associated with\ \ a history record." type: "string" displayName: description: "The display name of the user or system associated with a history\ \ record." type: "string" displayNameKey: description: "The key of the display name of the user or system associated\ \ with a history record." type: "string" id: description: "The ID of the user or system associated with a history record." type: "string" type: description: "The type of the user or system associated with a history record." type: "string" url: description: "The URL of the user or system associated with a history record." type: "string" type: "object" Icon: additionalProperties: true description: "An icon. If no icon is defined:\n\n * for a status icon, no status\ \ icon displays in Jira.\n * for the remote object icon, the default link\ \ icon displays in Jira." properties: link: description: "The URL of the tooltip, used only for a status icon. If not\ \ set, the status icon in Jira is not clickable." type: "string" title: description: "The title of the icon. This is used as follows:\n\n * For\ \ a status icon it is used as a tooltip on the icon. If not set, the status\ \ icon doesn't display a tooltip in Jira.\n * For the remote object icon\ \ it is used in conjunction with the application name to display a tooltip\ \ for the link's icon. The tooltip takes the format \"\\[application name\\\ ] icon title\". Blank itemsare excluded from the tooltip title. If both\ \ items are blank, the icon tooltop displays as \"Web Link\"." type: "string" url16x16: description: "The URL of an icon that displays at 16x16 pixel in Jira." type: "string" type: "object" IconBean: additionalProperties: false description: "An icon." properties: link: description: "The URL of the tooltip, used only for a status icon." type: "string" title: description: "The title of the icon, for use as a tooltip on the icon." type: "string" url16x16: description: "The URL of a 16x16 pixel icon." type: "string" type: "object" xml: name: "icon" IdBean: additionalProperties: false properties: id: description: "The ID of the permission scheme to associate with the project.\ \ Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get)\ \ resource to get a list of permission scheme IDs." format: "int64" type: "integer" required: - "id" type: "object" IdOrKeyBean: additionalProperties: false properties: id: description: "The ID of the referenced item." format: "int64" type: "integer" key: description: "The key of the referenced item." type: "string" type: "object" IdSearchRequestBean: additionalProperties: false properties: jql: description: "A [JQL](https://confluence.atlassian.com/x/egORLQ) expression.\ \ Order by clauses are not allowed." type: "string" maxResults: default: 1000 description: "The maximum number of items to return per page." format: "int32" type: "integer" nextPageToken: description: "The continuation token to fetch the next page. This token\ \ is provided by the response of this endpoint." type: "string" type: "object" IdSearchResults: additionalProperties: false description: "Result of your JQL search. Returns a list of issue IDs and a token\ \ to fetch the next page if one exists." properties: issueIds: description: "The list of issue IDs found by the search." items: format: "int64" readOnly: true type: "integer" readOnly: true type: "array" nextPageToken: description: "Continuation token to fetch the next page. If this result\ \ represents the last or the only page this token will be null." readOnly: true type: "string" type: "object" IncludedFields: additionalProperties: false properties: actuallyIncluded: items: type: "string" type: "array" uniqueItems: true excluded: items: type: "string" type: "array" uniqueItems: true included: items: type: "string" type: "array" uniqueItems: true type: "object" InputStreamSource: additionalProperties: false properties: inputStream: type: "object" type: "object" IssueArchivalSyncRequest: additionalProperties: false description: "List of Issue Ids Or Keys that are to be archived or unarchived" properties: issueIdsOrKeys: items: type: "string" type: "array" type: "object" IssueArchivalSyncResponse: additionalProperties: false description: "Number of archived/unarchived issues and list of errors that occurred\ \ during the action, if any." properties: errors: $ref: "#/components/schemas/Errors" numberOfIssuesUpdated: format: "int64" type: "integer" type: "object" IssueBean: additionalProperties: false description: "Details about an issue." properties: changelog: allOf: - $ref: "#/components/schemas/PageOfChangelogs" description: "Details of changelogs associated with the issue." readOnly: true editmeta: allOf: - $ref: "#/components/schemas/IssueUpdateMetadata" description: "The metadata for the fields on the issue that can be amended." readOnly: true expand: description: "Expand options that include additional issue details in the\ \ response." readOnly: true type: "string" xml: attribute: true fields: additionalProperties: {} type: "object" fieldsToInclude: $ref: "#/components/schemas/IncludedFields" id: description: "The ID of the issue." readOnly: true type: "string" key: description: "The key of the issue." readOnly: true type: "string" names: additionalProperties: readOnly: true type: "string" description: "The ID and name of each field present on the issue." readOnly: true type: "object" operations: allOf: - $ref: "#/components/schemas/Operations" description: "The operations that can be performed on the issue." readOnly: true properties: additionalProperties: readOnly: true description: "Details of the issue properties identified in the request." readOnly: true type: "object" renderedFields: additionalProperties: readOnly: true description: "The rendered value of each field present on the issue." readOnly: true type: "object" schema: additionalProperties: $ref: "#/components/schemas/JsonTypeBean" description: "The schema describing each field present on the issue." readOnly: true type: "object" self: description: "The URL of the issue details." format: "uri" readOnly: true type: "string" transitions: description: "The transitions that can be performed on the issue." items: $ref: "#/components/schemas/IssueTransition" readOnly: true type: "array" versionedRepresentations: additionalProperties: additionalProperties: readOnly: true readOnly: true type: "object" description: "The versions of each field on the issue." readOnly: true type: "object" type: "object" xml: name: "issue" IssueChangelogIds: additionalProperties: false description: "A list of changelog IDs." properties: changelogIds: description: "The list of changelog IDs." items: format: "int64" type: "integer" type: "array" uniqueItems: true required: - "changelogIds" type: "object" IssueCommentListRequestBean: additionalProperties: false properties: ids: description: "The list of comment IDs. A maximum of 1000 IDs can be specified." items: format: "int64" type: "integer" type: "array" uniqueItems: true required: - "ids" type: "object" IssueContextVariable: description: "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." properties: id: description: "The issue ID." format: "int64" type: "integer" key: description: "The issue key." type: "string" type: description: "Type of custom context variable." type: "string" required: - "type" type: "object" IssueCreateMetadata: additionalProperties: false description: "The wrapper for the issue creation metadata for a list of projects." properties: expand: description: "Expand options that include additional project details in\ \ the response." readOnly: true type: "string" xml: attribute: true projects: description: "List of projects and their issue creation metadata." items: $ref: "#/components/schemas/ProjectIssueCreateMetadata" readOnly: true type: "array" type: "object" IssueEntityProperties: additionalProperties: false description: "Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)\ \ for more information." properties: entitiesIds: description: "A list of entity property IDs." items: format: "int64" type: "integer" maxItems: 10000 minItems: 1 type: "array" uniqueItems: true properties: additionalProperties: $ref: "#/components/schemas/JsonNode" description: "A list of entity property keys and values." maxProperties: 10 minProperties: 1 type: "object" type: "object" IssueEntityPropertiesForMultiUpdate: additionalProperties: false description: "An issue ID with entity property values. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)\ \ for more information." maxProperties: 100 minProperties: 1 properties: issueID: description: "The ID of the issue." format: "int64" type: "integer" properties: additionalProperties: $ref: "#/components/schemas/JsonNode" description: "Entity properties to set on the issue. The maximum length\ \ of an issue property value is 32768 characters." maxProperties: 10 minProperties: 1 type: "object" type: "object" IssueEvent: additionalProperties: false description: "Details about an issue event." properties: id: description: "The ID of the event." format: "int64" readOnly: true type: "integer" name: description: "The name of the event." readOnly: true type: "string" type: "object" IssueFieldOption: additionalProperties: false description: "Details of the options for a select list issue field." properties: config: $ref: "#/components/schemas/IssueFieldOptionConfiguration" id: description: "The unique identifier for the option. This is only unique\ \ within the select field's set of options." format: "int64" type: "integer" properties: additionalProperties: {} description: "The properties of the object, as arbitrary key-value pairs.\ \ These properties can be searched using JQL, if the extractions (see\ \ [Issue Field Option Property Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/))\ \ are defined in the descriptor for the issue field module." type: "object" value: description: "The option's name, which is displayed in Jira." type: "string" required: - "id" - "value" type: "object" IssueFieldOptionConfiguration: additionalProperties: false description: "Details of the projects the option is available in." properties: attributes: description: "DEPRECATED" items: enum: - "notSelectable" - "defaultValue" type: "string" type: "array" uniqueItems: true scope: allOf: - $ref: "#/components/schemas/IssueFieldOptionScopeBean" description: "Defines the projects that the option is available in. If the\ \ scope is not defined, then the option is available in all projects." type: "object" IssueFieldOptionCreateBean: additionalProperties: true properties: config: $ref: "#/components/schemas/IssueFieldOptionConfiguration" properties: additionalProperties: {} description: "The properties of the option as arbitrary key-value pairs.\ \ These properties can be searched using JQL, if the extractions (see\ \ https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)\ \ are defined in the descriptor for the issue field module." type: "object" value: description: "The option's name, which is displayed in Jira." type: "string" required: - "value" type: "object" IssueFieldOptionScopeBean: additionalProperties: false properties: global: allOf: - $ref: "#/components/schemas/GlobalScopeBean" description: "Defines the behavior of the option within the global context.\ \ If this property is set, even if set to an empty object, then the option\ \ is available in all projects." projects: description: "DEPRECATED" items: format: "int64" type: "integer" type: "array" uniqueItems: true projects2: description: "Defines the projects in which the option is available and\ \ the behavior of the option within each project. Specify one object per\ \ project. The behavior of the option in a project context overrides the\ \ behavior in the global context." items: $ref: "#/components/schemas/ProjectScopeBean" type: "array" uniqueItems: true type: "object" IssueFilterForBulkPropertyDelete: additionalProperties: false description: "Bulk operation filter details." properties: currentValue: description: "The value of properties to perform the bulk operation on." entityIds: description: "List of issues to perform the bulk delete operation on." items: format: "int64" type: "integer" type: "array" uniqueItems: true type: "object" IssueFilterForBulkPropertySet: additionalProperties: false description: "Bulk operation filter details." properties: currentValue: description: "The value of properties to perform the bulk operation on." entityIds: description: "List of issues to perform the bulk operation on." items: format: "int64" type: "integer" type: "array" uniqueItems: true hasProperty: description: "Whether the bulk operation occurs only when the property is\ \ present on or absent from an issue." type: "boolean" type: "object" IssueLimitReportRequest: additionalProperties: false properties: issuesApproachingLimitParams: additionalProperties: format: "int32" type: "integer" description: "A list of fields and their respective approaching limit threshold.\ \ Required for querying issues approaching limits. Optional for querying\ \ issues breaching limits. Accepted fields are: `comment`, `worklog`,\ \ `attachment`, `remoteIssueLinks`, and `issuelinks`. Example: `{\"issuesApproachingLimitParams\"\ : {\"comment\": 4500, \"attachment\": 1800}}`" type: "object" type: "object" IssueLimitReportResponseBean: additionalProperties: false properties: issuesApproachingLimit: additionalProperties: additionalProperties: format: "int64" type: "integer" type: "object" description: "A list of ids of issues approaching the limit, and their field\ \ count" type: "object" issuesBreachingLimit: additionalProperties: additionalProperties: format: "int64" type: "integer" type: "object" description: "A list of ids of issues breaching the limit, and their field\ \ count" type: "object" limits: additionalProperties: format: "int32" type: "integer" description: "The fields and their defined limits" type: "object" type: "object" IssueLink: additionalProperties: false description: "Details of a link between issues." properties: id: description: "The ID of the issue link." readOnly: true type: "string" inwardIssue: allOf: - $ref: "#/components/schemas/LinkedIssue" description: "Provides details about the linked issue. If presenting this\ \ link in a user interface, use the `inward` field of the issue link type\ \ to label the link." outwardIssue: allOf: - $ref: "#/components/schemas/LinkedIssue" description: "Provides details about the linked issue. If presenting this\ \ link in a user interface, use the `outward` field of the issue link\ \ type to label the link." self: description: "The URL of the issue link." format: "uri" readOnly: true type: "string" type: allOf: - $ref: "#/components/schemas/IssueLinkType" description: "The type of link between the issues." required: - "inwardIssue" - "outwardIssue" - "type" type: "object" xml: name: "issueLinks" IssueLinkType: additionalProperties: false description: "This object is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post)\ \ resource it defines and reports on the type of link between the issues.\ \ Find a list of issue link types with [Get issue link types](#api-rest-api-2-issueLinkType-get).\n\ \ * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource\ \ it defines and reports on issue link types." properties: id: description: "The ID of the issue link type and is used as follows:\n\n\ \ * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is\ \ the type of issue link. Required on create when `name` isn't provided.\ \ Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post)\ \ resource it is read only." type: "string" inward: description: "The description of the issue link type inward link and is\ \ used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post)\ \ resource it is read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post)\ \ resource it is required on create and optional on update. Otherwise,\ \ read only." type: "string" name: description: "The name of the issue link type and is used as follows:\n\n\ \ * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is\ \ the type of issue link. Required on create when `id` isn't provided.\ \ Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post)\ \ resource it is required on create and optional on update. Otherwise,\ \ read only." type: "string" outward: description: "The description of the issue link type outward link and is\ \ used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post)\ \ resource it is read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post)\ \ resource it is required on create and optional on update. Otherwise,\ \ read only." type: "string" self: description: "The URL of the issue link type. Read only." format: "uri" readOnly: true type: "string" type: "object" IssueLinkTypes: additionalProperties: false description: "A list of issue link type beans." properties: issueLinkTypes: description: "The issue link type bean." items: $ref: "#/components/schemas/IssueLinkType" readOnly: true type: "array" xml: name: "issueLinkTypes" type: "object" xml: name: "issueLinkTypes" IssueList: additionalProperties: false description: "A list of issue IDs." properties: issueIds: description: "The list of issue IDs." items: type: "string" type: "array" required: - "issueIds" type: "object" IssueMatches: additionalProperties: false description: "A list of matched issues or errors for each JQL query, in the\ \ order the JQL queries were passed." properties: matches: items: $ref: "#/components/schemas/IssueMatchesForJQL" type: "array" required: - "matches" type: "object" IssueMatchesForJQL: additionalProperties: false description: "A list of the issues matched to a JQL query or details of errors\ \ encountered during matching." properties: errors: description: "A list of errors." items: description: "A list of errors." type: "string" type: "array" uniqueItems: true matchedIssues: description: "A list of issue IDs." items: description: "A list of issue IDs." format: "int64" type: "integer" type: "array" uniqueItems: true required: - "errors" - "matchedIssues" type: "object" IssuePickerSuggestions: additionalProperties: false description: "A list of issues suggested for use in auto-completion." properties: sections: description: "A list of issues for an issue type suggested for use in auto-completion." items: $ref: "#/components/schemas/IssuePickerSuggestionsIssueType" readOnly: true type: "array" type: "object" IssuePickerSuggestionsIssueType: additionalProperties: false description: "A type of issue suggested for use in auto-completion." properties: id: description: "The ID of the type of issues suggested for use in auto-completion." readOnly: true type: "string" issues: description: "A list of issues suggested for use in auto-completion." items: $ref: "#/components/schemas/SuggestedIssue" readOnly: true type: "array" label: description: "The label of the type of issues suggested for use in auto-completion." readOnly: true type: "string" msg: description: "If no issue suggestions are found, returns a message indicating\ \ no suggestions were found," readOnly: true type: "string" sub: description: "If issue suggestions are found, returns a message indicating\ \ the number of issues suggestions found and returned." readOnly: true type: "string" type: "object" IssueSecurityLevelMember: additionalProperties: false description: "Issue security level member." properties: holder: allOf: - $ref: "#/components/schemas/PermissionHolder" description: "The user or group being granted the permission. It consists\ \ of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object)\ \ in *Get all permission schemes* for more information." id: description: "The ID of the issue security level member." format: "int64" type: "integer" issueSecurityLevelId: description: "The ID of the issue security level." format: "int64" type: "integer" managed: type: "boolean" writeOnly: true required: - "holder" - "id" - "issueSecurityLevelId" type: "object" IssueSecuritySchemeToProjectMapping: additionalProperties: true description: "Details about an project using security scheme mapping." properties: issueSecuritySchemeId: readOnly: true type: "string" projectId: readOnly: true type: "string" type: "object" IssueTransition: additionalProperties: true description: "Details of an issue transition." properties: expand: description: "Expand options that include additional transition details\ \ in the response." readOnly: true type: "string" fields: additionalProperties: $ref: "#/components/schemas/FieldMetadata" description: "Details of the fields associated with the issue transition\ \ screen. Use this information to populate `fields` and `update` in a\ \ transition request." readOnly: true type: "object" hasScreen: description: "Whether there is a screen associated with the issue transition." readOnly: true type: "boolean" id: description: "The ID of the issue transition. Required when specifying a\ \ transition to undertake." type: "string" isAvailable: description: "Whether the transition is available to be performed." readOnly: true type: "boolean" isConditional: description: "Whether the issue has to meet criteria before the issue transition\ \ is applied." readOnly: true type: "boolean" isGlobal: description: "Whether the issue transition is global, that is, the transition\ \ is applied to issues regardless of their status." readOnly: true type: "boolean" isInitial: description: "Whether this is the initial issue transition for the workflow." readOnly: true type: "boolean" looped: type: "boolean" name: description: "The name of the issue transition." readOnly: true type: "string" to: allOf: - $ref: "#/components/schemas/StatusDetails" description: "Details of the issue status after the transition." readOnly: true type: "object" IssueTypeCreateBean: additionalProperties: false properties: description: description: "The description of the issue type." type: "string" hierarchyLevel: description: "The hierarchy level of the issue type. Use:\n\n * `-1` for\ \ Subtask.\n * `0` for Base.\n\nDefaults to `0`." format: "int32" type: "integer" name: description: "The unique name for the issue type. The maximum length is\ \ 60 characters." type: "string" type: description: "Deprecated. Use `hierarchyLevel` instead. See the [deprecation\ \ notice](https://community.developer.atlassian.com/t/deprecation-of-the-epic-link-parent-link-and-other-related-fields-in-rest-apis-and-webhooks/54048)\ \ for details.\n\nWhether the issue type is `subtype` or `standard`. Defaults\ \ to `standard`." enum: - "subtask" - "standard" type: "string" required: - "name" type: "object" IssueTypeDetails: additionalProperties: false description: "Details about an issue type." properties: avatarId: description: "The ID of the issue type's avatar." format: "int64" readOnly: true type: "integer" description: description: "The description of the issue type." readOnly: true type: "string" entityId: description: "Unique ID for next-gen projects." format: "uuid" readOnly: true type: "string" hierarchyLevel: description: "Hierarchy level of the issue type." format: "int32" readOnly: true type: "integer" iconUrl: description: "The URL of the issue type's avatar." readOnly: true type: "string" id: description: "The ID of the issue type." readOnly: true type: "string" name: description: "The name of the issue type." readOnly: true type: "string" scope: allOf: - $ref: "#/components/schemas/Scope" description: "Details of the next-gen projects the issue type is available\ \ in." readOnly: true self: description: "The URL of these issue type details." readOnly: true type: "string" subtask: description: "Whether this issue type is used to create subtasks." readOnly: true type: "boolean" type: "object" IssueTypeIds: additionalProperties: false description: "The list of issue type IDs." properties: issueTypeIds: description: "The list of issue type IDs." items: type: "string" writeOnly: true type: "array" writeOnly: true required: - "issueTypeIds" type: "object" IssueTypeIdsToRemove: additionalProperties: false description: "The list of issue type IDs to be removed from the field configuration\ \ scheme." properties: issueTypeIds: description: "The list of issue type IDs. Must contain unique values not\ \ longer than 255 characters and not be empty. Maximum of 100 IDs." items: type: "string" type: "array" required: - "issueTypeIds" type: "object" IssueTypeInfo: additionalProperties: false description: "Details of an issue type." properties: avatarId: description: "The avatar of the issue type." format: "int64" readOnly: true type: "integer" id: description: "The ID of the issue type." format: "int64" readOnly: true type: "integer" name: description: "The name of the issue type." readOnly: true type: "string" type: "object" IssueTypeIssueCreateMetadata: additionalProperties: false description: "Details of the issue creation metadata for an issue type." properties: avatarId: description: "The ID of the issue type's avatar." format: "int64" readOnly: true type: "integer" description: description: "The description of the issue type." readOnly: true type: "string" entityId: description: "Unique ID for next-gen projects." format: "uuid" readOnly: true type: "string" expand: description: "Expand options that include additional issue type metadata\ \ details in the response." readOnly: true type: "string" xml: attribute: true fields: additionalProperties: $ref: "#/components/schemas/FieldMetadata" description: "List of the fields available when creating an issue for the\ \ issue type." readOnly: true type: "object" hierarchyLevel: description: "Hierarchy level of the issue type." format: "int32" readOnly: true type: "integer" iconUrl: description: "The URL of the issue type's avatar." readOnly: true type: "string" id: description: "The ID of the issue type." readOnly: true type: "string" name: description: "The name of the issue type." readOnly: true type: "string" scope: allOf: - $ref: "#/components/schemas/Scope" description: "Details of the next-gen projects the issue type is available\ \ in." readOnly: true self: description: "The URL of these issue type details." readOnly: true type: "string" subtask: description: "Whether this issue type is used to create subtasks." readOnly: true type: "boolean" type: "object" IssueTypeScheme: additionalProperties: false description: "Details of an issue type scheme." properties: defaultIssueTypeId: description: "The ID of the default issue type of the issue type scheme." type: "string" description: description: "The description of the issue type scheme." type: "string" id: description: "The ID of the issue type scheme." type: "string" isDefault: description: "Whether the issue type scheme is the default." type: "boolean" name: description: "The name of the issue type scheme." type: "string" required: - "id" - "name" type: "object" IssueTypeSchemeDetails: additionalProperties: false description: "Details of an issue type scheme and its associated issue types." properties: defaultIssueTypeId: description: "The ID of the default issue type of the issue type scheme.\ \ This ID must be included in `issueTypeIds`." type: "string" writeOnly: true description: description: "The description of the issue type scheme. The maximum length\ \ is 4000 characters." type: "string" writeOnly: true issueTypeIds: description: "The list of issue types IDs of the issue type scheme. At least\ \ one standard issue type ID is required." items: type: "string" writeOnly: true type: "array" writeOnly: true name: description: "The name of the issue type scheme. The name must be unique.\ \ The maximum length is 255 characters." type: "string" writeOnly: true required: - "issueTypeIds" - "name" type: "object" IssueTypeSchemeID: additionalProperties: false description: "The ID of an issue type scheme." properties: issueTypeSchemeId: description: "The ID of the issue type scheme." readOnly: true type: "string" required: - "issueTypeSchemeId" type: "object" IssueTypeSchemeMapping: additionalProperties: false description: "Issue type scheme item." properties: issueTypeId: description: "The ID of the issue type." type: "string" issueTypeSchemeId: description: "The ID of the issue type scheme." type: "string" required: - "issueTypeId" - "issueTypeSchemeId" type: "object" IssueTypeSchemeProjectAssociation: additionalProperties: false description: "Details of the association between an issue type scheme and project." properties: issueTypeSchemeId: description: "The ID of the issue type scheme." type: "string" writeOnly: true projectId: description: "The ID of the project." type: "string" writeOnly: true required: - "issueTypeSchemeId" - "projectId" type: "object" IssueTypeSchemeProjects: additionalProperties: false description: "Issue type scheme with a list of the projects that use it." properties: issueTypeScheme: allOf: - $ref: "#/components/schemas/IssueTypeScheme" description: "Details of an issue type scheme." projectIds: description: "The IDs of the projects using the issue type scheme." items: type: "string" type: "array" required: - "issueTypeScheme" - "projectIds" type: "object" IssueTypeSchemeUpdateDetails: additionalProperties: false description: "Details of the name, description, and default issue type for an\ \ issue type scheme." properties: defaultIssueTypeId: description: "The ID of the default issue type of the issue type scheme." type: "string" writeOnly: true description: description: "The description of the issue type scheme. The maximum length\ \ is 4000 characters." type: "string" writeOnly: true name: description: "The name of the issue type scheme. The name must be unique.\ \ The maximum length is 255 characters." type: "string" writeOnly: true type: "object" IssueTypeScreenScheme: additionalProperties: false description: "Details of an issue type screen scheme." properties: description: description: "The description of the issue type screen scheme." type: "string" id: description: "The ID of the issue type screen scheme." type: "string" name: description: "The name of the issue type screen scheme." type: "string" required: - "id" - "name" type: "object" IssueTypeScreenSchemeDetails: additionalProperties: false description: "The details of an issue type screen scheme." properties: description: description: "The description of the issue type screen scheme. The maximum\ \ length is 255 characters." type: "string" writeOnly: true issueTypeMappings: description: "The IDs of the screen schemes for the issue type IDs and *default*.\ \ A *default* entry is required to create an issue type screen scheme,\ \ it defines the mapping for all issue types without a screen scheme." items: $ref: "#/components/schemas/IssueTypeScreenSchemeMapping" type: "array" writeOnly: true name: description: "The name of the issue type screen scheme. The name must be\ \ unique. The maximum length is 255 characters." type: "string" writeOnly: true required: - "issueTypeMappings" - "name" type: "object" IssueTypeScreenSchemeId: additionalProperties: false description: "The ID of an issue type screen scheme." properties: id: description: "The ID of the issue type screen scheme." readOnly: true type: "string" required: - "id" type: "object" IssueTypeScreenSchemeItem: additionalProperties: false description: "The screen scheme for an issue type." properties: issueTypeId: description: "The ID of the issue type or *default*. Only issue types used\ \ in classic projects are accepted. When creating an issue screen scheme,\ \ an entry for *default* must be provided and defines the mapping for\ \ all issue types without a screen scheme. Otherwise, a *default* entry\ \ can't be provided." type: "string" issueTypeScreenSchemeId: description: "The ID of the issue type screen scheme." type: "string" screenSchemeId: description: "The ID of the screen scheme." type: "string" required: - "issueTypeId" - "issueTypeScreenSchemeId" - "screenSchemeId" type: "object" IssueTypeScreenSchemeMapping: additionalProperties: false description: "The IDs of the screen schemes for the issue type IDs." properties: issueTypeId: description: "The ID of the issue type or *default*. Only issue types used\ \ in classic projects are accepted. An entry for *default* must be provided\ \ and defines the mapping for all issue types without a screen scheme." type: "string" writeOnly: true screenSchemeId: description: "The ID of the screen scheme. Only screen schemes used in classic\ \ projects are accepted." type: "string" writeOnly: true required: - "issueTypeId" - "screenSchemeId" type: "object" writeOnly: true IssueTypeScreenSchemeMappingDetails: additionalProperties: false description: "A list of issue type screen scheme mappings." properties: issueTypeMappings: description: "The list of issue type to screen scheme mappings. A *default*\ \ entry cannot be specified because a default entry is added when an issue\ \ type screen scheme is created." items: $ref: "#/components/schemas/IssueTypeScreenSchemeMapping" type: "array" writeOnly: true required: - "issueTypeMappings" type: "object" IssueTypeScreenSchemeProjectAssociation: additionalProperties: false description: "Associated issue type screen scheme and project." properties: issueTypeScreenSchemeId: description: "The ID of the issue type screen scheme." type: "string" writeOnly: true projectId: description: "The ID of the project." type: "string" writeOnly: true type: "object" IssueTypeScreenSchemeUpdateDetails: additionalProperties: false description: "Details of an issue type screen scheme." properties: description: description: "The description of the issue type screen scheme. The maximum\ \ length is 255 characters." type: "string" writeOnly: true name: description: "The name of the issue type screen scheme. The name must be\ \ unique. The maximum length is 255 characters." type: "string" writeOnly: true type: "object" IssueTypeScreenSchemesProjects: additionalProperties: false description: "Issue type screen scheme with a list of the projects that use\ \ it." properties: issueTypeScreenScheme: allOf: - $ref: "#/components/schemas/IssueTypeScreenScheme" description: "Details of an issue type screen scheme." projectIds: description: "The IDs of the projects using the issue type screen scheme." items: type: "string" type: "array" required: - "issueTypeScreenScheme" - "projectIds" type: "object" IssueTypeToContextMapping: additionalProperties: false description: "Mapping of an issue type to a context." properties: contextId: description: "The ID of the context." type: "string" isAnyIssueType: description: "Whether the context is mapped to any issue type." type: "boolean" issueTypeId: description: "The ID of the issue type." type: "string" required: - "contextId" type: "object" IssueTypeUpdateBean: additionalProperties: false properties: avatarId: description: "The ID of an issue type avatar." format: "int64" type: "integer" description: description: "The description of the issue type." type: "string" name: description: "The unique name for the issue type. The maximum length is\ \ 60 characters." type: "string" type: "object" IssueTypeWithStatus: additionalProperties: false description: "Status details for an issue type." properties: id: description: "The ID of the issue type." readOnly: true type: "string" name: description: "The name of the issue type." readOnly: true type: "string" self: description: "The URL of the issue type's status details." readOnly: true type: "string" statuses: description: "List of status details for the issue type." items: $ref: "#/components/schemas/StatusDetails" readOnly: true type: "array" subtask: description: "Whether this issue type represents subtasks." readOnly: true type: "boolean" required: - "id" - "name" - "self" - "statuses" - "subtask" type: "object" IssueTypeWorkflowMapping: additionalProperties: false description: "Details about the mapping between an issue type and a workflow." properties: issueType: description: "The ID of the issue type. Not required if updating the issue\ \ type-workflow mapping." type: "string" updateDraftIfNeeded: 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`. Only applicable when updating the workflow-issue\ \ types mapping." type: "boolean" workflow: description: "The name of the workflow." type: "string" type: "object" IssueTypesWorkflowMapping: additionalProperties: false description: "Details about the mapping between issue types and a workflow." properties: defaultMapping: description: "Whether the workflow is the default workflow for the workflow\ \ scheme." type: "boolean" issueTypes: description: "The list of issue type IDs." items: type: "string" type: "array" updateDraftIfNeeded: description: "Whether a draft workflow scheme is created or updated when\ \ updating an active workflow scheme. The draft is updated with the new\ \ workflow-issue types mapping. Defaults to `false`." type: "boolean" workflow: description: "The name of the workflow. Optional if updating the workflow-issue\ \ types mapping." type: "string" type: "object" IssueUpdateDetails: additionalProperties: true description: "Details of an issue update request." properties: fields: additionalProperties: {} description: "List of issue screen fields to update, specifying the sub-field\ \ to update and its value for each field. This field provides a straightforward\ \ option when setting a sub-field. When multiple sub-fields or other operations\ \ are required, use `update`. Fields included in here cannot be included\ \ in `update`." type: "object" historyMetadata: allOf: - $ref: "#/components/schemas/HistoryMetadata" description: "Additional issue history details." properties: description: "Details of issue properties to be add or update." items: $ref: "#/components/schemas/EntityProperty" type: "array" transition: allOf: - $ref: "#/components/schemas/IssueTransition" description: "Details of a transition. Required when performing a transition,\ \ optional when creating or editing an issue." update: additionalProperties: items: $ref: "#/components/schemas/FieldUpdateOperation" type: "array" description: "A Map containing the field field name and a list of operations\ \ to perform on the issue screen field. Note that fields included in here\ \ cannot be included in `fields`." type: "object" type: "object" IssueUpdateMetadata: description: "A list of editable field details." properties: fields: additionalProperties: $ref: "#/components/schemas/FieldMetadata" readOnly: true type: "object" type: "object" IssuesAndJQLQueries: additionalProperties: false description: "List of issues and JQL queries." properties: issueIds: description: "A list of issue IDs." items: description: "A list of issue IDs." format: "int64" type: "integer" type: "array" uniqueItems: true jqls: description: "A list of JQL queries." items: description: "A list of JQL queries." type: "string" type: "array" required: - "issueIds" - "jqls" type: "object" IssuesJqlMetaDataBean: additionalProperties: false description: "The description of the page of issues loaded by the provided JQL\ \ query." properties: count: description: "The number of issues that were loaded in this evaluation." format: "int32" type: "integer" maxResults: description: "The maximum number of issues that could be loaded in this\ \ evaluation." format: "int32" type: "integer" startAt: description: "The index of the first issue." format: "int64" type: "integer" totalCount: description: "The total number of issues the JQL returned." format: "int64" type: "integer" validationWarnings: description: "Any warnings related to the JQL query. Present only if the\ \ validation mode was set to `warn`." items: type: "string" type: "array" required: - "count" - "maxResults" - "startAt" - "totalCount" type: "object" IssuesMetaBean: additionalProperties: false description: "Meta data describing the `issues` context variable." properties: jql: $ref: "#/components/schemas/IssuesJqlMetaDataBean" type: "object" IssuesUpdateBean: additionalProperties: true properties: issueUpdates: items: $ref: "#/components/schemas/IssueUpdateDetails" type: "array" type: "object" JQLPersonalDataMigrationRequest: additionalProperties: false description: "The JQL queries to be converted." properties: queryStrings: description: "A list of queries with user identifiers. Maximum of 100 queries." items: type: "string" type: "array" type: "object" JQLQueryWithUnknownUsers: additionalProperties: false description: "JQL queries that contained users that could not be found" properties: convertedQuery: description: "The converted query, with accountIDs instead of user identifiers,\ \ or 'unknown' for users that could not be found" type: "string" originalQuery: description: "The original query, for reference" type: "string" type: "object" JQLReferenceData: additionalProperties: false description: "Lists of JQL reference data." properties: jqlReservedWords: description: "List of JQL query reserved words." items: type: "string" type: "array" visibleFieldNames: description: "List of fields usable in JQL queries." items: $ref: "#/components/schemas/FieldReferenceData" type: "array" visibleFunctionNames: description: "List of functions usable in JQL queries." items: $ref: "#/components/schemas/FunctionReferenceData" type: "array" type: "object" JexpIssues: additionalProperties: false description: "The JQL specifying the issues available in the evaluated Jira\ \ expression under the `issues` context variable." properties: jql: allOf: - $ref: "#/components/schemas/JexpJqlIssues" description: "The JQL query that specifies the set of issues available in\ \ the Jira expression." type: "object" JexpJqlIssues: additionalProperties: false description: "The JQL specifying the issues available in the evaluated Jira\ \ expression under the `issues` context variable. Not all issues returned\ \ by the JQL query are loaded, only those described by the `startAt` and `maxResults`\ \ properties. To determine whether it is necessary to iterate to ensure all\ \ the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count`\ \ in the response." properties: maxResults: description: "The maximum number of issues to return from the JQL query.\ \ Inspect `meta.issues.jql.maxResults` in the response to ensure the maximum\ \ value has not been exceeded." format: "int32" type: "integer" query: description: "The JQL query." type: "string" startAt: description: "The index of the first issue to return from the JQL query." format: "int64" type: "integer" validation: default: "strict" description: "Determines how to validate the JQL query and treat the validation\ \ results." enum: - "strict" - "warn" - "none" type: "string" type: "object" JiraExpressionAnalysis: additionalProperties: false description: "Details about the analysed Jira expression." properties: complexity: $ref: "#/components/schemas/JiraExpressionComplexity" errors: description: "A list of validation errors. Not included if the expression\ \ is valid." items: $ref: "#/components/schemas/JiraExpressionValidationError" type: "array" expression: description: "The analysed expression." type: "string" type: description: "EXPERIMENTAL. The inferred type of the expression." type: "string" valid: description: "Whether the expression is valid and the interpreter will evaluate\ \ it. Note that the expression may fail at runtime (for example, if it\ \ executes too many expensive operations)." type: "boolean" required: - "expression" - "valid" type: "object" JiraExpressionComplexity: additionalProperties: false description: "Details about the complexity of the analysed Jira expression." properties: expensiveOperations: description: "Information that can be used to determine how many [expensive\ \ operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations)\ \ the evaluation of the expression will perform. This information may\ \ be a formula or number. For example:\n\n * `issues.map(i => i.comments)`\ \ performs as many expensive operations as there are issues on the issues\ \ list. So this parameter returns `N`, where `N` is the size of issue\ \ list.\n * `new Issue(10010).comments` gets comments for one issue,\ \ so its complexity is `2` (`1` to retrieve issue 10010 from the database\ \ plus `1` to get its comments)." type: "string" variables: additionalProperties: description: "Variables used in the formula, mapped to the parts of the\ \ expression they refer to." type: "string" description: "Variables used in the formula, mapped to the parts of the\ \ expression they refer to." type: "object" required: - "expensiveOperations" type: "object" JiraExpressionEvalContextBean: additionalProperties: false properties: board: description: "The ID of the board that is available under the `board` variable\ \ when evaluating the expression." format: "int64" type: "integer" custom: description: "Custom context variables and their types. 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." items: $ref: "#/components/schemas/CustomContextVariable" type: "array" customerRequest: description: "The ID of the customer request that is available under the\ \ `customerRequest` variable when evaluating the expression. This is the\ \ same as the ID of the underlying Jira issue, but the customer request\ \ context variable will have a different type." format: "int64" type: "integer" issue: allOf: - $ref: "#/components/schemas/IdOrKeyBean" description: "The issue that is available under the `issue` variable when\ \ evaluating the expression." issues: allOf: - $ref: "#/components/schemas/JexpIssues" description: "The collection of issues that is available under the `issues`\ \ variable when evaluating the expression." project: allOf: - $ref: "#/components/schemas/IdOrKeyBean" description: "The project that is available under the `project` variable\ \ when evaluating the expression." serviceDesk: description: "The ID of the service desk that is available under the `serviceDesk`\ \ variable when evaluating the expression." format: "int64" type: "integer" sprint: description: "The ID of the sprint that is available under the `sprint`\ \ variable when evaluating the expression." format: "int64" type: "integer" type: "object" JiraExpressionEvalRequestBean: additionalProperties: false properties: context: allOf: - $ref: "#/components/schemas/JiraExpressionEvalContextBean" description: "The context in which the Jira expression is evaluated." expression: description: "The Jira expression to evaluate." example: "{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link\ \ => link.linkedIssue.id) }" type: "string" required: - "expression" type: "object" JiraExpressionEvaluationMetaDataBean: additionalProperties: false properties: complexity: allOf: - $ref: "#/components/schemas/JiraExpressionsComplexityBean" description: "Contains information about the expression complexity. For\ \ example, the number of steps it took to evaluate the expression." issues: allOf: - $ref: "#/components/schemas/IssuesMetaBean" description: "Contains information about the `issues` variable in the context.\ \ For example, is the issues were loaded with JQL, information about the\ \ page will be included here." type: "object" JiraExpressionForAnalysis: additionalProperties: false description: "Details of Jira expressions for analysis." properties: contextVariables: additionalProperties: description: "Context variables and their types. The type checker assumes\ \ that common context variables, such as issue or project,\ \ are available in context and sets their type. Use this property to\ \ override the default types or provide details of new variables." type: "string" description: "Context variables and their types. The type checker assumes\ \ that [common context variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables),\ \ such as `issue` or `project`, are available in context and sets their\ \ type. Use this property to override the default types or provide details\ \ of new variables." type: "object" expressions: description: "The list of Jira expressions to analyse." example: "issues.map(issue => issue.properties['property_key'])" items: description: "The list of Jira expressions to analyse." example: "issues.map(issue => issue.properties['property_key'])" type: "string" type: "array" required: - "expressions" type: "object" JiraExpressionResult: additionalProperties: false description: "The result of evaluating a Jira expression." properties: meta: allOf: - $ref: "#/components/schemas/JiraExpressionEvaluationMetaDataBean" description: "Contains various characteristics of the performed expression\ \ evaluation." value: description: "The value of the evaluated expression. It may be a primitive\ \ JSON value or a Jira REST API object. (Some expressions do not produce\ \ any meaningful results—for example, an expression that returns a lambda\ \ function—if that's the case a simple string representation is returned.\ \ These string representations should not be relied upon and may change\ \ without notice.)" required: - "value" type: "object" JiraExpressionValidationError: additionalProperties: false description: "Details about syntax and type errors. The error details apply\ \ to the entire expression, unless the object includes:\n\n * `line` and\ \ `column`\n * `expression`" properties: column: description: "The text column in which the error occurred." format: "int32" type: "integer" expression: description: "The part of the expression in which the error occurred." type: "string" line: description: "The text line in which the error occurred." format: "int32" type: "integer" message: description: "Details about the error." example: "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING,\ \ TEMPLATE_LITERAL, new, [ or { expected, > encountered." type: "string" type: description: "The error type." enum: - "syntax" - "type" - "other" type: "string" required: - "message" - "type" type: "object" JiraExpressionsAnalysis: additionalProperties: false description: "Details about the analysed Jira expression." properties: results: description: "The results of Jira expressions analysis." items: $ref: "#/components/schemas/JiraExpressionAnalysis" type: "array" required: - "results" type: "object" JiraExpressionsComplexityBean: additionalProperties: false properties: beans: allOf: - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean" description: "The number of Jira REST API beans returned in the response." expensiveOperations: allOf: - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean" description: "The number of expensive operations executed while evaluating\ \ the expression. Expensive operations are those that load additional\ \ data, such as entity properties, comments, or custom fields." primitiveValues: allOf: - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean" description: "The number of primitive values returned in the response." steps: allOf: - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean" description: "The number of steps it took to evaluate the expression, where\ \ a step is a high-level operation performed by the expression. A step\ \ is an operation such as arithmetic, accessing a property, accessing\ \ a context variable, or calling a function." required: - "beans" - "expensiveOperations" - "primitiveValues" - "steps" type: "object" JiraExpressionsComplexityValueBean: additionalProperties: false properties: limit: description: "The maximum allowed complexity. The evaluation will fail if\ \ this value is exceeded." format: "int32" type: "integer" value: description: "The complexity value of the current expression." format: "int32" type: "integer" required: - "limit" - "value" type: "object" JiraStatus: additionalProperties: false description: "Details of a status." properties: description: description: "The description of the status." type: "string" id: description: "The ID of the status." type: "string" name: description: "The name of the status." type: "string" scope: $ref: "#/components/schemas/StatusScope" statusCategory: description: "The category of the status." enum: - "TODO" - "IN_PROGRESS" - "DONE" type: "string" usages: description: "Projects and issue types where the status is used. Only available\ \ if the `usages` expand is requested." items: $ref: "#/components/schemas/ProjectIssueTypes" type: "array" uniqueItems: true workflowUsages: description: "The workflows that use this status. Only available if the\ \ `workflowUsages` expand is requested." items: $ref: "#/components/schemas/WorkflowUsages" type: "array" uniqueItems: true type: "object" JiraWorkflow: additionalProperties: false description: "Details of a workflow." properties: description: description: "The description of the workflow." type: "string" id: description: "The ID of the workflow." type: "string" isEditable: description: "Indicates if the workflow can be edited." type: "boolean" name: description: "The name of the workflow." type: "string" scope: $ref: "#/components/schemas/WorkflowScope" startPointLayout: $ref: "#/components/schemas/WorkflowLayout" statuses: description: "The statuses referenced in this workflow." items: $ref: "#/components/schemas/WorkflowReferenceStatus" type: "array" uniqueItems: true taskId: description: "If there is a current [asynchronous task](#async-operations)\ \ operation for this workflow." nullable: true type: "string" transitions: description: "The transitions of the workflow." items: $ref: "#/components/schemas/WorkflowTransitions" type: "array" uniqueItems: true usages: description: "Use the optional `workflows.usages` expand to get additional\ \ information about the projects and issue types associated with the requested\ \ workflows." items: $ref: "#/components/schemas/ProjectIssueTypes" type: "array" uniqueItems: true version: $ref: "#/components/schemas/DocumentVersion" type: "object" JiraWorkflowStatus: additionalProperties: false description: "Details of a status." properties: description: description: "The description of the status." type: "string" id: description: "The ID of the status." type: "string" name: description: "The name of the status." type: "string" scope: $ref: "#/components/schemas/WorkflowScope" statusCategory: description: "The category of the status." enum: - "TODO" - "IN_PROGRESS" - "DONE" type: "string" statusReference: description: "The reference of the status." type: "string" usages: description: "The `statuses.usages` expand is an optional parameter that\ \ can be used when reading and updating statuses in Jira. It provides\ \ additional information about the projects and issue types associated\ \ with the requested statuses." items: $ref: "#/components/schemas/ProjectIssueTypes" type: "array" uniqueItems: true type: "object" JqlFunctionPrecomputationBean: additionalProperties: false description: "Jql function precomputation." properties: arguments: description: "The list of arguments function was invoked with." items: readOnly: true type: "string" readOnly: true type: "array" created: description: "The timestamp of the precomputation creation." format: "date-time" readOnly: true type: "string" error: description: "The error message to be displayed to the user." readOnly: true type: "string" field: description: "The field the function was executed against." readOnly: true type: "string" functionKey: description: "The function key." readOnly: true type: "string" functionName: description: "The name of the function." readOnly: true type: "string" id: description: "The id of the precomputation." readOnly: true type: "string" operator: description: "The operator in context of which function was executed." readOnly: true type: "string" updated: description: "The timestamp of the precomputation last update." format: "date-time" readOnly: true type: "string" used: description: "The timestamp of the precomputation last usage." format: "date-time" readOnly: true type: "string" value: description: "The JQL fragment stored as the precomputation." readOnly: true type: "string" type: "object" JqlFunctionPrecomputationUpdateBean: additionalProperties: false description: "Precomputation id and its new value." properties: error: description: "The error message to be displayed to the user if the given\ \ function clause is no longer valid during recalculation of the precomputation." type: "string" writeOnly: true id: description: "The id of the precomputation to update." type: "string" writeOnly: true value: description: "The new value of the precomputation." type: "string" writeOnly: true required: - "id" type: "object" writeOnly: true JqlFunctionPrecomputationUpdateRequestBean: additionalProperties: false description: "List of pairs (id and value) for precomputation updates." properties: values: items: $ref: "#/components/schemas/JqlFunctionPrecomputationUpdateBean" type: "array" type: "object" writeOnly: true JqlQueriesToParse: additionalProperties: false description: "A list of JQL queries to parse." properties: queries: description: "A list of queries to parse." items: minLength: 1 type: "string" minLength: 1 type: "array" required: - "queries" type: "object" writeOnly: true JqlQueriesToSanitize: additionalProperties: false description: "The list of JQL queries to sanitize for the given account IDs." properties: queries: description: "The list of JQL queries to sanitize. Must contain unique values.\ \ Maximum of 20 queries." items: $ref: "#/components/schemas/JqlQueryToSanitize" type: "array" required: - "queries" type: "object" writeOnly: true JqlQuery: additionalProperties: false description: "A parsed JQL query." properties: orderBy: $ref: "#/components/schemas/JqlQueryOrderByClause" where: $ref: "#/components/schemas/JqlQueryClause" type: "object" JqlQueryClause: additionalProperties: false anyOf: - $ref: "#/components/schemas/CompoundClause" - $ref: "#/components/schemas/FieldValueClause" - $ref: "#/components/schemas/FieldWasClause" - $ref: "#/components/schemas/FieldChangedClause" description: "A JQL query clause." type: "object" JqlQueryClauseOperand: anyOf: - $ref: "#/components/schemas/ListOperand" - $ref: "#/components/schemas/ValueOperand" - $ref: "#/components/schemas/FunctionOperand" - $ref: "#/components/schemas/KeywordOperand" description: "Details of an operand in a JQL clause." type: "object" JqlQueryClauseTimePredicate: description: "A time predicate for a temporal JQL clause." properties: operand: $ref: "#/components/schemas/JqlQueryClauseOperand" operator: description: "The operator between the field and the operand." enum: - "before" - "after" - "from" - "to" - "on" - "during" - "by" type: "string" required: - "operand" - "operator" type: "object" JqlQueryField: additionalProperties: false description: "A field used in a JQL query. See [Advanced searching - fields\ \ reference](https://confluence.atlassian.com/x/dAiiLQ) for more information\ \ about fields in JQL queries." properties: encodedName: description: "The encoded name of the field, which can be used directly\ \ in a JQL query." type: "string" name: description: "The name of the field." type: "string" property: description: "When the field refers to a value in an entity property, details\ \ of the entity property value." items: $ref: "#/components/schemas/JqlQueryFieldEntityProperty" type: "array" required: - "name" type: "object" JqlQueryFieldEntityProperty: description: "Details of an entity property." properties: entity: description: "The object on which the property is set." example: "issue" type: "string" key: description: "The key of the property." example: "stats" type: "string" path: description: "The path in the property value to query." example: "comments.count" type: "string" type: description: "The type of the property value extraction. Not available if\ \ the extraction for the property is not registered on the instance with\ \ the [Entity property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/)\ \ module." enum: - "number" - "string" - "text" - "date" - "user" example: "number" type: "string" required: - "entity" - "key" - "path" type: "object" JqlQueryOrderByClause: additionalProperties: false description: "Details of the order-by JQL clause." properties: fields: description: "The list of order-by clause fields and their ordering directives." items: $ref: "#/components/schemas/JqlQueryOrderByClauseElement" type: "array" required: - "fields" type: "object" JqlQueryOrderByClauseElement: additionalProperties: false description: "An element of the order-by JQL clause." properties: direction: description: "The direction in which to order the results." enum: - "asc" - "desc" type: "string" field: $ref: "#/components/schemas/JqlQueryField" required: - "field" type: "object" JqlQueryToSanitize: additionalProperties: false description: "The JQL query to sanitize for the account ID. If the account ID\ \ is null, sanitizing is performed for an anonymous user." properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." maxLength: 128 nullable: true type: "string" query: description: "The query to sanitize." type: "string" required: - "query" type: "object" writeOnly: true JqlQueryUnitaryOperand: anyOf: - $ref: "#/components/schemas/ValueOperand" - $ref: "#/components/schemas/FunctionOperand" - $ref: "#/components/schemas/KeywordOperand" description: "An operand that can be part of a list operand." type: "object" JsonContextVariable: description: "A JSON object with custom content." properties: type: description: "Type of custom context variable." type: "string" value: description: "A JSON object containing custom content." type: "object" required: - "type" type: "object" JsonNode: additionalProperties: false maxProperties: 10 minProperties: 1 properties: array: type: "boolean" bigDecimal: type: "boolean" bigInteger: type: "boolean" bigIntegerValue: type: "integer" binary: type: "boolean" binaryValue: items: format: "byte" type: "string" type: "array" boolean: type: "boolean" booleanValue: type: "boolean" containerNode: type: "boolean" decimalValue: type: "number" double: type: "boolean" doubleValue: format: "double" type: "number" elements: type: "object" fieldNames: type: "object" fields: type: "object" floatingPointNumber: type: "boolean" int: type: "boolean" intValue: format: "int32" type: "integer" integralNumber: type: "boolean" long: type: "boolean" longValue: format: "int64" type: "integer" missingNode: type: "boolean" "null": type: "boolean" number: type: "boolean" numberType: enum: - "INT" - "LONG" - "BIG_INTEGER" - "FLOAT" - "DOUBLE" - "BIG_DECIMAL" type: "string" numberValue: type: "number" object: type: "boolean" pojo: type: "boolean" textValue: type: "string" textual: type: "boolean" valueAsBoolean: type: "boolean" valueAsDouble: format: "double" type: "number" valueAsInt: format: "int32" type: "integer" valueAsLong: format: "int64" type: "integer" valueAsText: type: "string" valueNode: type: "boolean" type: "object" JsonTypeBean: additionalProperties: false description: "The schema of a field." properties: configuration: additionalProperties: readOnly: true description: "If the field is a custom field, the configuration of the field." readOnly: true type: "object" custom: description: "If the field is a custom field, the URI of the field." readOnly: true type: "string" customId: description: "If the field is a custom field, the custom ID of the field." format: "int64" readOnly: true type: "integer" items: description: "When the data type is an array, the name of the field items\ \ within the array." readOnly: true type: "string" system: description: "If the field is a system field, the name of the field." readOnly: true type: "string" type: description: "The data type of the field." readOnly: true type: "string" required: - "type" type: "object" KeywordOperand: description: "An operand that is a JQL keyword. See [Advanced searching - keywords\ \ reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY)\ \ for more information about operand keywords." properties: keyword: description: "The keyword that is the operand value." enum: - "empty" type: "string" required: - "keyword" type: "object" LegacyJackson1ListAttachment: items: $ref: "#/components/schemas/Attachment" type: "array" LegacyJackson1ListColumnItem: items: $ref: "#/components/schemas/ColumnItem" type: "array" LegacyJackson1ListIssueEvent: items: $ref: "#/components/schemas/IssueEvent" type: "array" LegacyJackson1ListIssueTypeWithStatus: items: $ref: "#/components/schemas/IssueTypeWithStatus" type: "array" LegacyJackson1ListProject: items: $ref: "#/components/schemas/Project" type: "array" LegacyJackson1ListProjectComponent: items: $ref: "#/components/schemas/ProjectComponent" type: "array" LegacyJackson1ListProjectRoleDetails: items: $ref: "#/components/schemas/ProjectRoleDetails" type: "array" LegacyJackson1ListProjectType: items: $ref: "#/components/schemas/ProjectType" type: "array" LegacyJackson1ListUserMigrationBean: items: $ref: "#/components/schemas/UserMigrationBean" type: "array" LegacyJackson1ListVersion: items: $ref: "#/components/schemas/Version" type: "array" LegacyJackson1ListWorklog: items: $ref: "#/components/schemas/Worklog" type: "array" License: additionalProperties: false description: "Details about a license for the Jira instance." properties: applications: description: "The applications under this license." items: $ref: "#/components/schemas/LicensedApplication" readOnly: true type: "array" required: - "applications" type: "object" LicenseMetric: additionalProperties: false description: "A metric that provides insight into the active licence details" properties: key: description: "The key of a specific license metric." type: "string" value: description: "The calculated value of a licence metric linked to the key.\ \ An example licence metric is the approximate number of user accounts." type: "string" type: "object" LicensedApplication: additionalProperties: false description: "Details about a licensed Jira application." properties: id: description: "The ID of the application." readOnly: true type: "string" plan: description: "The licensing plan." enum: - "UNLICENSED" - "FREE" - "PAID" readOnly: true type: "string" required: - "id" - "plan" type: "object" LinkGroup: additionalProperties: false description: "Details a link group, which defines issue operations." properties: groups: items: $ref: "#/components/schemas/LinkGroup" type: "array" header: $ref: "#/components/schemas/SimpleLink" id: type: "string" links: items: $ref: "#/components/schemas/SimpleLink" type: "array" styleClass: type: "string" weight: format: "int32" type: "integer" type: "object" LinkIssueRequestJsonBean: additionalProperties: false properties: comment: $ref: "#/components/schemas/Comment" inwardIssue: $ref: "#/components/schemas/LinkedIssue" outwardIssue: $ref: "#/components/schemas/LinkedIssue" type: $ref: "#/components/schemas/IssueLinkType" required: - "inwardIssue" - "outwardIssue" - "type" type: "object" LinkedIssue: additionalProperties: false description: "The ID or key of a linked issue." properties: fields: allOf: - $ref: "#/components/schemas/Fields" description: "The fields associated with the issue." readOnly: true id: description: "The ID of an issue. Required if `key` isn't provided." type: "string" key: description: "The key of an issue. Required if `id` isn't provided." type: "string" self: description: "The URL of the issue." format: "uri" readOnly: true type: "string" type: "object" ListOperand: description: "An operand that is a list of values." properties: encodedOperand: description: "Encoded operand, which can be used directly in a JQL query." type: "string" values: description: "The list of operand values." items: $ref: "#/components/schemas/JqlQueryUnitaryOperand" minLength: 1 type: "array" required: - "values" type: "object" ListWrapperCallbackApplicationRole: additionalProperties: false type: "object" ListWrapperCallbackGroupName: additionalProperties: false type: "object" Locale: additionalProperties: false description: "Details of a locale." properties: locale: description: "The locale code. The Java the locale format is used: a two\ \ character language code (ISO 639), an underscore, and two letter country\ \ code (ISO 3166). For example, en\\_US represents a locale of English\ \ (United States). Required on create." type: "string" type: "object" MappingsByIssueTypeOverride: additionalProperties: false description: "Overrides, for the selected issue types, any status mappings provided\ \ in `statusMappingsByWorkflows`. Status mappings are required when the new\ \ workflow for an issue type doesn't contain all statuses that the old workflow\ \ has. Status mappings can be provided by a combination of `statusMappingsByWorkflows`\ \ and `statusMappingsByIssueTypeOverride`." properties: issueTypeId: description: "The ID of the issue type for this mapping." type: "string" statusMappings: description: "The list of status mappings." items: $ref: "#/components/schemas/WorkflowAssociationStatusMapping" type: "array" required: - "issueTypeId" - "statusMappings" type: "object" MappingsByWorkflow: additionalProperties: false description: "The status mappings by workflows. Status mappings are required\ \ when the new workflow for an issue type doesn't contain all statuses that\ \ the old workflow has. Status mappings can be provided by a combination of\ \ `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`." properties: newWorkflowId: description: "The ID of the new workflow." type: "string" oldWorkflowId: description: "The ID of the old workflow." type: "string" statusMappings: description: "The list of status mappings." items: $ref: "#/components/schemas/WorkflowAssociationStatusMapping" type: "array" required: - "newWorkflowId" - "oldWorkflowId" - "statusMappings" type: "object" MoveFieldBean: additionalProperties: false properties: after: description: "The ID of the screen tab field after which to place the moved\ \ screen tab field. Required if `position` isn't provided." format: "uri" type: "string" position: description: "The named position to which the screen tab field should be\ \ moved. Required if `after` isn't provided." enum: - "Earlier" - "Later" - "First" - "Last" type: "string" type: "object" MultiIssueEntityProperties: additionalProperties: false description: "A list of issues and their respective properties to set or update.\ \ See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)\ \ for more information." properties: issues: description: "A list of issue IDs and their respective properties." items: $ref: "#/components/schemas/IssueEntityPropertiesForMultiUpdate" maxProperties: 100 minProperties: 1 type: "array" type: "object" MultipartFile: additionalProperties: false properties: bytes: items: format: "byte" type: "string" type: "array" contentType: type: "string" empty: type: "boolean" inputStream: type: "object" name: type: "string" originalFilename: type: "string" resource: $ref: "#/components/schemas/Resource" size: format: "int64" type: "integer" type: "object" MultipleCustomFieldValuesUpdate: additionalProperties: false description: "A custom field and its new value with a list of issue to update." properties: customField: description: "The ID or key of the custom field. For example, `customfield_10010`." type: "string" writeOnly: true issueIds: description: "The list of issue IDs." items: format: "int64" type: "integer" writeOnly: true type: "array" writeOnly: true value: description: "The value for the custom field. The value must be compatible\ \ with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types)\ \ as follows:\n\n * `string` the value must be a string.\n * `number`\ \ the value must be a number.\n * `datetime` the value must be a string\ \ that represents a date in the ISO format or the simplified extended\ \ ISO format. For example, `\"2023-01-18T12:00:00-03:00\"` or `\"2023-01-18T12:00:00.000Z\"\ `. However, the milliseconds part is ignored.\n * `user` the value must\ \ be an object that contains the `accountId` field.\n * `group` the value\ \ must be an object that contains the group `name` or `groupId` field.\ \ Because group names can change, we recommend using `groupId`.\n\nA list\ \ of appropriate values must be provided if the field is of the `list`\ \ [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types)." required: - "customField" - "issueIds" - "value" type: "object" writeOnly: true MultipleCustomFieldValuesUpdateDetails: additionalProperties: false description: "List of updates for a custom fields." properties: updates: items: $ref: "#/components/schemas/MultipleCustomFieldValuesUpdate" type: "array" type: "object" writeOnly: true NestedResponse: additionalProperties: false properties: errorCollection: $ref: "#/components/schemas/ErrorCollection" status: format: "int32" type: "integer" warningCollection: $ref: "#/components/schemas/WarningCollection" type: "object" NewUserDetails: additionalProperties: true description: "The user details." properties: applicationKeys: description: "Deprecated, do not use." items: type: "string" type: "array" displayName: description: "This property is no longer available. If the user has an Atlassian\ \ account, their display name is not changed. If the user does not have\ \ an Atlassian account, they are sent an email asking them set up an account." type: "string" emailAddress: description: "The email address for the user." type: "string" key: description: "This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details." type: "string" name: description: "This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details." type: "string" password: description: "This property is no longer available. If the user has an Atlassian\ \ account, their password is not changed. If the user does not have an\ \ Atlassian account, they are sent an email asking them set up an account." type: "string" products: description: "Products the new user has access to. Valid products are: jira-core,\ \ jira-servicedesk, jira-product-discovery, jira-software. If left empty,\ \ the user will get default product access. To create a user without product\ \ access, set this field to be an empty array." items: type: "string" type: "array" uniqueItems: true self: description: "The URL of the user." readOnly: true type: "string" required: - "emailAddress" type: "object" Notification: additionalProperties: true description: "Details about a notification." properties: htmlBody: description: "The HTML body of the email notification for the issue." type: "string" restrict: allOf: - $ref: "#/components/schemas/NotificationRecipientsRestrictions" description: "Restricts the notifications to users with the specified permissions." subject: description: "The subject of the email notification for the issue. If this\ \ is not specified, then the subject is set to the issue key and summary." type: "string" textBody: description: "The plain text body of the email notification for the issue." type: "string" to: allOf: - $ref: "#/components/schemas/NotificationRecipients" description: "The recipients of the email notification for the issue." type: "object" NotificationEvent: additionalProperties: false description: "Details about a notification event." properties: description: description: "The description of the event." type: "string" id: description: "The ID of the event. The event can be a [Jira system event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents)\ \ or a [custom event](https://confluence.atlassian.com/x/AIlKLg)." format: "int64" type: "integer" name: description: "The name of the event." type: "string" templateEvent: allOf: - $ref: "#/components/schemas/NotificationEvent" description: "The template of the event. Only custom events configured by\ \ Jira administrators have template." type: "object" NotificationRecipients: additionalProperties: true description: "Details of the users and groups to receive the notification." properties: assignee: description: "Whether the notification should be sent to the issue's assignees." type: "boolean" groupIds: description: "List of groupIds to receive the notification." items: type: "string" type: "array" groups: description: "List of groups to receive the notification." items: $ref: "#/components/schemas/GroupName" type: "array" reporter: description: "Whether the notification should be sent to the issue's reporter." type: "boolean" users: description: "List of users to receive the notification." items: $ref: "#/components/schemas/UserDetails" type: "array" voters: description: "Whether the notification should be sent to the issue's voters." type: "boolean" watchers: description: "Whether the notification should be sent to the issue's watchers." type: "boolean" type: "object" NotificationRecipientsRestrictions: additionalProperties: false description: "Details of the group membership or permissions needed to receive\ \ the notification." properties: groupIds: description: "List of groupId memberships required to receive the notification." items: type: "string" type: "array" groups: description: "List of group memberships required to receive the notification." items: $ref: "#/components/schemas/GroupName" type: "array" permissions: description: "List of permissions required to receive the notification." items: $ref: "#/components/schemas/RestrictedPermission" type: "array" type: "object" NotificationScheme: additionalProperties: false description: "Details about a notification scheme." properties: description: description: "The description of the notification scheme." type: "string" expand: description: "Expand options that include additional notification scheme\ \ details in the response." type: "string" id: description: "The ID of the notification scheme." format: "int64" type: "integer" name: description: "The name of the notification scheme." type: "string" notificationSchemeEvents: description: "The notification events and associated recipients." items: $ref: "#/components/schemas/NotificationSchemeEvent" type: "array" projects: description: "The list of project IDs associated with the notification scheme." items: format: "int64" type: "integer" type: "array" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the notification scheme." self: type: "string" type: "object" NotificationSchemeAndProjectMappingJsonBean: additionalProperties: false properties: notificationSchemeId: type: "string" projectId: type: "string" type: "object" NotificationSchemeEvent: additionalProperties: false description: "Details about a notification scheme event." properties: event: $ref: "#/components/schemas/NotificationEvent" notifications: items: $ref: "#/components/schemas/EventNotification" type: "array" type: "object" NotificationSchemeEventDetails: additionalProperties: true description: "Details of a notification scheme event." properties: event: allOf: - $ref: "#/components/schemas/NotificationSchemeEventTypeId" description: "The ID of the event." notifications: description: "The list of notifications mapped to a specified event." items: $ref: "#/components/schemas/NotificationSchemeNotificationDetails" maxLength: 255 type: "array" writeOnly: true required: - "event" - "notifications" type: "object" writeOnly: true NotificationSchemeEventTypeId: additionalProperties: true description: "The ID of an event that is being mapped to notifications." properties: id: description: "The ID of the notification scheme event." type: "string" writeOnly: true required: - "id" type: "object" writeOnly: true NotificationSchemeId: additionalProperties: true description: "The ID of a notification scheme." properties: id: description: "The ID of a notification scheme." readOnly: true type: "string" required: - "id" type: "object" NotificationSchemeNotificationDetails: additionalProperties: true description: "Details of a notification within a notification scheme." maxLength: 255 properties: notificationType: description: "The notification type, e.g `CurrentAssignee`, `Group`, `EmailAddress`." type: "string" writeOnly: true parameter: description: "The value corresponding to the specified notification type." type: "string" writeOnly: true required: - "notificationType" type: "object" writeOnly: true OldToNewSecurityLevelMappingsBean: additionalProperties: false properties: newLevelId: description: "The new issue security level ID. Providing null will clear\ \ the assigned old level from issues." type: "string" writeOnly: true oldLevelId: description: "The old issue security level ID. Providing null will remap\ \ all issues without any assigned levels." type: "string" writeOnly: true required: - "newLevelId" - "oldLevelId" type: "object" writeOnly: true OperationMessage: additionalProperties: false example: message: "An example message." statusCode: 200 properties: message: description: "The human-readable message that describes the result." type: "string" statusCode: description: "The status code of the response." type: "integer" required: - "message" - "statusCode" type: "object" Operations: additionalProperties: true description: "Details of the operations that can be performed on the issue." properties: linkGroups: description: "Details of the link groups defining issue operations." items: $ref: "#/components/schemas/LinkGroup" readOnly: true type: "array" type: "object" OrderOfCustomFieldOptions: additionalProperties: false description: "An ordered list of custom field option IDs and information on\ \ where to move them." properties: after: description: "The ID of the custom field option or cascading option to place\ \ the moved options after. Required if `position` isn't provided." type: "string" writeOnly: true customFieldOptionIds: description: "A list of IDs of custom field options to move. The order of\ \ the custom field option IDs in the list is the order they are given\ \ after the move. The list must contain custom field options or cascading\ \ options, but not both." items: type: "string" writeOnly: true type: "array" writeOnly: true position: description: "The position the custom field options should be moved to.\ \ Required if `after` isn't provided." enum: - "First" - "Last" type: "string" writeOnly: true required: - "customFieldOptionIds" type: "object" OrderOfIssueTypes: additionalProperties: false description: "An ordered list of issue type IDs and information about where\ \ to move them." properties: after: description: "The ID of the issue type to place the moved issue types after.\ \ Required if `position` isn't provided." type: "string" writeOnly: true issueTypeIds: description: "A list of the issue type IDs to move. The order of the issue\ \ type IDs in the list is the order they are given after the move." items: type: "string" writeOnly: true type: "array" writeOnly: true position: description: "The position the issue types should be moved to. Required\ \ if `after` isn't provided." enum: - "First" - "Last" type: "string" writeOnly: true required: - "issueTypeIds" type: "object" PageBean2ComponentJsonBean: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ComponentJsonBean" readOnly: true type: "array" type: "object" PageBeanChangelog: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Changelog" readOnly: true type: "array" type: "object" PageBeanComment: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Comment" readOnly: true type: "array" type: "object" PageBeanComponentWithIssueCount: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ComponentWithIssueCount" readOnly: true type: "array" type: "object" PageBeanContext: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Context" readOnly: true type: "array" type: "object" PageBeanContextForProjectAndIssueType: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ContextForProjectAndIssueType" readOnly: true type: "array" type: "object" PageBeanContextualConfiguration: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ContextualConfiguration" readOnly: true type: "array" type: "object" PageBeanCustomFieldContext: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/CustomFieldContext" readOnly: true type: "array" type: "object" PageBeanCustomFieldContextDefaultValue: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/CustomFieldContextDefaultValue" readOnly: true type: "array" type: "object" PageBeanCustomFieldContextOption: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/CustomFieldContextOption" readOnly: true type: "array" type: "object" PageBeanCustomFieldContextProjectMapping: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/CustomFieldContextProjectMapping" readOnly: true type: "array" type: "object" PageBeanDashboard: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Dashboard" readOnly: true type: "array" type: "object" PageBeanField: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Field" readOnly: true type: "array" type: "object" PageBeanFieldConfigurationDetails: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/FieldConfigurationDetails" readOnly: true type: "array" type: "object" PageBeanFieldConfigurationIssueTypeItem: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/FieldConfigurationIssueTypeItem" readOnly: true type: "array" type: "object" PageBeanFieldConfigurationItem: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/FieldConfigurationItem" readOnly: true type: "array" type: "object" PageBeanFieldConfigurationScheme: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/FieldConfigurationScheme" readOnly: true type: "array" type: "object" PageBeanFieldConfigurationSchemeProjects: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/FieldConfigurationSchemeProjects" readOnly: true type: "array" type: "object" PageBeanFilterDetails: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/FilterDetails" readOnly: true type: "array" type: "object" PageBeanGroupDetails: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/GroupDetails" readOnly: true type: "array" type: "object" PageBeanIssueFieldOption: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueFieldOption" readOnly: true type: "array" type: "object" PageBeanIssueSecurityLevelMember: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueSecurityLevelMember" readOnly: true type: "array" type: "object" PageBeanIssueSecuritySchemeToProjectMapping: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueSecuritySchemeToProjectMapping" readOnly: true type: "array" type: "object" PageBeanIssueTypeScheme: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueTypeScheme" readOnly: true type: "array" type: "object" PageBeanIssueTypeSchemeMapping: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueTypeSchemeMapping" readOnly: true type: "array" type: "object" PageBeanIssueTypeSchemeProjects: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueTypeSchemeProjects" readOnly: true type: "array" type: "object" PageBeanIssueTypeScreenScheme: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueTypeScreenScheme" readOnly: true type: "array" type: "object" PageBeanIssueTypeScreenSchemeItem: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueTypeScreenSchemeItem" readOnly: true type: "array" type: "object" PageBeanIssueTypeScreenSchemesProjects: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueTypeScreenSchemesProjects" readOnly: true type: "array" type: "object" PageBeanIssueTypeToContextMapping: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/IssueTypeToContextMapping" readOnly: true type: "array" type: "object" PageBeanJqlFunctionPrecomputationBean: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/JqlFunctionPrecomputationBean" readOnly: true type: "array" type: "object" PageBeanNotificationScheme: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/NotificationScheme" readOnly: true type: "array" type: "object" PageBeanNotificationSchemeAndProjectMappingJsonBean: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/NotificationSchemeAndProjectMappingJsonBean" readOnly: true type: "array" type: "object" PageBeanPriority: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Priority" readOnly: true type: "array" type: "object" PageBeanProject: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Project" readOnly: true type: "array" type: "object" PageBeanProjectDetails: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ProjectDetails" readOnly: true type: "array" type: "object" PageBeanResolutionJsonBean: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ResolutionJsonBean" readOnly: true type: "array" type: "object" PageBeanScreen: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Screen" readOnly: true type: "array" type: "object" PageBeanScreenScheme: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ScreenScheme" readOnly: true type: "array" type: "object" PageBeanScreenWithTab: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/ScreenWithTab" readOnly: true type: "array" type: "object" PageBeanSecurityLevel: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/SecurityLevel" readOnly: true type: "array" type: "object" PageBeanSecurityLevelMember: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/SecurityLevelMember" readOnly: true type: "array" type: "object" PageBeanSecuritySchemeWithProjects: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/SecuritySchemeWithProjects" readOnly: true type: "array" type: "object" PageBeanString: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: readOnly: true type: "string" readOnly: true type: "array" type: "object" PageBeanUiModificationDetails: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/UiModificationDetails" readOnly: true type: "array" type: "object" PageBeanUser: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/User" readOnly: true type: "array" type: "object" PageBeanUserDetails: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/UserDetails" readOnly: true type: "array" type: "object" PageBeanUserKey: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/UserKey" readOnly: true type: "array" type: "object" PageBeanVersion: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Version" readOnly: true type: "array" type: "object" PageBeanWebhook: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Webhook" readOnly: true type: "array" type: "object" PageBeanWorkflow: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/Workflow" readOnly: true type: "array" type: "object" PageBeanWorkflowScheme: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/WorkflowScheme" readOnly: true type: "array" type: "object" PageBeanWorkflowTransitionRules: additionalProperties: false description: "A page of items." properties: isLast: description: "Whether this is the last page." readOnly: true type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" nextPage: description: "If there is another page of results, the URL of the next page." format: "uri" readOnly: true type: "string" self: description: "The URL of the page." format: "uri" readOnly: true type: "string" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/WorkflowTransitionRules" readOnly: true type: "array" type: "object" PageOfChangelogs: additionalProperties: false description: "A page of changelogs." properties: histories: description: "The list of changelogs." items: $ref: "#/components/schemas/Changelog" readOnly: true type: "array" maxResults: description: "The maximum number of results that could be on the page." format: "int32" readOnly: true type: "integer" startAt: description: "The index of the first item returned on the page." format: "int32" readOnly: true type: "integer" total: description: "The number of results on the page." format: "int32" readOnly: true type: "integer" type: "object" PageOfComments: additionalProperties: true description: "A page of comments." properties: comments: description: "The list of comments." items: $ref: "#/components/schemas/Comment" readOnly: true type: "array" maxResults: description: "The maximum number of items that could be returned." format: "int32" readOnly: true type: "integer" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The number of items returned." format: "int64" readOnly: true type: "integer" type: "object" PageOfCreateMetaIssueTypeWithField: additionalProperties: true description: "A page of CreateMetaIssueType with Field." properties: fields: description: "The collection of FieldCreateMetaBeans." items: $ref: "#/components/schemas/FieldCreateMetadata" readOnly: true type: "array" maxResults: description: "The maximum number of items to return per page." format: "int32" readOnly: true type: "integer" results: items: $ref: "#/components/schemas/FieldCreateMetadata" type: "array" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The total number of items in all pages." format: "int64" readOnly: true type: "integer" type: "object" PageOfCreateMetaIssueTypes: additionalProperties: true description: "A page of CreateMetaIssueTypes." properties: createMetaIssueType: items: $ref: "#/components/schemas/IssueTypeIssueCreateMetadata" type: "array" writeOnly: true issueTypes: description: "The list of CreateMetaIssueType." items: $ref: "#/components/schemas/IssueTypeIssueCreateMetadata" readOnly: true type: "array" maxResults: description: "The maximum number of items to return per page." format: "int32" readOnly: true type: "integer" startAt: description: "The index of the first item returned." format: "int64" readOnly: true type: "integer" total: description: "The total number of items in all pages." format: "int64" readOnly: true type: "integer" type: "object" PageOfDashboards: additionalProperties: false description: "A page containing dashboard details." properties: dashboards: description: "List of dashboards." items: $ref: "#/components/schemas/Dashboard" readOnly: true type: "array" maxResults: description: "The maximum number of results that could be on the page." format: "int32" readOnly: true type: "integer" next: description: "The URL of the next page of results, if any." readOnly: true type: "string" prev: description: "The URL of the previous page of results, if any." readOnly: true type: "string" startAt: description: "The index of the first item returned on the page." format: "int32" readOnly: true type: "integer" total: description: "The number of results on the page." format: "int32" readOnly: true type: "integer" type: "object" PageOfStatuses: additionalProperties: false properties: isLast: description: "Whether this is the last page." type: "boolean" maxResults: description: "The maximum number of items that could be returned." format: "int32" type: "integer" nextPage: description: "The URL of the next page of results, if any." type: "string" self: description: "The URL of this page." type: "string" startAt: description: "The index of the first item returned on the page." format: "int64" type: "integer" total: description: "Number of items that satisfy the search." format: "int64" type: "integer" values: description: "The list of items." items: $ref: "#/components/schemas/JiraStatus" type: "array" type: "object" PageOfWorklogs: additionalProperties: true description: "Paginated list of worklog details" properties: maxResults: description: "The maximum number of results that could be on the page." format: "int32" readOnly: true type: "integer" startAt: description: "The index of the first item returned on the page." format: "int32" readOnly: true type: "integer" total: description: "The number of results on the page." format: "int32" readOnly: true type: "integer" worklogs: description: "List of worklogs." items: $ref: "#/components/schemas/Worklog" readOnly: true type: "array" type: "object" PagedListUserDetailsApplicationUser: additionalProperties: false description: "A paged list. To access additional details append `[start-index:end-index]`\ \ to the expand request. For example, `?expand=sharedUsers[10:40]` returns\ \ a list starting at item 10 and finishing at item 40." properties: end-index: description: "The index of the last item returned on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "end-index" items: description: "The list of items." items: $ref: "#/components/schemas/UserDetails" readOnly: true type: "array" max-results: description: "The maximum number of results that could be on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "max-results" size: description: "The number of items on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true start-index: description: "The index of the first item returned on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "start-index" type: "object" PaginatedResponseComment: additionalProperties: false properties: maxResults: format: "int32" type: "integer" results: items: $ref: "#/components/schemas/Comment" type: "array" startAt: format: "int64" type: "integer" total: format: "int64" type: "integer" type: "object" PaginatedResponseFieldCreateMetadata: additionalProperties: false properties: maxResults: format: "int32" type: "integer" results: items: $ref: "#/components/schemas/FieldCreateMetadata" type: "array" startAt: format: "int64" type: "integer" total: format: "int64" type: "integer" type: "object" PaginatedResponseIssueTypeIssueCreateMetadata: additionalProperties: false properties: maxResults: format: "int32" type: "integer" results: items: $ref: "#/components/schemas/IssueTypeIssueCreateMetadata" type: "array" startAt: format: "int64" type: "integer" total: format: "int64" type: "integer" type: "object" ParsedJqlQueries: additionalProperties: false description: "A list of parsed JQL queries." properties: queries: description: "A list of parsed JQL queries." items: $ref: "#/components/schemas/ParsedJqlQuery" minLength: 1 type: "array" required: - "queries" type: "object" ParsedJqlQuery: additionalProperties: false description: "Details of a parsed JQL query." minLength: 1 properties: errors: description: "The list of syntax or validation errors." items: type: "string" type: "array" uniqueItems: true query: description: "The JQL query that was parsed and validated." type: "string" structure: allOf: - $ref: "#/components/schemas/JqlQuery" description: "The syntax tree of the query. Empty if the query was invalid." required: - "query" type: "object" PermissionDetails: additionalProperties: false description: "Details for permissions of shareable entities" properties: editPermissions: description: "The edit permissions for the shareable entities." items: $ref: "#/components/schemas/SharePermission" type: "array" sharePermissions: description: "The share permissions for the shareable entities." items: $ref: "#/components/schemas/SharePermission" type: "array" required: - "editPermissions" - "sharePermissions" type: "object" PermissionGrant: additionalProperties: true description: "Details about a permission granted to a user or group." properties: holder: allOf: - $ref: "#/components/schemas/PermissionHolder" description: "The user or group being granted the permission. It consists\ \ of a `type`, a type-dependent `parameter` and a type-dependent `value`.\ \ See [Holder object](../api-group-permission-schemes/#holder-object)\ \ in *Get all permission schemes* for more information." id: description: "The ID of the permission granted details." format: "int64" readOnly: true type: "integer" permission: description: "The permission to grant. This permission can be one of the\ \ built-in permissions or a custom permission added by an app. See [Built-in\ \ permissions](../api-group-permission-schemes/#built-in-permissions)\ \ in *Get all permission schemes* for more information about the built-in\ \ 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 about custom permissions." type: "string" self: description: "The URL of the permission granted details." format: "uri" readOnly: true type: "string" type: "object" PermissionGrants: additionalProperties: false description: "List of permission grants." properties: expand: description: "Expand options that include additional permission grant details\ \ in the response." readOnly: true type: "string" permissions: description: "Permission grants list." items: $ref: "#/components/schemas/PermissionGrant" readOnly: true type: "array" type: "object" PermissionHolder: additionalProperties: false description: "Details of a user, group, field, or project role that holds a\ \ permission. See [Holder object](../api-group-permission-schemes/#holder-object)\ \ in *Get all permission schemes* for more information." properties: expand: description: "Expand options that include additional permission holder details\ \ in the response." readOnly: true type: "string" parameter: description: "As a group's name can change, use of `value` is recommended.\ \ The identifier associated withthe `type` value that defines the holder\ \ of the permission." type: "string" type: description: "The type of permission holder." type: "string" value: description: "The identifier associated with the `type` value that defines\ \ the holder of the permission." type: "string" required: - "type" type: "object" PermissionScheme: additionalProperties: true description: "Details of a permission scheme." properties: description: description: "A description for the permission scheme." type: "string" expand: description: "The expand options available for the permission scheme." readOnly: true type: "string" id: description: "The ID of the permission scheme." format: "int64" readOnly: true type: "integer" name: description: "The name of the permission scheme. Must be unique." type: "string" permissions: description: "The permission scheme to create or update. See [About permission\ \ schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants)\ \ for more information." items: $ref: "#/components/schemas/PermissionGrant" type: "array" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the permission scheme." self: description: "The URL of the permission scheme." format: "uri" readOnly: true type: "string" required: - "name" type: "object" PermissionSchemes: additionalProperties: false description: "List of all permission schemes." properties: permissionSchemes: description: "Permission schemes list." items: $ref: "#/components/schemas/PermissionScheme" readOnly: true type: "array" type: "object" Permissions: additionalProperties: false description: "Details about permissions." properties: permissions: additionalProperties: $ref: "#/components/schemas/UserPermission" description: "List of permissions." readOnly: true type: "object" type: "object" PermissionsKeysBean: additionalProperties: false properties: permissions: description: "A list of permission keys." items: type: "string" type: "array" required: - "permissions" type: "object" PermittedProjects: additionalProperties: false description: "A list of projects in which a user is granted permissions." properties: projects: description: "A list of projects." items: $ref: "#/components/schemas/ProjectIdentifierBean" readOnly: true type: "array" type: "object" Priority: additionalProperties: true description: "An issue priority." properties: description: description: "The description of the issue priority." type: "string" iconUrl: description: "The URL of the icon for the issue priority." type: "string" id: description: "The ID of the issue priority." type: "string" isDefault: description: "Whether this priority is the default." type: "boolean" name: description: "The name of the issue priority." type: "string" schemes: allOf: - $ref: "#/components/schemas/ExpandPrioritySchemePage" description: "Priority schemes associated with the issue priority." self: description: "The URL of the issue priority." type: "string" statusColor: description: "The color used to indicate the issue priority." type: "string" type: "object" PriorityId: additionalProperties: true description: "The ID of an issue priority." properties: id: description: "The ID of the issue priority." readOnly: true type: "string" required: - "id" type: "object" Project: additionalProperties: false description: "Details about a project." properties: archived: description: "Whether the project is archived." readOnly: true type: "boolean" archivedBy: allOf: - $ref: "#/components/schemas/User" description: "The user who archived the project." readOnly: true archivedDate: description: "The date when the project was archived." format: "date-time" readOnly: true type: "string" assigneeType: description: "The default assignee when creating issues for this project." enum: - "PROJECT_LEAD" - "UNASSIGNED" readOnly: true type: "string" avatarUrls: allOf: - $ref: "#/components/schemas/AvatarUrlsBean" description: "The URLs of the project's avatars." readOnly: true components: description: "List of the components contained in the project." items: $ref: "#/components/schemas/ProjectComponent" readOnly: true type: "array" deleted: description: "Whether the project is marked as deleted." readOnly: true type: "boolean" deletedBy: allOf: - $ref: "#/components/schemas/User" description: "The user who marked the project as deleted." readOnly: true deletedDate: description: "The date when the project was marked as deleted." format: "date-time" readOnly: true type: "string" description: description: "A brief description of the project." readOnly: true type: "string" email: description: "An email address associated with the project." type: "string" expand: description: "Expand options that include additional project details in\ \ the response." readOnly: true type: "string" xml: attribute: true favourite: description: "Whether the project is selected as a favorite." type: "boolean" id: description: "The ID of the project." type: "string" insight: allOf: - $ref: "#/components/schemas/ProjectInsight" description: "Insights about the project." readOnly: true isPrivate: description: "Whether the project is private from the user's perspective.\ \ This means the user can't see the project or any associated issues." readOnly: true type: "boolean" issueTypeHierarchy: allOf: - $ref: "#/components/schemas/Hierarchy" description: "The issue type hierarchy for the project." readOnly: true issueTypes: description: "List of the issue types available in the project." items: $ref: "#/components/schemas/IssueTypeDetails" readOnly: true type: "array" key: description: "The key of the project." readOnly: true type: "string" landingPageInfo: allOf: - $ref: "#/components/schemas/ProjectLandingPageInfo" description: "The project landing page info." readOnly: true lead: allOf: - $ref: "#/components/schemas/User" description: "The username of the project lead." readOnly: true name: description: "The name of the project." readOnly: true type: "string" permissions: allOf: - $ref: "#/components/schemas/ProjectPermissions" description: "User permissions on the project" readOnly: true projectCategory: allOf: - $ref: "#/components/schemas/ProjectCategory" description: "The category the project belongs to." readOnly: true projectTypeKey: description: "The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes)\ \ of the project." enum: - "software" - "service_desk" - "business" readOnly: true type: "string" properties: additionalProperties: readOnly: true description: "Map of project properties" readOnly: true type: "object" retentionTillDate: description: "The date when the project is deleted permanently." format: "date-time" readOnly: true type: "string" roles: additionalProperties: format: "uri" readOnly: true type: "string" description: "The name and self URL for each role defined in the project.\ \ For more information, see [Create project role](#api-rest-api-2-role-post)." readOnly: true type: "object" self: description: "The URL of the project details." format: "uri" readOnly: true type: "string" simplified: description: "Whether the project is simplified." readOnly: true type: "boolean" style: description: "The type of the project." enum: - "classic" - "next-gen" readOnly: true type: "string" url: description: "A link to information about this project, such as project\ \ documentation." readOnly: true type: "string" uuid: description: "Unique ID for next-gen projects." format: "uuid" readOnly: true type: "string" versions: description: "The versions defined in the project. For more information,\ \ see [Create version](#api-rest-api-2-version-post)." items: $ref: "#/components/schemas/Version" readOnly: true type: "array" type: "object" xml: name: "project" ProjectAndIssueTypePair: additionalProperties: false description: "A project and issueType ID pair that identifies a status mapping." properties: issueTypeId: description: "The ID of the issue type." type: "string" projectId: description: "The ID of the project." type: "string" required: - "issueTypeId" - "projectId" type: "object" ProjectAvatars: additionalProperties: false description: "List of project avatars." properties: custom: description: "List of avatars added to Jira. These avatars may be deleted." items: $ref: "#/components/schemas/Avatar" readOnly: true type: "array" system: description: "List of avatars included with Jira. These avatars cannot be\ \ deleted." items: $ref: "#/components/schemas/Avatar" readOnly: true type: "array" type: "object" ProjectCategory: additionalProperties: false description: "A project category." properties: description: description: "The description of the project category." type: "string" id: description: "The ID of the project category." readOnly: true type: "string" name: description: "The name of the project category. Required on create, optional\ \ on update." type: "string" self: description: "The URL of the project category." format: "uri" readOnly: true type: "string" type: "object" ProjectComponent: additionalProperties: false description: "Details about a project component." properties: ari: description: "Compass component's ID. Can't be updated. Not required for\ \ creating a Project Component." readOnly: true type: "string" assignee: allOf: - $ref: "#/components/schemas/User" description: "The details of the user associated with `assigneeType`, if\ \ any. See `realAssignee` for details of the user assigned to issues created\ \ with this component." readOnly: true assigneeType: description: "The nominal user type used to determine the assignee for issues\ \ created with this component. See `realAssigneeType` for details on how\ \ the type of the user, and hence the user, assigned to issues is determined.\ \ Can take the following values:\n\n * `PROJECT_LEAD` the assignee to\ \ any issues created with this component is nominally the lead for the\ \ project the component is in.\n * `COMPONENT_LEAD` the assignee to any\ \ issues created with this component is nominally the lead for the component.\n\ \ * `UNASSIGNED` an assignee is not set for issues created with this\ \ component.\n * `PROJECT_DEFAULT` the assignee to any issues created\ \ with this component is nominally the default assignee for the project\ \ that the component is in.\n\nDefault value: `PROJECT_DEFAULT`. \nOptional\ \ when creating or updating a component." enum: - "PROJECT_DEFAULT" - "COMPONENT_LEAD" - "PROJECT_LEAD" - "UNASSIGNED" type: "string" description: description: "The description for the component. Optional when creating\ \ or updating a component." type: "string" id: description: "The unique identifier for the component." readOnly: true type: "string" isAssigneeTypeValid: description: "Whether a user is associated with `assigneeType`. For example,\ \ if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead\ \ is not set, then `false` is returned." readOnly: true type: "boolean" lead: allOf: - $ref: "#/components/schemas/User" description: "The user details for the component's lead user." readOnly: true leadAccountId: description: "The accountId of the component's lead user. The accountId\ \ uniquely identifies the user across all Atlassian products. For example,\ \ *5b10ac8d82e05b22cc7d4ef5*." maxLength: 128 type: "string" writeOnly: true leadUserName: description: "This property 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." type: "string" metadata: additionalProperties: readOnly: true type: "string" description: "Compass component's metadata. Can't be updated. Not required\ \ for creating a Project Component." readOnly: true type: "object" name: description: "The unique name for the component in the project. Required\ \ when creating a component. Optional when updating a component. The maximum\ \ length is 255 characters." type: "string" project: description: "The key of the project the component is assigned to. Required\ \ when creating a component. Can't be updated." type: "string" projectId: description: "The ID of the project the component is assigned to." format: "int64" readOnly: true type: "integer" realAssignee: allOf: - $ref: "#/components/schemas/User" description: "The user assigned to issues created with this component, when\ \ `assigneeType` does not identify a valid assignee." readOnly: true realAssigneeType: description: "The type of the assignee that is assigned to issues created\ \ with this component, when an assignee cannot be set from the `assigneeType`.\ \ For example, `assigneeType` is set to `COMPONENT_LEAD` but no component\ \ lead is set. This property is set to one of the following values:\n\n\ \ * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project\ \ lead has permission to be assigned issues in the project that the component\ \ is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD`\ \ and the component lead has permission to be assigned issues in the project\ \ that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED`\ \ and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT`\ \ when none of the preceding cases are true." enum: - "PROJECT_DEFAULT" - "COMPONENT_LEAD" - "PROJECT_LEAD" - "UNASSIGNED" readOnly: true type: "string" self: description: "The URL of the component." format: "uri" readOnly: true type: "string" type: "object" xml: name: "component" ProjectDataPolicies: additionalProperties: false description: "Details about data policies for a list of projects." properties: projectDataPolicies: description: "List of projects with data policies." items: $ref: "#/components/schemas/ProjectWithDataPolicy" readOnly: true type: "array" type: "object" ProjectDataPolicy: additionalProperties: false description: "Details about data policy." properties: anyContentBlocked: description: "Whether the project contains any content inaccessible to the\ \ requesting application." readOnly: true type: "boolean" type: "object" ProjectDetails: additionalProperties: false description: "Details about a project." properties: avatarUrls: allOf: - $ref: "#/components/schemas/AvatarUrlsBean" description: "The URLs of the project's avatars." readOnly: true id: description: "The ID of the project." type: "string" key: description: "The key of the project." readOnly: true type: "string" name: description: "The name of the project." readOnly: true type: "string" projectCategory: allOf: - $ref: "#/components/schemas/UpdatedProjectCategory" description: "The category the project belongs to." readOnly: true projectTypeKey: description: "The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes)\ \ of the project." enum: - "software" - "service_desk" - "business" readOnly: true type: "string" self: description: "The URL of the project details." readOnly: true type: "string" simplified: description: "Whether or not the project is simplified." readOnly: true type: "boolean" type: "object" ProjectEmailAddress: additionalProperties: false description: "A project's sender email address." properties: emailAddress: description: "The email address." type: "string" emailAddressStatus: description: "When using a custom domain, the status of the email address." items: type: "string" type: "array" type: "object" ProjectFeature: additionalProperties: false description: "Details of a project feature." properties: feature: description: "The key of the feature." type: "string" imageUri: description: "URI for the image representing the feature." type: "string" localisedDescription: description: "Localized display description for the feature." type: "string" localisedName: description: "Localized display name for the feature." type: "string" prerequisites: description: "List of keys of the features required to enable the feature." items: type: "string" type: "array" projectId: description: "The ID of the project." format: "int64" type: "integer" state: description: "The state of the feature. When updating the state of a feature,\ \ only ENABLED and DISABLED are supported. Responses can contain all values" enum: - "ENABLED" - "DISABLED" - "COMING_SOON" type: "string" toggleLocked: description: "Whether the state of the feature can be updated." type: "boolean" type: "object" ProjectFeatureState: additionalProperties: false description: "Details of the feature state." properties: state: description: "The feature state." enum: - "ENABLED" - "DISABLED" - "COMING_SOON" type: "string" type: "object" ProjectId: additionalProperties: false description: "Project ID details." nullable: true properties: id: description: "The ID of the project." type: "string" required: - "id" type: "object" ProjectIdentifierBean: additionalProperties: false description: "The identifiers for a project." properties: id: description: "The ID of the project." format: "int64" readOnly: true type: "integer" key: description: "The key of the project." readOnly: true type: "string" type: "object" ProjectIdentifiers: additionalProperties: false description: "Identifiers for a project." properties: id: description: "The ID of the created project." format: "int64" readOnly: true type: "integer" key: description: "The key of the created project." readOnly: true type: "string" self: description: "The URL of the created project." format: "uri" readOnly: true type: "string" required: - "id" - "key" - "self" type: "object" ProjectIds: additionalProperties: false description: "A list of project IDs." properties: projectIds: description: "The IDs of projects." items: type: "string" writeOnly: true type: "array" writeOnly: true required: - "projectIds" type: "object" ProjectInsight: additionalProperties: false description: "Additional details about a project." properties: lastIssueUpdateTime: description: "The last issue update time." format: "date-time" readOnly: true type: "string" totalIssueCount: description: "Total issue count." format: "int64" readOnly: true type: "integer" type: "object" ProjectIssueCreateMetadata: additionalProperties: false description: "Details of the issue creation metadata for a project." properties: avatarUrls: allOf: - $ref: "#/components/schemas/AvatarUrlsBean" description: "List of the project's avatars, returning the avatar size and\ \ associated URL." readOnly: true expand: description: "Expand options that include additional project issue create\ \ metadata details in the response." readOnly: true type: "string" xml: attribute: true id: description: "The ID of the project." readOnly: true type: "string" issuetypes: description: "List of the issue types supported by the project." items: $ref: "#/components/schemas/IssueTypeIssueCreateMetadata" readOnly: true type: "array" key: description: "The key of the project." readOnly: true type: "string" name: description: "The name of the project." readOnly: true type: "string" self: description: "The URL of the project." readOnly: true type: "string" type: "object" ProjectIssueSecurityLevels: additionalProperties: false description: "List of issue level security items in a project." properties: levels: description: "Issue level security items list." items: $ref: "#/components/schemas/SecurityLevel" readOnly: true type: "array" required: - "levels" type: "object" ProjectIssueTypeHierarchy: additionalProperties: false description: "The hierarchy of issue types within a project." properties: hierarchy: description: "Details of an issue type hierarchy level." items: $ref: "#/components/schemas/ProjectIssueTypesHierarchyLevel" readOnly: true type: "array" projectId: description: "The ID of the project." format: "int64" readOnly: true type: "integer" type: "object" ProjectIssueTypeMapping: additionalProperties: false description: "The project and issue type mapping." properties: issueTypeId: description: "The ID of the issue type." type: "string" writeOnly: true projectId: description: "The ID of the project." type: "string" writeOnly: true required: - "issueTypeId" - "projectId" type: "object" writeOnly: true ProjectIssueTypeMappings: additionalProperties: false description: "The project and issue type mappings." properties: mappings: description: "The project and issue type mappings." items: $ref: "#/components/schemas/ProjectIssueTypeMapping" type: "array" writeOnly: true required: - "mappings" type: "object" ProjectIssueTypes: additionalProperties: false description: "Use the optional `workflows.usages` expand to get additional information\ \ about the projects and issue types associated with the requested workflows." properties: issueTypes: description: "IDs of the issue types" items: description: "IDs of the issue types" nullable: true type: "string" nullable: true type: "array" uniqueItems: true project: $ref: "#/components/schemas/ProjectId" type: "object" ProjectIssueTypesHierarchyLevel: additionalProperties: false description: "Details of an issue type hierarchy level." properties: entityId: description: "The ID of the issue type hierarchy level. This property is\ \ deprecated, see [Change notice: Removing hierarchy level IDs from next-gen\ \ APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)." format: "uuid" readOnly: true type: "string" issueTypes: description: "The list of issue types in the hierarchy level." items: $ref: "#/components/schemas/IssueTypeInfo" readOnly: true type: "array" level: description: "The level of the issue type hierarchy level." format: "int32" readOnly: true type: "integer" name: description: "The name of the issue type hierarchy level." readOnly: true type: "string" type: "object" ProjectLandingPageInfo: additionalProperties: false properties: attributes: additionalProperties: type: "string" type: "object" boardId: format: "int64" type: "integer" boardName: type: "string" projectKey: type: "string" projectType: type: "string" queueCategory: type: "string" queueId: format: "int64" type: "integer" queueName: type: "string" simpleBoard: type: "boolean" simplified: type: "boolean" url: type: "string" type: "object" ProjectPermissions: additionalProperties: false description: "Permissions which a user has on a project." properties: canEdit: description: "Whether the logged user can edit the project." readOnly: true type: "boolean" type: "object" ProjectRole: additionalProperties: false description: "Details about the roles in a project." properties: actors: description: "The list of users who act in this role." items: $ref: "#/components/schemas/RoleActor" readOnly: true type: "array" admin: description: "Whether this role is the admin role for the project." readOnly: true type: "boolean" currentUserRole: description: "Whether the calling user is part of this role." type: "boolean" default: description: "Whether this role is the default role for the project" readOnly: true type: "boolean" description: description: "The description of the project role." readOnly: true type: "string" id: description: "The ID of the project role." format: "int64" readOnly: true type: "integer" name: description: "The name of the project role." type: "string" roleConfigurable: description: "Whether the roles are configurable for this project." readOnly: true type: "boolean" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the role. Indicated for roles associated with\ \ [next-gen projects](https://confluence.atlassian.com/x/loMyO)." readOnly: true self: description: "The URL the project role details." format: "uri" readOnly: true type: "string" translatedName: description: "The translated name of the project role." type: "string" type: "object" ProjectRoleActorsUpdateBean: additionalProperties: false properties: categorisedActors: additionalProperties: items: type: "string" type: "array" description: "The actors to add to the project role.\n\nAdd groups using:\n\ \n * `atlassian-group-role-actor` and a list of group names.\n * `atlassian-group-role-actor-id`\ \ and a list of group IDs.\n\nAs a group's name can change, use of `atlassian-group-role-actor-id`\ \ is recommended. For example, `\"atlassian-group-role-actor-id\":[\"\ eef79f81-0b89-4fca-a736-4be531a10869\",\"77f6ab39-e755-4570-a6ae-2d7a8df0bcb8\"\ ]`.\n\nAdd users using `atlassian-user-role-actor` and a list of account\ \ IDs. For example, `\"atlassian-user-role-actor\":[\"12345678-9abc-def1-2345-6789abcdef12\"\ , \"abcdef12-3456-789a-bcde-f123456789ab\"]`." type: "object" 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." format: "int64" readOnly: true type: "integer" type: "object" xml: name: "actor" ProjectRoleDetails: additionalProperties: false description: "Details about a project role." properties: admin: description: "Whether this role is the admin role for the project." readOnly: true type: "boolean" default: description: "Whether this role is the default role for the project." readOnly: true type: "boolean" description: description: "The description of the project role." readOnly: true type: "string" id: description: "The ID of the project role." format: "int64" readOnly: true type: "integer" name: description: "The name of the project role." type: "string" roleConfigurable: description: "Whether the roles are configurable for this project." readOnly: true type: "boolean" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the role. Indicated for roles associated with\ \ [next-gen projects](https://confluence.atlassian.com/x/loMyO)." readOnly: true self: description: "The URL the project role details." format: "uri" readOnly: true type: "string" translatedName: description: "The translated name of the project role." type: "string" type: "object" ProjectRoleGroup: additionalProperties: false description: "Details of the group associated with the role." properties: displayName: description: "The display name of the group." type: "string" groupId: description: "The ID of the group." type: "string" name: description: "The name of the group. As a group's name can change, use of\ \ `groupId` is recommended to identify the group." type: "string" type: "object" ProjectRoleUser: additionalProperties: false description: "Details of the user associated with the role." properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.\ \ Returns *unknown* if the record is deleted and corrupted, for example,\ \ as the result of a server import." maxLength: 128 readOnly: true type: "string" type: "object" ProjectScopeBean: additionalProperties: false properties: attributes: description: "Defines the behavior of the option in the project.If notSelectable\ \ is set, the option cannot be set as the field's value. This is useful\ \ for archiving an option that has previously been selected but shouldn't\ \ be used anymore.If defaultValue is set, the option is selected by default." items: enum: - "notSelectable" - "defaultValue" type: "string" type: "array" uniqueItems: true id: description: "The ID of the project that the option's behavior applies to." format: "int64" type: "integer" type: "object" ProjectType: additionalProperties: false description: "Details about a project type." properties: color: description: "The color of the project type." readOnly: true type: "string" descriptionI18nKey: description: "The key of the project type's description." readOnly: true type: "string" formattedKey: description: "The formatted key of the project type." readOnly: true type: "string" icon: description: "The icon of the project type." readOnly: true type: "string" key: description: "The key of the project type." readOnly: true type: "string" type: "object" ProjectWithDataPolicy: additionalProperties: false description: "Details about data policies for a project." properties: dataPolicy: allOf: - $ref: "#/components/schemas/ProjectDataPolicy" description: "Data policy." readOnly: true id: description: "The project ID." format: "int64" readOnly: true type: "integer" type: "object" PropertyKey: additionalProperties: false description: "Property key details." properties: key: description: "The key of the property." readOnly: true type: "string" self: description: "The URL of the property." readOnly: true type: "string" type: "object" PropertyKeys: additionalProperties: false description: "List of property keys." properties: keys: description: "Property key details." items: $ref: "#/components/schemas/PropertyKey" readOnly: true type: "array" type: "object" PublishDraftWorkflowScheme: additionalProperties: false description: "Details about the status mappings for publishing a draft workflow\ \ scheme." properties: statusMappings: description: "Mappings of statuses to new statuses for issue types." items: $ref: "#/components/schemas/StatusMapping" type: "array" uniqueItems: true type: "object" PublishedWorkflowId: additionalProperties: false description: "Properties that identify a published workflow." properties: entityId: description: "The entity ID of the workflow." type: "string" name: description: "The name of the workflow." type: "string" required: - "name" type: "object" RegisteredWebhook: additionalProperties: false description: "ID of a registered webhook or error messages explaining why a\ \ webhook wasn't registered." properties: createdWebhookId: description: "The ID of the webhook. Returned if the webhook is created." format: "int64" type: "integer" errors: description: "Error messages specifying why the webhook creation failed." items: description: "Error messages specifying why the webhook creation failed." type: "string" type: "array" type: "object" RemoteIssueLink: additionalProperties: false description: "Details of an issue remote link." properties: application: allOf: - $ref: "#/components/schemas/Application" description: "Details of the remote application the linked item is in." globalId: description: "The global ID of the link, such as the ID of the item on the\ \ remote system." type: "string" id: description: "The ID of the link." format: "int64" type: "integer" object: allOf: - $ref: "#/components/schemas/RemoteObject" description: "Details of the item linked to." relationship: description: "Description of the relationship between the issue and the\ \ linked item." type: "string" self: description: "The URL of the link." format: "uri" type: "string" type: "object" RemoteIssueLinkIdentifies: additionalProperties: false description: "Details of the identifiers for a created or updated remote issue\ \ link." properties: id: description: "The ID of the remote issue link, such as the ID of the item\ \ on the remote system." format: "int64" readOnly: true type: "integer" xml: attribute: true self: description: "The URL of the remote issue link." readOnly: true type: "string" xml: attribute: true type: "object" RemoteIssueLinkRequest: additionalProperties: true description: "Details of a remote issue link." properties: application: allOf: - $ref: "#/components/schemas/Application" description: "Details of the remote application the linked item is in. For\ \ example, trello." globalId: description: "An identifier for the remote item in the remote system. For\ \ example, the global ID for a remote item in Confluence would consist\ \ of the app ID and page ID, like this: `appId=456&pageId=123`.\n\nSetting\ \ this field enables the remote issue link details to be updated or deleted\ \ using remote system and item details as the record identifier, rather\ \ than using the record's Jira ID.\n\nThe maximum length is 255 characters." type: "string" object: allOf: - $ref: "#/components/schemas/RemoteObject" description: "Details of the item linked to." relationship: description: "Description of the relationship between the issue and the\ \ linked item. If not set, the relationship description \"links to\" is\ \ used in Jira." type: "string" required: - "object" type: "object" RemoteObject: additionalProperties: true description: "The linked item." properties: icon: allOf: - $ref: "#/components/schemas/Icon" description: "Details of the icon for the item. If no icon is defined, the\ \ default link icon is used in Jira." status: allOf: - $ref: "#/components/schemas/Status" description: "The status of the item." summary: description: "The summary details of the item." type: "string" title: description: "The title of the item." type: "string" url: description: "The URL of the item." type: "string" required: - "title" - "url" type: "object" RemoveOptionFromIssuesResult: additionalProperties: false properties: errors: allOf: - $ref: "#/components/schemas/SimpleErrorCollection" description: "A collection of errors related to unchanged issues. The collection\ \ size is limited, which means not all errors may be returned." modifiedIssues: description: "The IDs of the modified issues." items: format: "int64" type: "integer" type: "array" unmodifiedIssues: description: "The IDs of the unchanged issues, those issues where errors\ \ prevent modification." items: format: "int64" type: "integer" type: "array" type: "object" ReorderIssuePriorities: additionalProperties: false description: "Change the order of issue priorities." properties: after: description: "The ID of the priority. Required if `position` isn't provided." type: "string" writeOnly: true ids: description: "The list of issue IDs to be reordered. Cannot contain duplicates\ \ nor after ID." items: type: "string" writeOnly: true type: "array" writeOnly: true position: description: "The position for issue priorities to be moved to. Required\ \ if `after` isn't provided." type: "string" writeOnly: true required: - "ids" type: "object" ReorderIssueResolutionsRequest: additionalProperties: false description: "Change the order of issue resolutions." properties: after: description: "The ID of the resolution. Required if `position` isn't provided." type: "string" writeOnly: true ids: description: "The list of resolution IDs to be reordered. Cannot contain\ \ duplicates nor after ID." items: type: "string" writeOnly: true type: "array" writeOnly: true position: description: "The position for issue resolutions to be moved to. Required\ \ if `after` isn't provided." type: "string" writeOnly: true required: - "ids" type: "object" RequiredMappingByIssueType: additionalProperties: false description: "The list of required status mappings by issue type." properties: issueTypeId: description: "The ID of the issue type." type: "string" statusIds: description: "The status IDs requiring mapping." items: description: "The status IDs requiring mapping." type: "string" type: "array" uniqueItems: true type: "object" RequiredMappingByWorkflows: additionalProperties: false description: "The list of required status mappings by workflow." properties: sourceWorkflowId: description: "The ID of the source workflow." type: "string" statusIds: description: "The status IDs requiring mapping." items: description: "The status IDs requiring mapping." type: "string" type: "array" uniqueItems: true targetWorkflowId: description: "The ID of the target workflow." type: "string" type: "object" Resolution: additionalProperties: false description: "Details of an issue resolution." properties: description: description: "The description of the issue resolution." type: "string" id: description: "The ID of the issue resolution." type: "string" name: description: "The name of the issue resolution." type: "string" self: description: "The URL of the issue resolution." format: "uri" type: "string" type: "object" xml: name: "resolution" ResolutionId: additionalProperties: true description: "The ID of an issue resolution." properties: id: description: "The ID of the issue resolution." readOnly: true type: "string" required: - "id" type: "object" ResolutionJsonBean: additionalProperties: false properties: default: type: "boolean" description: type: "string" iconUrl: type: "string" id: type: "string" name: type: "string" self: type: "string" type: "object" Resource: additionalProperties: false properties: description: type: "string" file: format: "binary" type: "string" filename: type: "string" inputStream: type: "object" open: type: "boolean" readable: type: "boolean" uri: format: "uri" type: "string" url: format: "url" type: "string" type: "object" RestrictedPermission: additionalProperties: true description: "Details of the permission." properties: id: description: "The ID of the permission. Either `id` or `key` must be specified.\ \ Use [Get all permissions](#api-rest-api-2-permissions-get) to get the\ \ list of permissions." type: "string" key: description: "The key of the permission. Either `id` or `key` must be specified.\ \ Use [Get all permissions](#api-rest-api-2-permissions-get) to get the\ \ list of permissions." type: "string" type: "object" RichText: properties: empty: type: "boolean" emptyAdf: type: "boolean" finalised: type: "boolean" valueSet: type: "boolean" type: "object" RoleActor: additionalProperties: false description: "Details about a user assigned to a project role." properties: actorGroup: allOf: - $ref: "#/components/schemas/ProjectRoleGroup" readOnly: true actorUser: allOf: - $ref: "#/components/schemas/ProjectRoleUser" readOnly: true avatarUrl: description: "The avatar of the role actor." format: "uri" readOnly: true type: "string" displayName: description: "The display name of the role actor. For users, depending on\ \ the user’s privacy setting, this may return an alternative value for\ \ the user's name." readOnly: true type: "string" id: description: "The ID of the role actor." format: "int64" readOnly: true type: "integer" name: description: "This property 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." readOnly: true type: "string" type: description: "The type of role actor." enum: - "atlassian-group-role-actor" - "atlassian-user-role-actor" readOnly: true type: "string" type: "object" xml: name: "projectRoleActor" RuleConfiguration: additionalProperties: false description: "A rule configuration." properties: disabled: default: false description: "Whether the rule is disabled." type: "boolean" tag: description: "A tag used to filter rules in [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)." maxLength: 255 type: "string" value: description: "Configuration of the rule, as it is stored by the Connect\ \ or the Forge app on the rule configuration page." type: "string" required: - "value" type: "object" SanitizedJqlQueries: additionalProperties: false description: "The sanitized JQL queries for the given account IDs." properties: queries: description: "The list of sanitized JQL queries." items: $ref: "#/components/schemas/SanitizedJqlQuery" type: "array" type: "object" SanitizedJqlQuery: additionalProperties: false description: "Details of the sanitized JQL query." properties: accountId: description: "The account ID of the user for whom sanitization was performed." maxLength: 128 nullable: true type: "string" errors: allOf: - $ref: "#/components/schemas/ErrorCollection" description: "The list of errors." initialQuery: description: "The initial query." type: "string" sanitizedQuery: description: "The sanitized query, if there were no errors." nullable: true type: "string" type: "object" Scope: additionalProperties: true description: "The projects the item is associated with. Indicated for items\ \ associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO)." properties: project: allOf: - $ref: "#/components/schemas/ProjectDetails" description: "The project the item has scope in." readOnly: true type: description: "The type of scope." enum: - "PROJECT" - "TEMPLATE" readOnly: true type: "string" type: "object" Screen: additionalProperties: false description: "A screen." properties: description: description: "The description of the screen." readOnly: true type: "string" id: description: "The ID of the screen." format: "int64" readOnly: true type: "integer" name: description: "The name of the screen." readOnly: true type: "string" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the screen." type: "object" ScreenDetails: additionalProperties: false description: "Details of a screen." properties: description: description: "The description of the screen. The maximum length is 255 characters." type: "string" writeOnly: true name: description: "The name of the screen. The name must be unique. The maximum\ \ length is 255 characters." type: "string" writeOnly: true required: - "name" type: "object" ScreenScheme: additionalProperties: false description: "A screen scheme." properties: description: description: "The description of the screen scheme." type: "string" id: description: "The ID of the screen scheme." format: "int64" type: "integer" issueTypeScreenSchemes: allOf: - $ref: "#/components/schemas/PageBeanIssueTypeScreenScheme" description: "Details of the issue type screen schemes associated with the\ \ screen scheme." name: description: "The name of the screen scheme." type: "string" screens: allOf: - $ref: "#/components/schemas/ScreenTypes" description: "The IDs of the screens for the screen types of the screen\ \ scheme." type: "object" ScreenSchemeDetails: additionalProperties: false description: "Details of a screen scheme." properties: description: description: "The description of the screen scheme. The maximum length is\ \ 255 characters." type: "string" writeOnly: true name: description: "The name of the screen scheme. The name must be unique. The\ \ maximum length is 255 characters." type: "string" writeOnly: true screens: allOf: - $ref: "#/components/schemas/ScreenTypes" description: "The IDs of the screens for the screen types of the screen\ \ scheme. Only screens used in classic projects are accepted." required: - "name" - "screens" type: "object" ScreenSchemeId: additionalProperties: false description: "The ID of a screen scheme." properties: id: description: "The ID of the screen scheme." format: "int64" readOnly: true type: "integer" required: - "id" type: "object" ScreenTypes: additionalProperties: false description: "The IDs of the screens for the screen types of the screen scheme." properties: create: description: "The ID of the create screen." format: "int64" type: "integer" default: description: "The ID of the default screen. Required when creating a screen\ \ scheme." format: "int64" type: "integer" edit: description: "The ID of the edit screen." format: "int64" type: "integer" view: description: "The ID of the view screen." format: "int64" type: "integer" required: - "defaultScreen" type: "object" writeOnly: true ScreenWithTab: additionalProperties: false description: "A screen with tab details." properties: description: description: "The description of the screen." readOnly: true type: "string" id: description: "The ID of the screen." format: "int64" readOnly: true type: "integer" name: description: "The name of the screen." readOnly: true type: "string" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the screen." tab: allOf: - $ref: "#/components/schemas/ScreenableTab" description: "The tab for the screen." type: "object" ScreenableField: additionalProperties: false description: "A screen tab field." properties: id: description: "The ID of the screen tab field." readOnly: true type: "string" name: description: "The name of the screen tab field. Required on create and update.\ \ The maximum length is 255 characters." type: "string" type: "object" ScreenableTab: additionalProperties: false description: "A screen tab." properties: id: description: "The ID of the screen tab." format: "int64" readOnly: true type: "integer" name: description: "The name of the screen tab. The maximum length is 255 characters." type: "string" required: - "name" type: "object" SearchAutoCompleteFilter: additionalProperties: false description: "Details of how to filter and list search auto complete information." properties: includeCollapsedFields: default: false description: "Include collapsed fields for fields that have non-unique names." type: "boolean" projectIds: description: "List of project IDs used to filter the visible field details\ \ returned." items: format: "int64" type: "integer" type: "array" type: "object" SearchRequestBean: additionalProperties: false properties: expand: description: "Use [expand](em>#expansion) to include additional information\ \ about issues in the response. Note that, unlike the majority of instances\ \ where `expand` is specified, `expand` is defined as a list of values.\ \ The expand options are:\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." items: type: "string" type: "array" fields: 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\nThe default is `*navigable`.\n\nExamples:\n\n * `summary,comment`\ \ Returns the summary and comments fields only.\n * `-description` Returns\ \ all navigable (default) fields except description.\n * `*all,-comment`\ \ Returns all fields except comments.\n\nMultiple `fields` parameters\ \ can be included in a request.\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." items: type: "string" type: "array" fieldsByKeys: description: "Reference fields by their key (rather than ID). The default\ \ is `false`." type: "boolean" jql: description: "A [JQL](https://confluence.atlassian.com/x/egORLQ) expression." type: "string" maxResults: default: 50 description: "The maximum number of items to return per page." format: "int32" type: "integer" properties: description: "A list of up to 5 issue properties to include in the results.\ \ This parameter accepts a comma-separated list." items: type: "string" type: "array" startAt: description: "The index of the first item to return in the page of results\ \ (page offset). The base index is `0`." format: "int32" type: "integer" validateQuery: description: "Determines how to validate the JQL query and treat the validation\ \ results. Supported values:\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\nThe default\ \ is `strict`.\n\nNote: If the JQL is not correctly formed a 400 response\ \ code is returned, regardless of the `validateQuery` value." enum: - "strict" - "warn" - "none" - "true" - "false" type: "string" type: "object" SearchResults: additionalProperties: false description: "The result of a JQL search." properties: expand: description: "Expand options that include additional search result details\ \ in the response." readOnly: true type: "string" issues: description: "The list of issues found by the search." items: $ref: "#/components/schemas/IssueBean" readOnly: true type: "array" maxResults: description: "The maximum number of results that could be on the page." format: "int32" readOnly: true type: "integer" names: additionalProperties: readOnly: true type: "string" description: "The ID and name of each field in the search results." readOnly: true type: "object" schema: additionalProperties: $ref: "#/components/schemas/JsonTypeBean" description: "The schema describing the field types in the search results." readOnly: true type: "object" startAt: description: "The index of the first item returned on the page." format: "int32" readOnly: true type: "integer" total: description: "The number of results on the page." format: "int32" readOnly: true type: "integer" warningMessages: description: "Any warnings related to the JQL query." items: readOnly: true type: "string" readOnly: true type: "array" type: "object" SecurityLevel: additionalProperties: false description: "Details of an issue level security item." properties: description: description: "The description of the issue level security item." readOnly: true type: "string" id: description: "The ID of the issue level security item." readOnly: true type: "string" isDefault: description: "Whether the issue level security item is the default." readOnly: true type: "boolean" issueSecuritySchemeId: description: "The ID of the issue level security scheme." readOnly: true type: "string" name: description: "The name of the issue level security item." readOnly: true type: "string" self: description: "The URL of the issue level security item." readOnly: true type: "string" type: "object" SecurityLevelMember: additionalProperties: true description: "Issue security level member." properties: holder: allOf: - $ref: "#/components/schemas/PermissionHolder" description: "The user or group being granted the permission. It consists\ \ of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object)\ \ in *Get all permission schemes* for more information." readOnly: true id: description: "The ID of the issue security level member." readOnly: true type: "string" issueSecurityLevelId: description: "The ID of the issue security level." readOnly: true type: "string" issueSecuritySchemeId: description: "The ID of the issue security scheme." readOnly: true type: "string" managed: type: "boolean" writeOnly: true required: - "holder" - "id" - "issueSecurityLevelId" - "issueSecuritySchemeId" type: "object" SecurityScheme: additionalProperties: false description: "Details about a security scheme." properties: defaultSecurityLevelId: description: "The ID of the default security level." format: "int64" readOnly: true type: "integer" description: description: "The description of the issue security scheme." readOnly: true type: "string" id: description: "The ID of the issue security scheme." format: "int64" readOnly: true type: "integer" levels: items: $ref: "#/components/schemas/SecurityLevel" type: "array" name: description: "The name of the issue security scheme." readOnly: true type: "string" self: description: "The URL of the issue security scheme." readOnly: true type: "string" type: "object" SecuritySchemeId: additionalProperties: true description: "The ID of the issue security scheme." properties: id: description: "The ID of the issue security scheme." readOnly: true type: "string" required: - "id" type: "object" SecuritySchemeLevelBean: additionalProperties: false properties: description: description: "The description of the issue security scheme level." maxLength: 4000 type: "string" writeOnly: true isDefault: description: "Specifies whether the level is the default level. False by\ \ default." type: "boolean" writeOnly: true members: description: "The list of level members which should be added to the issue\ \ security scheme level." items: $ref: "#/components/schemas/SecuritySchemeLevelMemberBean" type: "array" writeOnly: true name: description: "The name of the issue security scheme level. Must be unique." maxLength: 255 type: "string" writeOnly: true required: - "name" type: "object" writeOnly: true SecuritySchemeLevelMemberBean: additionalProperties: false properties: parameter: description: "The value corresponding to the specified member type." type: "string" writeOnly: true type: description: "The issue security level member type, e.g `reporter`, `group`,\ \ `user`." type: "string" writeOnly: true required: - "type" type: "object" writeOnly: true SecuritySchemeMembersRequest: additionalProperties: false description: "Details of issue security scheme level new members." properties: members: description: "The list of level members which should be added to the issue\ \ security scheme level." items: $ref: "#/components/schemas/SecuritySchemeLevelMemberBean" type: "array" writeOnly: true required: - "securitySchemeLevelMembers" type: "object" SecuritySchemeWithProjects: additionalProperties: true description: "Details about an issue security scheme." properties: defaultLevel: description: "The default level ID of the issue security scheme." format: "int64" readOnly: true type: "integer" description: description: "The description of the issue security scheme." readOnly: true type: "string" id: description: "The ID of the issue security scheme." format: "int64" readOnly: true type: "integer" name: description: "The name of the issue security scheme." readOnly: true type: "string" projectIds: description: "The list of project IDs associated with the issue security\ \ scheme." items: format: "int64" readOnly: true type: "integer" readOnly: true type: "array" uniqueItems: true self: description: "The URL of the issue security scheme." readOnly: true type: "string" required: - "id" - "name" - "self" type: "object" SecuritySchemes: additionalProperties: false description: "List of security schemes." properties: issueSecuritySchemes: description: "List of security schemes." items: $ref: "#/components/schemas/SecurityScheme" readOnly: true type: "array" type: "object" ServerInformation: additionalProperties: false description: "Details about the Jira instance." properties: baseUrl: description: "The base URL of the Jira instance." type: "string" buildDate: description: "The timestamp when the Jira version was built." format: "date-time" type: "string" buildNumber: description: "The build number of the Jira version." format: "int32" type: "integer" deploymentType: description: "The type of server deployment. This is always returned as\ \ *Cloud*." type: "string" displayUrl: description: "The display URL of the Jira instance." type: "string" displayUrlServicedeskHelpCenter: description: "The display URL of the Servicedesk Help Center." type: "string" healthChecks: description: "Jira instance health check results. Deprecated and no longer\ \ returned." items: $ref: "#/components/schemas/HealthCheckResult" type: "array" scmInfo: description: "The unique identifier of the Jira version." type: "string" serverTime: description: "The time in Jira when this request was responded to." format: "date-time" type: "string" serverTimeZone: description: "The default timezone of the Jira server. In a format known\ \ as Olson Time Zones, IANA Time Zones or TZ Database Time Zones." properties: displayName: type: "string" dstsavings: format: "int32" type: "integer" id: type: "string" rawOffset: format: "int32" type: "integer" type: "object" serverTitle: description: "The name of the Jira instance." type: "string" version: description: "The version of Jira." type: "string" versionNumbers: description: "The major, minor, and revision version numbers of the Jira\ \ version." items: format: "int32" type: "integer" type: "array" type: "object" ServiceManagementNavigationInfo: properties: queueCategory: type: "string" queueId: format: "int64" type: "integer" queueName: type: "string" type: "object" ServiceRegistry: properties: description: description: "service description" nullable: true type: "string" id: description: "service ID" format: "uuid" type: "string" name: description: "service name" type: "string" organizationId: description: "organization ID" type: "string" revision: description: "service revision" type: "string" serviceTier: $ref: "#/components/schemas/ServiceRegistryTier" type: "object" ServiceRegistryTier: properties: description: description: "tier description" nullable: true type: "string" id: description: "tier ID" format: "uuid" type: "string" level: description: "tier level" type: "integer" name: description: "tier name" nullable: true type: "string" nameKey: description: "name key of the tier" example: "service-registry.tier1.name" type: "string" type: "object" SetDefaultLevelsRequest: additionalProperties: true description: "Details of new default levels." properties: defaultValues: description: "List of objects with issue security scheme ID and new default\ \ level ID." items: $ref: "#/components/schemas/DefaultLevelValue" maxLength: 1000 type: "array" writeOnly: true required: - "defaultValues" type: "object" SetDefaultPriorityRequest: additionalProperties: false description: "The new default issue priority." properties: id: description: "The ID of the new default issue priority. Must be an existing\ \ ID or null. Setting this to null erases the default priority setting." type: "string" writeOnly: true required: - "id" type: "object" SetDefaultResolutionRequest: additionalProperties: false description: "The new default issue resolution." properties: id: description: "The ID of the new default issue resolution. Must be an existing\ \ ID or null. Setting this to null erases the default resolution setting." type: "string" writeOnly: true required: - "id" type: "object" SharePermission: additionalProperties: false description: "Details of a share permission for the filter." properties: group: allOf: - $ref: "#/components/schemas/GroupName" description: "The group that the filter is shared with. For a request, specify\ \ the `groupId` or `name` property for the group. As a group's name can\ \ change, use of `groupId` is recommended." id: description: "The unique identifier of the share permission." format: "int64" readOnly: true type: "integer" project: allOf: - $ref: "#/components/schemas/Project" description: "The project that the filter is shared with. This is similar\ \ to the project object returned by [Get project](#api-rest-api-2-project-projectIdOrKey-get)\ \ but it contains a subset of the properties, which are: `self`, `id`,\ \ `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`,\ \ `simplified`. \nFor a request, specify the `id` for the project." role: allOf: - $ref: "#/components/schemas/ProjectRole" description: "The project role that the filter is shared with. \nFor a\ \ request, specify the `id` for the role. You must also specify the `project`\ \ object and `id` for the project that the role is in." type: description: "The type of share permission:\n\n * `user` Shared with a\ \ user.\n * `group` Shared with a group. If set in a request, then specify\ \ `sharePermission.group` as well.\n * `project` Shared with a project.\ \ If set in a request, then specify `sharePermission.project` as well.\n\ \ * `projectRole` Share with a project role in a project. This value\ \ is not returned in responses. It is used in requests, where it needs\ \ to be specify with `projectId` and `projectRoleId`.\n * `global` Shared\ \ globally. If set in a request, no other `sharePermission` properties\ \ need to be specified.\n * `loggedin` Shared with all logged-in users.\ \ Note: This value is set in a request by specifying `authenticated` as\ \ the `type`.\n * `project-unknown` Shared with a project that the user\ \ does not have access to. Cannot be set in a request." enum: - "user" - "group" - "project" - "projectRole" - "global" - "loggedin" - "authenticated" - "project-unknown" type: "string" user: allOf: - $ref: "#/components/schemas/UserBean" description: "The user account ID that the filter is shared with. For a\ \ request, specify the `accountId` property for the user." required: - "type" type: "object" SharePermissionInputBean: additionalProperties: false properties: accountId: description: "The user account ID that the filter is shared with. For a\ \ request, specify the `accountId` property for the user." type: "string" groupId: description: "The ID of the group, which uniquely identifies the group across\ \ all Atlassian products.For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.\ \ Cannot be provided with `groupname`." type: "string" groupname: description: "The name of the group to share the filter with. Set `type`\ \ to `group`. Please note that the name of a group is mutable, to reliably\ \ identify a group use `groupId`." type: "string" projectId: description: "The ID of the project to share the filter with. Set `type`\ \ to `project`." type: "string" projectRoleId: description: "The ID of the project role to share the filter with. Set `type`\ \ to `projectRole` and the `projectId` for the project that the role is\ \ in." type: "string" rights: description: "The rights for the share permission." format: "int32" type: "integer" type: description: "The type of the share permission.Specify the type as follows:\n\ \n * `user` Share with a user.\n * `group` Share with a group. Specify\ \ `groupname` as well.\n * `project` Share with a project. Specify `projectId`\ \ as well.\n * `projectRole` Share with a project role in a project.\ \ Specify `projectId` and `projectRoleId` as well.\n * `global` Share\ \ globally, including anonymous users. If set, this type overrides all\ \ existing share permissions and must be deleted before any non-global\ \ share permissions is set.\n * `authenticated` Share with all logged-in\ \ users. This shows as `loggedin` in the response. If set, this type overrides\ \ all existing share permissions and must be deleted before any non-global\ \ share permissions is set." enum: - "user" - "project" - "group" - "projectRole" - "global" - "authenticated" type: "string" required: - "type" type: "object" SimpleApplicationPropertyBean: additionalProperties: false properties: id: description: "The ID of the application property." type: "string" value: description: "The new value." type: "string" type: "object" xml: name: "applicationProperty" SimpleErrorCollection: additionalProperties: false properties: errorMessages: description: "The list of error messages produced by this operation. For\ \ example, \"input parameter 'key' must be provided\"" items: type: "string" type: "array" errors: additionalProperties: type: "string" description: "The list of errors by parameter returned by the operation.\ \ For example,\"projectKey\": \"Project keys must start with an uppercase\ \ letter, followed by one or more uppercase alphanumeric characters.\"" type: "object" httpStatusCode: format: "int32" type: "integer" type: "object" SimpleLink: additionalProperties: false description: "Details about the operations available in this version." properties: href: type: "string" iconClass: type: "string" id: type: "string" label: type: "string" styleClass: type: "string" title: type: "string" weight: format: "int32" type: "integer" type: "object" xml: name: "link" SimpleListWrapperApplicationRole: additionalProperties: false properties: callback: $ref: "#/components/schemas/ListWrapperCallbackApplicationRole" items: items: $ref: "#/components/schemas/ApplicationRole" type: "array" max-results: format: "int32" type: "integer" xml: attribute: true name: "max-results" pagingCallback: $ref: "#/components/schemas/ListWrapperCallbackApplicationRole" size: format: "int32" type: "integer" xml: attribute: true type: "object" xml: name: "list" SimpleListWrapperGroupName: additionalProperties: false properties: callback: $ref: "#/components/schemas/ListWrapperCallbackGroupName" items: items: $ref: "#/components/schemas/GroupName" type: "array" max-results: format: "int32" type: "integer" xml: attribute: true name: "max-results" pagingCallback: $ref: "#/components/schemas/ListWrapperCallbackGroupName" size: format: "int32" type: "integer" xml: attribute: true type: "object" xml: name: "list" SimpleUsage: additionalProperties: false description: "Represents a usage of an entity by a project ID and related issue\ \ type IDs." properties: issueTypeIds: description: "The issue type IDs for the usage." items: description: "The issue type IDs for the usage." type: "string" type: "array" projectId: description: "The project ID for the usage." type: "string" required: - "issueTypeIds" - "projectId" type: "object" SimplifiedHierarchyLevel: additionalProperties: false properties: aboveLevelId: description: "The ID of the level above this one in the hierarchy. This\ \ property is deprecated, see [Change notice: Removing hierarchy level\ \ IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)." format: "int64" type: "integer" belowLevelId: description: "The ID of the level below this one in the hierarchy. This\ \ property is deprecated, see [Change notice: Removing hierarchy level\ \ IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)." format: "int64" type: "integer" externalUuid: description: "The external UUID of the hierarchy level. This property is\ \ deprecated, see [Change notice: Removing hierarchy level IDs from next-gen\ \ APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)." format: "uuid" type: "string" hierarchyLevelNumber: format: "int32" type: "integer" id: description: "The ID of the hierarchy level. This property is deprecated,\ \ see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)." format: "int64" type: "integer" issueTypeIds: description: "The issue types available in this hierarchy level." items: format: "int64" type: "integer" type: "array" level: description: "The level of this item in the hierarchy." format: "int32" type: "integer" name: description: "The name of this hierarchy level." type: "string" projectConfigurationId: description: "The ID of the project configuration. This property is deprecated,\ \ see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)." format: "int64" type: "integer" type: "object" SoftwareNavigationInfo: properties: boardId: format: "int64" type: "integer" boardName: type: "string" simpleBoard: type: "boolean" totalBoardsInProject: format: "int64" type: "integer" type: "object" Status: additionalProperties: true description: "The status of the item." properties: icon: allOf: - $ref: "#/components/schemas/Icon" description: "Details of the icon representing the status. If not provided,\ \ no status icon displays in Jira." resolved: description: "Whether the item is resolved. If set to \"true\", the link\ \ to the issue is displayed in a strikethrough font, otherwise the link\ \ displays in normal font." type: "boolean" type: "object" StatusCategory: additionalProperties: true description: "A status category." properties: colorName: description: "The name of the color used to represent the status category." readOnly: true type: "string" id: description: "The ID of the status category." format: "int64" readOnly: true type: "integer" key: description: "The key of the status category." readOnly: true type: "string" name: description: "The name of the status category." readOnly: true type: "string" self: description: "The URL of the status category." readOnly: true type: "string" type: "object" StatusCreate: additionalProperties: false description: "Details of the status being created." properties: description: description: "The description of the status." type: "string" name: description: "The name of the status." maxLength: 255 type: "string" statusCategory: description: "The category of the status." enum: - "TODO" - "IN_PROGRESS" - "DONE" type: "string" required: - "name" - "statusCategory" type: "object" StatusCreateRequest: additionalProperties: false description: "Details of the statuses being created and their scope." properties: scope: $ref: "#/components/schemas/StatusScope" statuses: description: "Details of the statuses being created." items: $ref: "#/components/schemas/StatusCreate" type: "array" required: - "scope" - "statuses" type: "object" StatusDetails: additionalProperties: true description: "A status." properties: description: description: "The description of the status." readOnly: true type: "string" iconUrl: description: "The URL of the icon used to represent the status." readOnly: true type: "string" id: description: "The ID of the status." readOnly: true type: "string" name: description: "The name of the status." readOnly: true type: "string" scope: allOf: - $ref: "#/components/schemas/Scope" description: "The scope of the field." readOnly: true self: description: "The URL of the status." readOnly: true type: "string" statusCategory: allOf: - $ref: "#/components/schemas/StatusCategory" description: "The category assigned to the status." readOnly: true type: "object" StatusLayoutUpdate: additionalProperties: true description: "The statuses associated with this workflow." properties: layout: $ref: "#/components/schemas/WorkflowLayout" properties: additionalProperties: description: "The properties for this status layout." type: "string" description: "The properties for this status layout." type: "object" statusReference: description: "A unique ID which the status will use to refer to this layout\ \ configuration." type: "string" required: - "properties" - "statusReference" type: "object" StatusMapping: additionalProperties: false description: "Details about the mapping from a status to a new status for an\ \ issue type." properties: issueTypeId: description: "The ID of the issue type." type: "string" newStatusId: description: "The ID of the new status." type: "string" statusId: description: "The ID of the status." type: "string" required: - "issueTypeId" - "newStatusId" - "statusId" type: "object" StatusMappingDTO: additionalProperties: true description: "The mapping of old to new status ID for a specific project and\ \ issue type." properties: issueTypeId: description: "The issue type for the status mapping." type: "string" projectId: description: "The project for the status mapping." type: "string" statusMigrations: description: "The list of old and new status ID mappings for the specified\ \ project and issue type." items: $ref: "#/components/schemas/StatusMigration" type: "array" required: - "issueTypeId" - "projectId" - "statusMigrations" type: "object" StatusMetadata: additionalProperties: false description: "The details of the statuses in the associated workflows." properties: category: description: "The category of the status." enum: - "TODO" - "IN_PROGRESS" - "DONE" type: "string" id: description: "The ID of the status." type: "string" name: description: "The name of the status." type: "string" type: "object" StatusMigration: additionalProperties: true description: "The mapping of old to new status ID." properties: newStatusReference: description: "The new status ID." type: "string" oldStatusReference: description: "The old status ID." type: "string" required: - "newStatusReference" - "oldStatusReference" type: "object" StatusReferenceAndPort: additionalProperties: false description: "The status reference and port that a transition is connected to." nullable: true properties: port: description: "The port this transition uses to connect to this status." format: "int32" type: "integer" statusReference: description: "The reference of this status." type: "string" required: - "statusReference" type: "object" StatusScope: additionalProperties: false description: "The scope of the status." properties: project: $ref: "#/components/schemas/ProjectId" type: description: "The scope of the status. `GLOBAL` for company-managed projects\ \ and `PROJECT` for team-managed projects." enum: - "PROJECT" - "GLOBAL" type: "string" required: - "type" type: "object" StatusUpdate: additionalProperties: true description: "Details of the status being updated." properties: description: description: "The description of the status." type: "string" id: description: "The ID of the status." type: "string" name: description: "The name of the status." type: "string" statusCategory: description: "The category of the status." enum: - "TODO" - "IN_PROGRESS" - "DONE" type: "string" required: - "id" - "name" - "statusCategory" type: "object" StatusUpdateRequest: additionalProperties: false description: "The list of statuses that will be updated." properties: statuses: description: "The list of statuses that will be updated." items: $ref: "#/components/schemas/StatusUpdate" type: "array" required: - "statuses" type: "object" StatusesPerWorkflow: additionalProperties: false description: "The statuses associated with each workflow." properties: initialStatusId: description: "The ID of the initial status for the workflow." type: "string" statuses: description: "The status IDs associated with the workflow." items: description: "The status IDs associated with the workflow." type: "string" type: "array" uniqueItems: true workflowId: description: "The ID of the workflow." type: "string" type: "object" StreamingResponseBody: additionalProperties: false type: "object" StringList: additionalProperties: false type: "object" SuggestedIssue: additionalProperties: false description: "An issue suggested for use in the issue picker auto-completion." properties: id: description: "The ID of the issue." format: "int64" readOnly: true type: "integer" img: description: "The URL of the issue type's avatar." readOnly: true type: "string" key: description: "The key of the issue." readOnly: true type: "string" keyHtml: description: "The key of the issue in HTML format." readOnly: true type: "string" summary: description: "The phrase containing the query string in HTML format, with\ \ the string highlighted with HTML bold tags." readOnly: true type: "string" summaryText: description: "The phrase containing the query string, as plain text." readOnly: true type: "string" type: "object" SystemAvatars: additionalProperties: false description: "List of system avatars." properties: system: description: "A list of avatar details." items: $ref: "#/components/schemas/Avatar" readOnly: true type: "array" type: "object" TaskProgressBeanObject: additionalProperties: false description: "Details about a task." properties: description: description: "The description of the task." type: "string" elapsedRuntime: description: "The execution time of the task, in milliseconds." format: "int64" type: "integer" finished: description: "A timestamp recording when the task was finished." format: "int64" type: "integer" id: description: "The ID of the task." type: "string" lastUpdate: description: "A timestamp recording when the task progress was last updated." format: "int64" type: "integer" message: description: "Information about the progress of the task." type: "string" progress: description: "The progress of the task, as a percentage complete." format: "int64" type: "integer" result: description: "The result of the task execution." self: description: "The URL of the task." format: "uri" type: "string" started: description: "A timestamp recording when the task was started." format: "int64" type: "integer" status: description: "The status of the task." enum: - "ENQUEUED" - "RUNNING" - "COMPLETE" - "FAILED" - "CANCEL_REQUESTED" - "CANCELLED" - "DEAD" type: "string" submitted: description: "A timestamp recording when the task was submitted." format: "int64" type: "integer" submittedBy: description: "The ID of the user who submitted the task." format: "int64" type: "integer" required: - "elapsedRuntime" - "id" - "lastUpdate" - "progress" - "self" - "status" - "submitted" - "submittedBy" type: "object" TaskProgressBeanRemoveOptionFromIssuesResult: additionalProperties: false description: "Details about a task." properties: description: description: "The description of the task." type: "string" elapsedRuntime: description: "The execution time of the task, in milliseconds." format: "int64" type: "integer" finished: description: "A timestamp recording when the task was finished." format: "int64" type: "integer" id: description: "The ID of the task." type: "string" lastUpdate: description: "A timestamp recording when the task progress was last updated." format: "int64" type: "integer" message: description: "Information about the progress of the task." type: "string" progress: description: "The progress of the task, as a percentage complete." format: "int64" type: "integer" result: allOf: - $ref: "#/components/schemas/RemoveOptionFromIssuesResult" description: "The result of the task execution." self: description: "The URL of the task." format: "uri" type: "string" started: description: "A timestamp recording when the task was started." format: "int64" type: "integer" status: description: "The status of the task." enum: - "ENQUEUED" - "RUNNING" - "COMPLETE" - "FAILED" - "CANCEL_REQUESTED" - "CANCELLED" - "DEAD" type: "string" submitted: description: "A timestamp recording when the task was submitted." format: "int64" type: "integer" submittedBy: description: "The ID of the user who submitted the task." format: "int64" type: "integer" required: - "elapsedRuntime" - "id" - "lastUpdate" - "progress" - "self" - "status" - "submitted" - "submittedBy" type: "object" TimeTrackingConfiguration: additionalProperties: false description: "Details of the time tracking configuration." properties: defaultUnit: description: "The default unit of time applied to logged time." enum: - "minute" - "hour" - "day" - "week" type: "string" timeFormat: description: "The format that will appear on an issue's *Time Spent* field." enum: - "pretty" - "days" - "hours" type: "string" workingDaysPerWeek: description: "The number of days in a working week." format: "double" type: "number" workingHoursPerDay: description: "The number of hours in a working day." format: "double" type: "number" required: - "defaultUnit" - "timeFormat" - "workingDaysPerWeek" - "workingHoursPerDay" type: "object" TimeTrackingDetails: additionalProperties: false description: "Time tracking details." properties: originalEstimate: description: "The original estimate of time needed for this issue in readable\ \ format." readOnly: true type: "string" originalEstimateSeconds: description: "The original estimate of time needed for this issue in seconds." format: "int64" readOnly: true type: "integer" remainingEstimate: description: "The remaining estimate of time needed for this issue in readable\ \ format." readOnly: true type: "string" remainingEstimateSeconds: description: "The remaining estimate of time needed for this issue in seconds." format: "int64" readOnly: true type: "integer" timeSpent: description: "Time worked on this issue in readable format." readOnly: true type: "string" timeSpentSeconds: description: "Time worked on this issue in seconds." format: "int64" readOnly: true type: "integer" type: "object" TimeTrackingProvider: additionalProperties: false description: "Details about the time tracking provider." properties: key: description: "The key for the time tracking provider. For example, *JIRA*." type: "string" name: description: "The name of the time tracking provider. For example, *JIRA\ \ provided time tracking*." type: "string" url: description: "The URL of the configuration page for the time tracking provider\ \ app. For example, */example/config/url*. This property is only returned\ \ if the `adminPageKey` property is set in the module descriptor of the\ \ time tracking provider app." readOnly: true type: "string" required: - "key" type: "object" Transition: additionalProperties: false description: "Details of a workflow transition." properties: description: description: "The description of the transition." type: "string" from: description: "The statuses the transition can start from." items: description: "The statuses the transition can start from." type: "string" type: "array" id: description: "The ID of the transition." type: "string" name: description: "The name of the transition." type: "string" properties: additionalProperties: description: "The properties of the transition." description: "The properties of the transition." type: "object" rules: $ref: "#/components/schemas/WorkflowRules" screen: $ref: "#/components/schemas/TransitionScreenDetails" to: description: "The status the transition goes to." type: "string" type: description: "The type of the transition." enum: - "global" - "initial" - "directed" type: "string" required: - "description" - "from" - "id" - "name" - "to" - "type" type: "object" TransitionScreenDetails: additionalProperties: false description: "The details of a transition screen." properties: id: description: "The ID of the screen." type: "string" name: description: "The name of the screen." type: "string" required: - "id" type: "object" TransitionUpdateDTO: additionalProperties: true description: "The transitions of this workflow." properties: actions: description: "The post-functions of the transition." items: $ref: "#/components/schemas/WorkflowRuleConfiguration" type: "array" conditions: $ref: "#/components/schemas/ConditionGroupUpdate" customIssueEventId: description: "The custom event ID of the transition." type: "string" description: description: "The description of the transition." type: "string" from: description: "The statuses the transition can start from." items: $ref: "#/components/schemas/StatusReferenceAndPort" type: "array" id: description: "The ID of the transition." type: "string" name: description: "The name of the transition." type: "string" properties: additionalProperties: description: "The properties of the transition." type: "string" description: "The properties of the transition." type: "object" to: $ref: "#/components/schemas/StatusReferenceAndPort" transitionScreen: $ref: "#/components/schemas/WorkflowRuleConfiguration" triggers: description: "The triggers of the transition." items: $ref: "#/components/schemas/WorkflowTrigger" type: "array" type: description: "The transition type." enum: - "INITIAL" - "GLOBAL" - "DIRECTED" type: "string" validators: description: "The validators of the transition." items: $ref: "#/components/schemas/WorkflowRuleConfiguration" type: "array" required: - "id" - "name" - "type" type: "object" Transitions: additionalProperties: false description: "List of issue transitions." properties: expand: description: "Expand options that include additional transitions details\ \ in the response." readOnly: true type: "string" xml: attribute: true transitions: description: "List of issue transitions." items: $ref: "#/components/schemas/IssueTransition" readOnly: true type: "array" type: "object" UiModificationContextDetails: additionalProperties: false description: "The details of a UI modification's context, which define where\ \ to activate the UI modification." properties: id: description: "The ID of the UI modification context." readOnly: true type: "string" isAvailable: description: "Whether a context is available. For example, when a project\ \ is deleted the context becomes unavailable." readOnly: true type: "boolean" issueTypeId: description: "The issue type ID of the context. Null is treated as a wildcard,\ \ meaning the UI modification will be applied to all issue types. Each\ \ UI modification context can have a maximum of one wildcard." type: "string" projectId: description: "The project ID of the context. Null is treated as a wildcard,\ \ meaning the UI modification will be applied to all projects. Each UI\ \ modification context can have a maximum of one wildcard." type: "string" viewType: description: "The view type of the context. Only `GIC`(Global Issue Create)\ \ and `IssueView` are supported. Null is treated as a wildcard, meaning\ \ the UI modification will be applied to all view types. Each UI modification\ \ context can have a maximum of one wildcard." enum: - "GIC" - "IssueView" type: "string" type: "object" writeOnly: true UiModificationDetails: additionalProperties: false description: "The details of a UI modification." properties: contexts: description: "List of contexts of the UI modification. The maximum number\ \ of contexts is 1000." items: $ref: "#/components/schemas/UiModificationContextDetails" readOnly: true type: "array" data: description: "The data of the UI modification. The maximum size of the data\ \ is 50000 characters." readOnly: true type: "string" description: description: "The description of the UI modification. The maximum length\ \ is 255 characters." readOnly: true type: "string" id: description: "The ID of the UI modification." readOnly: true type: "string" name: description: "The name of the UI modification. The maximum length is 255\ \ characters." readOnly: true type: "string" self: description: "The URL of the UI modification." readOnly: true type: "string" required: - "id" - "name" - "self" type: "object" UiModificationIdentifiers: additionalProperties: false description: "Identifiers for a UI modification." properties: id: description: "The ID of the UI modification." readOnly: true type: "string" self: description: "The URL of the UI modification." readOnly: true type: "string" required: - "id" - "self" type: "object" UnrestrictedUserEmail: additionalProperties: true properties: accountId: description: "The accountId of the user" type: "string" email: description: "The email of the user" type: "string" type: "object" UpdateCustomFieldDetails: additionalProperties: false description: "Details of a custom field." properties: description: description: "The description of the custom field. The maximum length is\ \ 40000 characters." type: "string" name: description: "The name of the custom field. It doesn't have to be unique.\ \ The maximum length is 255 characters." type: "string" searcherKey: description: "The searcher that defines the way the field is searched in\ \ Jira. It can be set to `null`, otherwise you must specify the valid\ \ searcher for the field type, as listed below (abbreviated values shown):\n\ \n * `cascadingselect`: `cascadingselectsearcher`\n * `datepicker`:\ \ `daterange`\n * `datetime`: `datetimerange`\n * `float`: `exactnumber`\ \ or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n * `importid`:\ \ `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n * `multicheckboxes`:\ \ `multiselectsearcher`\n * `multigrouppicker`: `multiselectsearcher`\n\ \ * `multiselect`: `multiselectsearcher`\n * `multiuserpicker`: `userpickergroupsearcher`\n\ \ * `multiversion`: `versionsearcher`\n * `project`: `projectsearcher`\n\ \ * `radiobuttons`: `multiselectsearcher`\n * `readonlyfield`: `textsearcher`\n\ \ * `select`: `multiselectsearcher`\n * `textarea`: `textsearcher`\n\ \ * `textfield`: `textsearcher`\n * `url`: `exacttextsearcher`\n * \ \ `userpicker`: `userpickergroupsearcher`\n * `version`: `versionsearcher`" enum: - "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:daterange" - "com.atlassian.jira.plugin.system.customfieldtypes:datetimerange" - "com.atlassian.jira.plugin.system.customfieldtypes:exactnumber" - "com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:numberrange" - "com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:textsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher" - "com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher" type: "string" type: "object" writeOnly: true UpdateDefaultProjectClassificationBean: additionalProperties: false description: "The request for updating the default project classification level." properties: id: description: "The ID of the project classification." type: "string" required: - "id" type: "object" UpdateDefaultScreenScheme: additionalProperties: false description: "The ID of a screen scheme." properties: screenSchemeId: description: "The ID of the screen scheme." type: "string" writeOnly: true required: - "screenSchemeId" type: "object" UpdateFieldConfigurationSchemeDetails: additionalProperties: false description: "The details of the field configuration scheme." properties: description: description: "The description of the field configuration scheme." maxLength: 1024 type: "string" writeOnly: true name: description: "The name of the field configuration scheme. The name must\ \ be unique." maxLength: 255 type: "string" writeOnly: true required: - "name" type: "object" UpdateIssueSecurityLevelDetails: additionalProperties: true description: "Details of issue security scheme level." properties: description: description: "The description of the issue security scheme level." maxLength: 255 type: "string" writeOnly: true name: description: "The name of the issue security scheme level. Must be unique." maxLength: 60 type: "string" writeOnly: true type: "object" UpdateIssueSecuritySchemeRequestBean: additionalProperties: false properties: description: description: "The description of the security scheme scheme." maxLength: 255 type: "string" writeOnly: true name: description: "The name of the security scheme scheme. Must be unique." maxLength: 60 type: "string" writeOnly: true type: "object" UpdateNotificationSchemeDetails: additionalProperties: true description: "Details of a notification scheme." properties: description: description: "The description of the notification scheme." maxLength: 4000 type: "string" writeOnly: true name: description: "The name of the notification scheme. Must be unique." maxLength: 255 type: "string" writeOnly: true type: "object" UpdatePriorityDetails: additionalProperties: true description: "Details of an issue priority." properties: description: description: "The description of the priority." maxLength: 255 type: "string" writeOnly: true iconUrl: description: "The URL of an icon for the priority. Accepted protocols are\ \ HTTP and HTTPS. Built in icons can also be used." enum: - "/images/icons/priorities/blocker.png" - "/images/icons/priorities/critical.png" - "/images/icons/priorities/high.png" - "/images/icons/priorities/highest.png" - "/images/icons/priorities/low.png" - "/images/icons/priorities/lowest.png" - "/images/icons/priorities/major.png" - "/images/icons/priorities/medium.png" - "/images/icons/priorities/minor.png" - "/images/icons/priorities/trivial.png" maxLength: 255 type: "string" writeOnly: true name: description: "The name of the priority. Must be unique." maxLength: 60 type: "string" writeOnly: true statusColor: description: "The status color of the priority in 3-digit or 6-digit hexadecimal\ \ format." type: "string" writeOnly: true type: "object" UpdateProjectDetails: additionalProperties: false description: "Details about the project." properties: assigneeType: description: "The default assignee when creating issues for this project." enum: - "PROJECT_LEAD" - "UNASSIGNED" type: "string" avatarId: description: "An integer value for the project's avatar." format: "int64" type: "integer" categoryId: 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. To remove the project category from the project, set the\ \ value to `-1.`" format: "int64" type: "integer" description: description: "A brief description of the project." type: "string" issueSecurityScheme: description: "The ID of the issue security scheme for the project, which\ \ enables you to control who can and cannot view issues. Use the [Get\ \ issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource\ \ to get all issue security scheme IDs." format: "int64" type: "integer" key: description: "Project keys must be unique and start with an uppercase letter\ \ followed by one or more uppercase alphanumeric characters. The maximum\ \ length is 10 characters." type: "string" lead: description: "This parameter is deprecated because of privacy changes. Use\ \ `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details. The user name of the project lead. Cannot be provided with\ \ `leadAccountId`." type: "string" leadAccountId: description: "The account ID of the project lead. Cannot be provided with\ \ `lead`." maxLength: 128 type: "string" name: description: "The name of the project." type: "string" notificationScheme: description: "The ID of the notification scheme for the project. Use the\ \ [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource\ \ to get a list of notification scheme IDs." format: "int64" type: "integer" permissionScheme: description: "The ID of the permission scheme for the project. Use the [Get\ \ all permission schemes](#api-rest-api-2-permissionscheme-get) resource\ \ to see a list of all permission scheme IDs." format: "int64" type: "integer" url: description: "A link to information about this project, such as project\ \ documentation" type: "string" type: "object" UpdateResolutionDetails: additionalProperties: true description: "Details of an issue resolution." properties: description: description: "The description of the resolution." maxLength: 255 type: "string" writeOnly: true name: description: "The name of the resolution. Must be unique." maxLength: 60 type: "string" writeOnly: true required: - "name" type: "object" UpdateScreenDetails: additionalProperties: false description: "Details of a screen." properties: description: description: "The description of the screen. The maximum length is 255 characters." type: "string" writeOnly: true name: description: "The name of the screen. The name must be unique. The maximum\ \ length is 255 characters." type: "string" writeOnly: true type: "object" UpdateScreenSchemeDetails: additionalProperties: false description: "Details of a screen scheme." properties: description: description: "The description of the screen scheme. The maximum length is\ \ 255 characters." type: "string" writeOnly: true name: description: "The name of the screen scheme. The name must be unique. The\ \ maximum length is 255 characters." type: "string" writeOnly: true screens: allOf: - $ref: "#/components/schemas/UpdateScreenTypes" description: "The IDs of the screens for the screen types of the screen\ \ scheme. Only screens used in classic projects are accepted." type: "object" UpdateScreenTypes: additionalProperties: false description: "The IDs of the screens for the screen types of the screen scheme." properties: create: description: "The ID of the create screen. To remove the screen association,\ \ pass a null." type: "string" writeOnly: true default: description: "The ID of the default screen. When specified, must include\ \ a screen ID as a default screen is required." type: "string" writeOnly: true edit: description: "The ID of the edit screen. To remove the screen association,\ \ pass a null." type: "string" writeOnly: true view: description: "The ID of the view screen. To remove the screen association,\ \ pass a null." type: "string" writeOnly: true type: "object" writeOnly: true UpdateUiModificationDetails: additionalProperties: false description: "The details of a UI modification." properties: contexts: description: "List of contexts of the UI modification. The maximum number\ \ of contexts is 1000. If provided, replaces all existing contexts." items: $ref: "#/components/schemas/UiModificationContextDetails" type: "array" writeOnly: true data: description: "The data of the UI modification. The maximum size of the data\ \ is 50000 characters." type: "string" writeOnly: true description: description: "The description of the UI modification. The maximum length\ \ is 255 characters." type: "string" writeOnly: true name: description: "The name of the UI modification. The maximum length is 255\ \ characters." type: "string" writeOnly: true type: "object" UpdateUserToGroupBean: additionalProperties: true properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." maxLength: 128 type: "string" name: description: "This property is no longer available. See the [deprecation\ \ notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details." type: "string" type: "object" UpdatedProjectCategory: additionalProperties: false description: "A project category." properties: description: description: "The name of the project category." readOnly: true type: "string" id: description: "The ID of the project category." readOnly: true type: "string" name: description: "The description of the project category." readOnly: true type: "string" self: description: "The URL of the project category." readOnly: true type: "string" type: "object" User: additionalProperties: false description: "A user with details as permitted by the user's Atlassian Account\ \ privacy settings. However, be aware of these exceptions:\n\n * User record\ \ deleted from Atlassian: This occurs as the result of a right to be forgotten\ \ request. In this case, `displayName` provides an indication and other parameters\ \ have default values or are blank (for example, email is blank).\n * User\ \ record corrupted: This occurs as a results of events such as a server import\ \ and can only happen to deleted users. In this case, `accountId` returns\ \ *unknown* and all other parameters have fallback values.\n * User record\ \ unavailable: This usually occurs due to an internal service outage. In this\ \ case, all parameters have fallback values." properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.\ \ Required in requests." maxLength: 128 type: "string" accountType: description: "The user account type. Can take the following values:\n\n\ \ * `atlassian` regular Atlassian user account\n * `app` system account\ \ used for Connect applications and OAuth to represent external systems\n\ \ * `customer` Jira Service Desk account representing an external service\ \ desk" enum: - "atlassian" - "app" - "customer" - "unknown" readOnly: true type: "string" active: description: "Whether the user is active." readOnly: true type: "boolean" applicationRoles: allOf: - $ref: "#/components/schemas/SimpleListWrapperApplicationRole" description: "The application roles the user is assigned to." readOnly: true avatarUrls: allOf: - $ref: "#/components/schemas/AvatarUrlsBean" description: "The avatars of the user." readOnly: true displayName: description: "The display name of the user. Depending on the user’s privacy\ \ setting, this may return an alternative value." readOnly: true type: "string" emailAddress: description: "The email address of the user. Depending on the user’s privacy\ \ setting, this may be returned as null." readOnly: true type: "string" expand: description: "Expand options that include additional user details in the\ \ response." readOnly: true type: "string" xml: attribute: true groups: allOf: - $ref: "#/components/schemas/SimpleListWrapperGroupName" description: "The groups that the user belongs to." readOnly: true key: description: "This property 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." type: "string" locale: description: "The locale of the user. Depending on the user’s privacy setting,\ \ this may be returned as null." readOnly: true type: "string" name: description: "This property 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." type: "string" self: description: "The URL of the user." format: "uri" readOnly: true type: "string" timeZone: description: "The time zone specified in the user's profile. Depending on\ \ the user’s privacy setting, this may be returned as null." readOnly: true type: "string" type: "object" xml: name: "user" UserBean: additionalProperties: false properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." maxLength: 128 type: "string" active: description: "Whether the user is active." type: "boolean" avatarUrls: allOf: - $ref: "#/components/schemas/UserBeanAvatarUrls" description: "The avatars of the user." displayName: description: "The display name of the user. Depending on the user’s privacy\ \ setting, this may return an alternative value." type: "string" key: description: "This property is deprecated in favor of `accountId` because\ \ of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details. \nThe key of the user." type: "string" name: description: "This property is deprecated in favor of `accountId` because\ \ of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details. \nThe username of the user." type: "string" self: description: "The URL of the user." format: "uri" type: "string" type: "object" UserBeanAvatarUrls: additionalProperties: false properties: "16x16": description: "The URL of the user's 16x16 pixel avatar." format: "uri" type: "string" "24x24": description: "The URL of the user's 24x24 pixel avatar." format: "uri" type: "string" "32x32": description: "The URL of the user's 32x32 pixel avatar." format: "uri" type: "string" "48x48": description: "The URL of the user's 48x48 pixel avatar." format: "uri" type: "string" type: "object" UserColumnRequestBody: additionalProperties: false properties: columns: items: type: "string" type: "array" type: "object" UserContextVariable: description: "A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)\ \ specified as an Atlassian account ID." properties: accountId: description: "The account ID of the user." type: "string" type: description: "Type of custom context variable." type: "string" required: - "accountId" - "type" type: "object" UserDetails: additionalProperties: false description: "User details permitted by the user's Atlassian Account privacy\ \ settings. However, be aware of these exceptions:\n\n * User record deleted\ \ from Atlassian: This occurs as the result of a right to be forgotten request.\ \ In this case, `displayName` provides an indication and other parameters\ \ have default values or are blank (for example, email is blank).\n * User\ \ record corrupted: This occurs as a results of events such as a server import\ \ and can only happen to deleted users. In this case, `accountId` returns\ \ *unknown* and all other parameters have fallback values.\n * User record\ \ unavailable: This usually occurs due to an internal service outage. In this\ \ case, all parameters have fallback values." properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." maxLength: 128 type: "string" accountType: description: "The type of account represented by this user. This will be\ \ one of 'atlassian' (normal users), 'app' (application user) or 'customer'\ \ (Jira Service Desk customer user)" readOnly: true type: "string" active: description: "Whether the user is active." readOnly: true type: "boolean" avatarUrls: allOf: - $ref: "#/components/schemas/AvatarUrlsBean" description: "The avatars of the user." readOnly: true displayName: description: "The display name of the user. Depending on the user’s privacy\ \ settings, this may return an alternative value." readOnly: true type: "string" emailAddress: description: "The email address of the user. Depending on the user’s privacy\ \ settings, this may be returned as null." readOnly: true type: "string" key: description: "This property 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." readOnly: true type: "string" name: description: "This property 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." readOnly: true type: "string" self: description: "The URL of the user." readOnly: true type: "string" timeZone: description: "The time zone specified in the user's profile. Depending on\ \ the user’s privacy settings, this may be returned as null." readOnly: true type: "string" type: "object" UserFilter: description: "Filter for a User Picker (single) custom field." properties: enabled: description: "Whether the filter is enabled." type: "boolean" groups: description: "User groups autocomplete suggestion users must belong to.\ \ If not provided, the default values are used. A maximum of 10 groups\ \ can be provided." items: description: "User groups autocomplete suggestion users must belong to.\ \ If not provided, the default values are used. A maximum of 10 groups\ \ can be provided." type: "string" type: "array" uniqueItems: true roleIds: description: "Roles that autocomplete suggestion users must belong to. If\ \ not provided, the default values are used. A maximum of 10 roles can\ \ be provided." items: description: "Roles that autocomplete suggestion users must belong to.\ \ If not provided, the default values are used. A maximum of 10 roles\ \ can be provided." format: "int64" type: "integer" type: "array" uniqueItems: true required: - "enabled" type: "object" UserKey: additionalProperties: false description: "List of user account IDs." properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.\ \ Returns *unknown* if the record is deleted and corrupted, for example,\ \ as the result of a server import." maxLength: 128 type: "string" key: description: "This property 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." type: "string" type: "object" UserList: additionalProperties: false description: "A paginated list of users sharing the filter. This includes users\ \ that are members of the groups or can browse the projects that the filter\ \ is shared with." properties: end-index: description: "The index of the last item returned on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "end-index" items: description: "The list of items." items: $ref: "#/components/schemas/User" readOnly: true type: "array" max-results: description: "The maximum number of results that could be on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "max-results" size: description: "The number of items on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true start-index: description: "The index of the first item returned on the page." format: "int32" readOnly: true type: "integer" xml: attribute: true name: "start-index" type: "object" UserMigrationBean: additionalProperties: false properties: accountId: type: "string" key: type: "string" username: type: "string" type: "object" UserPermission: additionalProperties: true description: "Details of a permission and its availability to a user." properties: deprecatedKey: description: "Indicate whether the permission key is deprecated. Note that\ \ deprecated keys cannot be used in the `permissions parameter of Get\ \ my permissions. Deprecated keys are not returned by Get all permissions.`" type: "boolean" description: description: "The description of the permission." type: "string" havePermission: description: "Whether the permission is available to the user in the queried\ \ context." type: "boolean" id: description: "The ID of the permission. Either `id` or `key` must be specified.\ \ Use [Get all permissions](#api-rest-api-2-permissions-get) to get the\ \ list of permissions." type: "string" key: description: "The key of the permission. Either `id` or `key` must be specified.\ \ Use [Get all permissions](#api-rest-api-2-permissions-get) to get the\ \ list of permissions." type: "string" name: description: "The name of the permission." type: "string" type: description: "The type of the permission." enum: - "GLOBAL" - "PROJECT" type: "string" type: "object" UserPickerUser: additionalProperties: false description: "A user found in a search." properties: accountId: description: "The account ID of the user, which uniquely identifies the\ \ user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." type: "string" avatarUrl: description: "The avatar URL of the user." format: "uri" type: "string" displayName: description: "The display name of the user. Depending on the user’s privacy\ \ setting, this may be returned as null." type: "string" html: description: "The display name, email address, and key of the user with\ \ the matched query string highlighted with the HTML bold tag." type: "string" key: description: "This property is no longer available. See the [deprecation\ \ notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details." type: "string" name: description: "This property is no longer available . See the [deprecation\ \ notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)\ \ for details." type: "string" type: "object" ValidationOptionsForCreate: additionalProperties: false description: "The level of validation to return from the API. If no values are\ \ provided, the default would return `WARNING` and `ERROR` level validation\ \ results." properties: levels: items: enum: - "WARNING" - "ERROR" type: "string" maxItems: 2 type: "array" type: "object" ValidationOptionsForUpdate: additionalProperties: false description: "The level of validation to return from the API. If no values are\ \ provided, the default would return `WARNING` and `ERROR` level validation\ \ results." properties: levels: items: enum: - "WARNING" - "ERROR" type: "string" maxItems: 2 type: "array" type: "object" ValueOperand: description: "An operand that is a user-provided value." properties: encodedValue: description: "Encoded value, which can be used directly in a JQL query." type: "string" value: description: "The operand value." type: "string" required: - "value" type: "object" Version: additionalProperties: false description: "Details about a project version." properties: approvers: description: "If the expand option `approvers` is used, returns a list containing\ \ the approvers for this version." items: $ref: "#/components/schemas/VersionApprover" readOnly: true type: "array" archived: description: "Indicates that the version is archived. Optional when creating\ \ or updating a version." type: "boolean" description: description: "The description of the version. Optional when creating or\ \ updating a version. The maximum size is 16,384 bytes." type: "string" driver: description: "If the expand option `driver` is used, returns the Atlassian\ \ account ID of the driver." readOnly: true type: "string" expand: description: "Use [expand](em>#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\ \ contains a count 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 approvers for this\ \ version.\n\nOptional for create and update." type: "string" xml: attribute: true id: description: "The ID of the version." readOnly: true type: "string" issuesStatusForFixVersion: allOf: - $ref: "#/components/schemas/VersionIssuesStatus" description: "If the expand option `issuesstatus` is used, returns the count\ \ of issues in this version for each of the status categories *to do*,\ \ *in progress*, *done*, and *unmapped*. The *unmapped* property contains\ \ a count of issues with a status other than *to do*, *in progress*, and\ \ *done*." readOnly: true moveUnfixedIssuesTo: description: "The URL of the self link to the version to which all unfixed\ \ issues are moved when a version is released. Not applicable when creating\ \ a version. Optional when updating a version." format: "uri" type: "string" name: description: "The unique name of the version. Required when creating a version.\ \ Optional when updating a version. The maximum length is 255 characters." type: "string" operations: description: "If the expand option `operations` is used, returns the list\ \ of operations available for this version." items: $ref: "#/components/schemas/SimpleLink" readOnly: true type: "array" overdue: description: "Indicates that the version is overdue." readOnly: true type: "boolean" project: description: "Deprecated. Use `projectId`." type: "string" projectId: description: "The ID of the project to which this version is attached. Required\ \ when creating a version. Not applicable when updating a version." format: "int64" type: "integer" releaseDate: description: "The release date of the version. Expressed in ISO 8601 format\ \ (yyyy-mm-dd). Optional when creating or updating a version." format: "date" type: "string" released: description: "Indicates that the version is released. If the version is\ \ released a request to release again is ignored. Not applicable when\ \ creating a version. Optional when updating a version." type: "boolean" self: description: "The URL of the version." format: "uri" readOnly: true type: "string" startDate: description: "The start date of the version. Expressed in ISO 8601 format\ \ (yyyy-mm-dd). Optional when creating or updating a version." format: "date" type: "string" userReleaseDate: description: "The date on which work on this version is expected to finish,\ \ expressed in the instance's *Day/Month/Year Format* date format." readOnly: true type: "string" userStartDate: description: "The date on which work on this version is expected to start,\ \ expressed in the instance's *Day/Month/Year Format* date format." readOnly: true type: "string" type: "object" xml: name: "version" VersionApprover: additionalProperties: true description: "Contains details about a version approver." properties: accountId: description: "The Atlassian account ID of the approver." readOnly: true type: "string" declineReason: description: "A description of why the user is declining the approval." readOnly: true type: "string" description: description: "A description of what the user is approving within the specified\ \ version." readOnly: true type: "string" status: description: "The status of the approval, which can be *PENDING*, *APPROVED*,\ \ or *DECLINED*" readOnly: true type: "string" type: "object" VersionIssueCounts: additionalProperties: false description: "Various counts of issues within a version." properties: customFieldUsage: description: "List of custom fields using the version." items: $ref: "#/components/schemas/VersionUsageInCustomField" readOnly: true type: "array" issueCountWithCustomFieldsShowingVersion: description: "Count of issues where a version custom field is set to the\ \ version." format: "int64" readOnly: true type: "integer" issuesAffectedCount: description: "Count of issues where the `affectedVersion` is set to the\ \ version." format: "int64" readOnly: true type: "integer" issuesFixedCount: description: "Count of issues where the `fixVersion` is set to the version." format: "int64" readOnly: true type: "integer" self: description: "The URL of these count details." format: "uri" readOnly: true type: "string" type: "object" xml: name: "version" VersionIssuesStatus: additionalProperties: true description: "Counts of the number of issues in various statuses." properties: done: description: "Count of issues with status *done*." format: "int64" readOnly: true type: "integer" inProgress: description: "Count of issues with status *in progress*." format: "int64" readOnly: true type: "integer" toDo: description: "Count of issues with status *to do*." format: "int64" readOnly: true type: "integer" unmapped: description: "Count of issues with a status other than *to do*, *in progress*,\ \ and *done*." format: "int64" readOnly: true type: "integer" type: "object" VersionMoveBean: additionalProperties: false properties: after: description: "The URL (self link) of the version after which to place the\ \ moved version. Cannot be used with `position`." format: "uri" type: "string" position: description: "An absolute position in which to place the moved version.\ \ Cannot be used with `after`." enum: - "Earlier" - "Later" - "First" - "Last" type: "string" type: "object" xml: name: "version" VersionRelatedWork: additionalProperties: false description: "Associated related work to a version" properties: category: description: "The category of the related work" type: "string" issueId: description: "The ID of the issue associated with the related work (if there\ \ is one). Cannot be updated via the Rest API." format: "int64" readOnly: true type: "integer" relatedWorkId: description: "The id of the related work. For the native release note related\ \ work item, this will be null, and Rest API does not support updating\ \ it." readOnly: true type: "string" title: description: "The title of the related work" type: "string" url: description: "The URL of the related work. Will be null for the native release\ \ note related work item, but is otherwise required." format: "uri" type: "string" required: - "category" type: "object" VersionUnresolvedIssuesCount: additionalProperties: false description: "Count of a version's unresolved issues." properties: issuesCount: description: "Count of issues." format: "int64" readOnly: true type: "integer" issuesUnresolvedCount: description: "Count of unresolved issues." format: "int64" readOnly: true type: "integer" self: description: "The URL of these count details." format: "uri" readOnly: true type: "string" type: "object" xml: name: "version" VersionUsageInCustomField: additionalProperties: false description: "List of custom fields using the version." properties: customFieldId: description: "The ID of the custom field." format: "int64" readOnly: true type: "integer" fieldName: description: "The name of the custom field." readOnly: true type: "string" issueCountWithVersionInCustomField: description: "Count of the issues where the custom field contains the version." format: "int64" readOnly: true type: "integer" type: "object" Visibility: additionalProperties: true description: "The group or role to which this item is visible." properties: identifier: description: "The ID of the group or the name of the role that visibility\ \ of this item is restricted to." nullable: true type: "string" type: description: "Whether visibility of this item is restricted to a group or\ \ role." enum: - "group" - "role" type: "string" value: description: "The name of the group or role that visibility of this item\ \ is restricted to. Please note that the name of a group is mutable, to\ \ reliably identify a group use `identifier`." type: "string" type: "object" Votes: additionalProperties: false description: "The details of votes on an issue." properties: hasVoted: description: "Whether the user making this request has voted on the issue." readOnly: true type: "boolean" self: description: "The URL of these issue vote details." format: "uri" readOnly: true type: "string" voters: description: "List of the users who have voted on this issue. An empty list\ \ is returned when the calling user doesn't have the *View voters and\ \ watchers* project permission." items: $ref: "#/components/schemas/User" readOnly: true type: "array" votes: description: "The number of votes on the issue." format: "int64" readOnly: true type: "integer" type: "object" WarningCollection: additionalProperties: false properties: warnings: items: type: "string" type: "array" type: "object" Watchers: additionalProperties: false description: "The details of watchers on an issue." properties: isWatching: description: "Whether the calling user is watching this issue." readOnly: true type: "boolean" self: description: "The URL of these issue watcher details." readOnly: true type: "string" watchCount: description: "The number of users watching this issue." format: "int32" readOnly: true type: "integer" watchers: description: "Details of the users watching this issue." items: $ref: "#/components/schemas/UserDetails" readOnly: true type: "array" type: "object" xml: name: "watchers" Webhook: additionalProperties: false description: "A webhook." properties: events: description: "The Jira events that trigger the webhook." items: enum: - "jira:issue_created" - "jira:issue_updated" - "jira:issue_deleted" - "comment_created" - "comment_updated" - "comment_deleted" - "issue_property_set" - "issue_property_deleted" type: "string" type: "array" expirationDate: description: "The date after which the webhook is no longer sent. Use [Extend\ \ webhook life](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put)\ \ to extend the date." format: "int64" readOnly: true type: "integer" fieldIdsFilter: description: "A list of field IDs. When the issue changelog contains any\ \ of the fields, the webhook `jira:issue_updated` is sent. If this parameter\ \ is not present, the app is notified about all field updates." items: description: "A list of field IDs. When the issue changelog contains any\ \ of the fields, the webhook jira:issue_updated is sent.\ \ If this parameter is not present, the app is notified about all field\ \ updates." type: "string" type: "array" id: description: "The ID of the webhook." format: "int64" type: "integer" issuePropertyKeysFilter: description: "A list of issue property keys. A change of those issue properties\ \ triggers the `issue_property_set` or `issue_property_deleted` webhooks.\ \ If this parameter is not present, the app is notified about all issue\ \ property updates." items: description: "A list of issue property keys. A change of those issue properties\ \ triggers the issue_property_set or issue_property_deleted\ \ webhooks. If this parameter is not present, the app is notified about\ \ all issue property updates." type: "string" type: "array" jqlFilter: description: "The JQL filter that specifies which issues the webhook is\ \ sent for." type: "string" required: - "events" - "id" - "jqlFilter" type: "object" WebhookDetails: additionalProperties: false description: "A list of webhooks." properties: events: description: "The Jira events that trigger the webhook." items: enum: - "jira:issue_created" - "jira:issue_updated" - "jira:issue_deleted" - "comment_created" - "comment_updated" - "comment_deleted" - "issue_property_set" - "issue_property_deleted" type: "string" type: "array" fieldIdsFilter: description: "A list of field IDs. When the issue changelog contains any\ \ of the fields, the webhook `jira:issue_updated` is sent. If this parameter\ \ is not present, the app is notified about all field updates." items: description: "A list of field IDs. When the issue changelog contains any\ \ of the fields, the webhook jira:issue_updated is sent.\ \ If this parameter is not present, the app is notified about all field\ \ updates." type: "string" type: "array" issuePropertyKeysFilter: description: "A list of issue property keys. A change of those issue properties\ \ triggers the `issue_property_set` or `issue_property_deleted` webhooks.\ \ If this parameter is not present, the app is notified about all issue\ \ property updates." items: description: "A list of issue property keys. A change of those issue properties\ \ triggers the issue_property_set or issue_property_deleted\ \ webhooks. If this parameter is not present, the app is notified about\ \ all issue property updates." type: "string" type: "array" jqlFilter: description: "The JQL filter that specifies which issues the webhook is\ \ sent for. Only a subset of JQL can be used. The supported elements are:\n\ \n * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`,\ \ `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`),\ \ only the epic label custom field is supported.\".\n * Operators: `=`,\ \ `!=`, `IN`, and `NOT IN`." type: "string" required: - "events" - "jqlFilter" type: "object" WebhookRegistrationDetails: additionalProperties: false description: "Details of webhooks to register." properties: url: description: "The URL that specifies where to send the webhooks. This URL\ \ must use the same base URL as the Connect app. Only a single URL per\ \ app is allowed to be registered." type: "string" webhooks: description: "A list of webhooks." items: $ref: "#/components/schemas/WebhookDetails" type: "array" required: - "url" - "webhooks" type: "object" WebhooksExpirationDate: additionalProperties: false description: "The date the refreshed webhooks expire." properties: expirationDate: description: "The expiration date of all the refreshed webhooks." format: "int64" readOnly: true type: "integer" required: - "expirationDate" type: "object" WorkManagementNavigationInfo: properties: boardName: type: "string" type: "object" Workflow: additionalProperties: false description: "Details about a workflow." properties: created: description: "The creation date of the workflow." format: "date-time" type: "string" description: description: "The description of the workflow." type: "string" hasDraftWorkflow: description: "Whether the workflow has a draft version." type: "boolean" id: $ref: "#/components/schemas/PublishedWorkflowId" isDefault: description: "Whether this is the default workflow." type: "boolean" operations: $ref: "#/components/schemas/WorkflowOperations" projects: description: "The projects the workflow is assigned to, through workflow\ \ schemes." items: $ref: "#/components/schemas/ProjectDetails" type: "array" schemes: description: "The workflow schemes the workflow is assigned to." items: $ref: "#/components/schemas/WorkflowSchemeIdName" type: "array" statuses: description: "The statuses of the workflow." items: $ref: "#/components/schemas/WorkflowStatus" type: "array" transitions: description: "The transitions of the workflow." items: $ref: "#/components/schemas/Transition" type: "array" updated: description: "The last edited date of the workflow." format: "date-time" type: "string" required: - "description" - "id" type: "object" WorkflowAssociationStatusMapping: additionalProperties: false description: "The list of status mappings." properties: newStatusId: description: "The ID of the status in the new workflow." type: "string" oldStatusId: description: "The ID of the status in the old workflow that isn't present\ \ in the new workflow." type: "string" required: - "newStatusId" - "oldStatusId" type: "object" WorkflowCapabilities: additionalProperties: false properties: connectRules: description: "The Connect provided ecosystem rules available." items: $ref: "#/components/schemas/AvailableWorkflowConnectRule" type: "array" editorScope: description: "The scope of the workflow capabilities. `GLOBAL` for company-managed\ \ projects and `PROJECT` for team-managed projects." enum: - "PROJECT" - "GLOBAL" type: "string" forgeRules: description: "The Forge provided ecosystem rules available." items: $ref: "#/components/schemas/AvailableWorkflowForgeRule" type: "array" projectTypes: description: "The types of projects that this capability set is available\ \ for." items: enum: - "software" - "service_desk" - "product_discovery" - "business" - "unknown" type: "string" type: "array" systemRules: description: "The Atlassian provided system rules available." items: $ref: "#/components/schemas/AvailableWorkflowSystemRule" type: "array" triggerRules: description: "The trigger rules available." items: $ref: "#/components/schemas/AvailableWorkflowTriggers" type: "array" type: "object" WorkflowCompoundCondition: description: "A compound workflow transition rule condition. This object returns\ \ `nodeType` as `compound`." properties: conditions: description: "The list of workflow conditions." items: $ref: "#/components/schemas/WorkflowCondition" type: "array" nodeType: type: "string" operator: description: "The compound condition operator." enum: - "AND" - "OR" type: "string" required: - "conditions" - "nodeType" - "operator" type: "object" WorkflowCondition: additionalProperties: false description: "The workflow transition rule conditions tree." discriminator: mapping: compound: "#/components/schemas/WorkflowCompoundCondition" simple: "#/components/schemas/WorkflowSimpleCondition" propertyName: "nodeType" oneOf: - $ref: "#/components/schemas/WorkflowSimpleCondition" - $ref: "#/components/schemas/WorkflowCompoundCondition" type: "object" WorkflowCreate: additionalProperties: false description: "The details of the workflows to create." maximum: 20 properties: description: description: "The description of the workflow to create." type: "string" name: description: "The name of the workflow to create." type: "string" startPointLayout: $ref: "#/components/schemas/WorkflowLayout" statuses: description: "The statuses associated with this workflow." items: $ref: "#/components/schemas/StatusLayoutUpdate" type: "array" transitions: description: "The transitions of this workflow." items: $ref: "#/components/schemas/TransitionUpdateDTO" type: "array" required: - "name" - "statuses" - "transitions" type: "object" WorkflowCreateRequest: additionalProperties: false description: "The create workflows payload." properties: scope: $ref: "#/components/schemas/WorkflowScope" statuses: description: "The statuses to associate with the workflows." items: $ref: "#/components/schemas/WorkflowStatusUpdate" maximum: 1000 type: "array" workflows: description: "The details of the workflows to create." items: $ref: "#/components/schemas/WorkflowCreate" maximum: 20 type: "array" required: - "scope" - "statuses" - "workflows" type: "object" WorkflowCreateResponse: additionalProperties: false description: "Details of the created workflows and statuses." properties: statuses: description: "List of created statuses." items: $ref: "#/components/schemas/JiraWorkflowStatus" type: "array" uniqueItems: true workflows: description: "List of created workflows." items: $ref: "#/components/schemas/JiraWorkflow" type: "array" uniqueItems: true type: "object" WorkflowCreateValidateRequest: additionalProperties: false properties: payload: $ref: "#/components/schemas/WorkflowCreateRequest" validationOptions: $ref: "#/components/schemas/ValidationOptionsForCreate" required: - "payload" type: "object" WorkflowElementReference: additionalProperties: false description: "A reference to the location of the error. This will be null if\ \ the error does not refer to a specific element." properties: propertyKey: description: "A property key." type: "string" ruleId: description: "A rule ID." type: "string" statusMappingReference: $ref: "#/components/schemas/ProjectAndIssueTypePair" statusReference: description: "A status reference." type: "string" transitionId: description: "A transition ID." type: "string" type: "object" WorkflowIDs: additionalProperties: false description: "The classic workflow identifiers." properties: entityId: description: "The entity ID of the workflow." type: "string" name: description: "The name of the workflow." type: "string" required: - "name" type: "object" WorkflowId: additionalProperties: false description: "Properties that identify a workflow." properties: draft: description: "Whether the workflow is in the draft state." type: "boolean" name: description: "The name of the workflow." type: "string" required: - "draft" - "name" type: "object" WorkflowLayout: additionalProperties: false description: "The starting point for the statuses in the workflow." nullable: true properties: x: description: "The x axis location." format: "double" type: "number" "y": description: "The y axis location." format: "double" type: "number" type: "object" WorkflowMetadataAndIssueTypeRestModel: additionalProperties: false description: "The workflow metadata and issue type IDs which use this workflow." properties: issueTypeIds: description: "The list of issue type IDs for the mapping." items: description: "The list of issue type IDs for the mapping." type: "string" type: "array" workflow: $ref: "#/components/schemas/WorkflowMetadataRestModel" required: - "issueTypeIds" - "workflow" type: "object" WorkflowMetadataRestModel: additionalProperties: false description: "Workflow metadata and usage detail." properties: description: description: "The description of the workflow." type: "string" id: description: "The ID of the workflow." type: "string" name: description: "The name of the workflow." type: "string" usage: description: "Use the optional `workflows.usages` expand to get additional\ \ information about the projects and issue types associated with the workflows\ \ in the workflow scheme." items: $ref: "#/components/schemas/SimpleUsage" type: "array" version: $ref: "#/components/schemas/DocumentVersion" required: - "description" - "id" - "name" - "usage" - "version" type: "object" WorkflowOperations: additionalProperties: false description: "Operations allowed on a workflow" properties: canDelete: description: "Whether the workflow can be deleted." type: "boolean" canEdit: description: "Whether the workflow can be updated." type: "boolean" required: - "canDelete" - "canEdit" type: "object" WorkflowReadRequest: additionalProperties: false properties: projectAndIssueTypes: description: "The list of projects and issue types to query." items: $ref: "#/components/schemas/ProjectAndIssueTypePair" type: "array" workflowIds: description: "The list of workflow IDs to query." items: description: "The list of workflow IDs to query." type: "string" type: "array" workflowNames: description: "The list of workflow names to query." items: description: "The list of workflow names to query." type: "string" type: "array" type: "object" WorkflowReadResponse: additionalProperties: false description: "Details of workflows and related statuses." properties: statuses: description: "List of statuses." items: $ref: "#/components/schemas/JiraWorkflowStatus" type: "array" uniqueItems: true workflows: description: "List of workflows." items: $ref: "#/components/schemas/JiraWorkflow" type: "array" uniqueItems: true type: "object" WorkflowReferenceStatus: additionalProperties: false description: "The statuses referenced in the workflow." properties: deprecated: description: "Indicates if the status is deprecated." type: "boolean" layout: $ref: "#/components/schemas/WorkflowStatusLayout" properties: additionalProperties: description: "The properties associated with the status." type: "string" description: "The properties associated with the status." type: "object" statusReference: description: "The reference of the status." type: "string" type: "object" WorkflowRuleConfiguration: additionalProperties: false description: "The configuration of the rule." nullable: true properties: id: description: "The ID of the rule." nullable: true type: "string" parameters: additionalProperties: description: "The parameters related to the rule." type: "string" description: "The parameters related to the rule." type: "object" ruleKey: description: "The rule key of the rule." type: "string" required: - "ruleKey" type: "object" WorkflowRules: additionalProperties: false description: "A collection of transition rules." properties: conditionsTree: $ref: "#/components/schemas/WorkflowCondition" postFunctions: description: "The workflow post functions." items: $ref: "#/components/schemas/WorkflowTransitionRule" type: "array" validators: description: "The workflow validators." items: $ref: "#/components/schemas/WorkflowTransitionRule" type: "array" type: "object" WorkflowRulesSearch: description: "Details of the workflow and its transition rules." properties: expand: description: "Use expand 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." example: "transition" type: "string" ruleIds: description: "The list of workflow rule IDs." items: description: "Workflow rule ID." example: "55d44f1d-c859-42e5-9c27-2c5ec3f340b1" format: "uuid" type: "string" maxItems: 10 minItems: 1 type: "array" workflowEntityId: description: "The workflow ID." example: "a498d711-685d-428d-8c3e-bc03bb450ea7" format: "uuid" type: "string" required: - "ruleIds" - "workflowEntityId" type: "object" WorkflowRulesSearchDetails: description: "Details of workflow transition rules." properties: invalidRules: description: "List of workflow rule IDs that do not belong to the workflow\ \ or can not be found." items: description: "Workflow rule ID." example: "55d44f1d-c859-42e5-9c27-2c5ec3f340b1" format: "uuid" type: "string" type: "array" validRules: description: "List of valid workflow transition rules." items: $ref: "#/components/schemas/WorkflowTransitionRules" type: "array" workflowEntityId: description: "The workflow ID." example: "a498d711-685d-428d-8c3e-bc03bb450ea7" format: "uuid" type: "string" type: "object" WorkflowScheme: additionalProperties: false description: "Details about a workflow scheme." properties: defaultWorkflow: description: "The name of the default workflow for the workflow scheme.\ \ The default workflow has *All Unassigned Issue Types* assigned to it\ \ in Jira. If `defaultWorkflow` is not specified when creating a workflow\ \ scheme, it is set to *Jira Workflow (jira)*." type: "string" description: description: "The description of the workflow scheme." type: "string" draft: description: "Whether the workflow scheme is a draft or not." readOnly: true type: "boolean" id: description: "The ID of the workflow scheme." format: "int64" readOnly: true type: "integer" issueTypeMappings: additionalProperties: type: "string" description: "The issue type to workflow mappings, where each mapping is\ \ an issue type ID and workflow name pair. Note that an issue type can\ \ only be mapped to one workflow in a workflow scheme." type: "object" issueTypes: additionalProperties: $ref: "#/components/schemas/IssueTypeDetails" description: "The issue types available in Jira." readOnly: true type: "object" lastModified: description: "The date-time that the draft workflow scheme was last modified.\ \ A modification is a change to the issue type-project mappings only.\ \ This property does not apply to non-draft workflows." readOnly: true type: "string" lastModifiedUser: allOf: - $ref: "#/components/schemas/User" description: "The user that last modified the draft workflow scheme. A modification\ \ is a change to the issue type-project mappings only. This property does\ \ not apply to non-draft workflows." readOnly: true name: description: "The name of the workflow scheme. The name must be unique.\ \ The maximum length is 255 characters. Required when creating a workflow\ \ scheme." type: "string" originalDefaultWorkflow: description: "For draft workflow schemes, this property is the name of the\ \ default workflow for the original workflow scheme. The default workflow\ \ has *All Unassigned Issue Types* assigned to it in Jira." readOnly: true type: "string" originalIssueTypeMappings: additionalProperties: readOnly: true type: "string" description: "For draft workflow schemes, this property is the issue type\ \ to workflow mappings for the original workflow scheme, where each mapping\ \ is an issue type ID and workflow name pair. Note that an issue type\ \ can only be mapped to one workflow in a workflow scheme." readOnly: true type: "object" self: format: "uri" readOnly: true type: "string" updateDraftIfNeeded: description: "Whether to create or update a draft workflow scheme when updating\ \ an active workflow scheme. An active workflow scheme is a workflow scheme\ \ that is used by at least one project. The following examples show how\ \ this property works:\n\n * Update an active workflow scheme with `updateDraftIfNeeded`\ \ set to `true`: If a draft workflow scheme exists, it is updated. Otherwise,\ \ a draft workflow scheme is created.\n * Update an active workflow scheme\ \ with `updateDraftIfNeeded` set to `false`: An error is returned, as\ \ active workflow schemes cannot be updated.\n * Update an inactive workflow\ \ scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme\ \ is updated, as inactive workflow schemes do not require drafts to update.\n\ \nDefaults to `false`." type: "boolean" type: "object" WorkflowSchemeAssociation: additionalProperties: false description: "The explicit association between issue types and a workflow in\ \ a workflow scheme." properties: issueTypeIds: description: "The issue types assigned to the workflow." items: description: "The issue types assigned to the workflow." type: "string" type: "array" uniqueItems: true workflowId: description: "The ID of the workflow." type: "string" required: - "issueTypeIds" - "workflowId" type: "object" WorkflowSchemeAssociations: additionalProperties: false description: "A workflow scheme along with a list of projects that use it." properties: projectIds: description: "The list of projects that use the workflow scheme." items: type: "string" type: "array" workflowScheme: allOf: - $ref: "#/components/schemas/WorkflowScheme" description: "The workflow scheme." required: - "projectIds" - "workflowScheme" type: "object" WorkflowSchemeIdName: additionalProperties: false description: "The ID and the name of the workflow scheme." properties: id: description: "The ID of the workflow scheme." type: "string" name: description: "The name of the workflow scheme." type: "string" required: - "id" - "name" type: "object" WorkflowSchemeProjectAssociation: additionalProperties: false description: "An associated workflow scheme and project." properties: projectId: description: "The ID of the project." type: "string" workflowSchemeId: description: "The ID of the workflow scheme. If the workflow scheme ID is\ \ `null`, the operation assigns the default workflow scheme." type: "string" required: - "projectId" type: "object" WorkflowSchemeReadRequest: additionalProperties: false description: "The workflow scheme read request body." properties: projectIds: description: "The list of project IDs to query." items: description: "The list of project IDs to query." nullable: true type: "string" nullable: true type: "array" workflowSchemeIds: description: "The list of workflow scheme IDs to query." items: description: "The list of workflow scheme IDs to query." nullable: true type: "string" nullable: true type: "array" type: "object" WorkflowSchemeReadResponse: additionalProperties: false properties: defaultWorkflow: $ref: "#/components/schemas/WorkflowMetadataRestModel" description: description: "The description of the workflow scheme." nullable: true type: "string" id: description: "The ID of the workflow scheme." type: "string" name: description: "The name of the workflow scheme." type: "string" projectIdsUsingScheme: description: "The IDs of projects using the workflow scheme." items: description: "The IDs of projects using the workflow scheme." type: "string" type: "array" scope: $ref: "#/components/schemas/WorkflowScope" taskId: description: "Indicates if there's an [asynchronous task](#async-operations)\ \ for this workflow scheme." nullable: true type: "string" version: $ref: "#/components/schemas/DocumentVersion" workflowsForIssueTypes: description: "Mappings from workflows to issue types." items: $ref: "#/components/schemas/WorkflowMetadataAndIssueTypeRestModel" type: "array" required: - "id" - "name" - "projectIdsUsingScheme" - "scope" - "version" - "workflowsForIssueTypes" type: "object" WorkflowSchemeUpdateRequest: additionalProperties: true description: "The update workflow scheme payload." properties: defaultWorkflowId: description: "The ID of the workflow for issue types without having a mapping\ \ defined in this workflow scheme. Only used in global-scoped workflow\ \ schemes. If the `defaultWorkflowId` isn't specified, this is set to\ \ *Jira Workflow (jira)*." type: "string" description: description: "The new description for this workflow scheme." type: "string" id: description: "The ID of this workflow scheme." type: "string" name: description: "The new name for this workflow scheme." type: "string" statusMappingsByIssueTypeOverride: description: "Overrides, for the selected issue types, any status mappings\ \ provided in `statusMappingsByWorkflows`. Status mappings are required\ \ when the new workflow for an issue type doesn't contain all statuses\ \ that the old workflow has. Status mappings can be provided by a combination\ \ of `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`." items: $ref: "#/components/schemas/MappingsByIssueTypeOverride" type: "array" statusMappingsByWorkflows: description: "The status mappings by workflows. Status mappings are required\ \ when the new workflow for an issue type doesn't contain all statuses\ \ that the old workflow has. Status mappings can be provided by a combination\ \ of `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`." items: $ref: "#/components/schemas/MappingsByWorkflow" type: "array" version: $ref: "#/components/schemas/DocumentVersion" workflowsForIssueTypes: description: "Mappings from workflows to issue types." items: $ref: "#/components/schemas/WorkflowSchemeAssociation" type: "array" required: - "description" - "id" - "name" - "version" type: "object" WorkflowSchemeUpdateRequiredMappingsRequest: additionalProperties: false description: "The request payload to get the required mappings for updating\ \ a workflow scheme." properties: defaultWorkflowId: description: "The ID of the new default workflow for this workflow scheme.\ \ Only used in global-scoped workflow schemes. If it isn't specified,\ \ is set to *Jira Workflow (jira)*." nullable: true type: "string" id: description: "The ID of the workflow scheme." type: "string" workflowsForIssueTypes: description: "The new workflow to issue type mappings for this workflow\ \ scheme." items: $ref: "#/components/schemas/WorkflowSchemeAssociation" type: "array" required: - "id" - "workflowsForIssueTypes" type: "object" WorkflowSchemeUpdateRequiredMappingsResponse: additionalProperties: false properties: statusMappingsByIssueTypes: description: "The list of required status mappings by issue type." items: $ref: "#/components/schemas/RequiredMappingByIssueType" type: "array" uniqueItems: true statusMappingsByWorkflows: description: "The list of required status mappings by workflow." items: $ref: "#/components/schemas/RequiredMappingByWorkflows" type: "array" uniqueItems: true statuses: description: "The details of the statuses in the associated workflows." items: $ref: "#/components/schemas/StatusMetadata" type: "array" uniqueItems: true statusesPerWorkflow: description: "The statuses associated with each workflow." items: $ref: "#/components/schemas/StatusesPerWorkflow" type: "array" uniqueItems: true type: "object" WorkflowScope: additionalProperties: false description: "The scope of the workflow." properties: project: $ref: "#/components/schemas/ProjectId" type: description: "The scope of the workflow. `GLOBAL` for company-managed projects\ \ and `PROJECT` for team-managed projects." enum: - "PROJECT" - "GLOBAL" type: "string" required: - "type" type: "object" WorkflowSimpleCondition: description: "A workflow transition rule condition. This object returns `nodeType`\ \ as `simple`." properties: configuration: description: "EXPERIMENTAL. The configuration of the transition rule." type: "object" nodeType: type: "string" type: description: "The type of the transition rule." type: "string" required: - "nodeType" - "type" type: "object" WorkflowStatus: additionalProperties: false description: "Details of a workflow status." properties: id: description: "The ID of the issue status." type: "string" name: description: "The name of the status in the workflow." type: "string" properties: additionalProperties: description: "Additional properties that modify the behavior of issues\ \ in this status. Supports the properties jira.issue.editable\ \ and issueEditable (deprecated) that indicate whether\ \ issues are editable." description: "Additional properties that modify the behavior of issues in\ \ this status. Supports the properties `jira.issue.editable` and `issueEditable`\ \ (deprecated) that indicate whether issues are editable." type: "object" required: - "id" - "name" type: "object" WorkflowStatusAndPort: additionalProperties: false description: "The status reference and port that a transition is connected to." nullable: true properties: port: description: "The port the transition is connected to this status." format: "int32" nullable: true type: "integer" statusReference: description: "The reference of this status." type: "string" type: "object" WorkflowStatusLayout: additionalProperties: false description: "The x and y location of the status in the workflow." nullable: true properties: x: description: "The x axis location." format: "double" nullable: true type: "number" "y": description: "The y axis location." format: "double" nullable: true type: "number" type: "object" WorkflowStatusUpdate: additionalProperties: true description: "Details of the status being updated." maximum: 1000 properties: description: description: "The description of the status." type: "string" id: description: "The ID of the status." type: "string" name: description: "The name of the status." type: "string" statusCategory: description: "The category of the status." enum: - "TODO" - "IN_PROGRESS" - "DONE" type: "string" statusReference: description: "The reference of the status." type: "string" required: - "name" - "statusCategory" - "statusReference" type: "object" WorkflowTransition: additionalProperties: false description: "A workflow transition." properties: id: description: "The transition ID." format: "int32" type: "integer" name: description: "The transition name." type: "string" required: - "id" - "name" type: "object" WorkflowTransitionProperty: additionalProperties: true description: "Details about the server Jira is running on." properties: id: description: "The ID of the transition property." readOnly: true type: "string" key: description: "The key of the transition property. Also known as the name\ \ of the transition property." readOnly: true type: "string" value: description: "The value of the transition property." type: "string" required: - "value" type: "object" WorkflowTransitionRule: additionalProperties: false description: "A workflow transition rule." properties: configuration: description: "EXPERIMENTAL. The configuration of the transition rule." type: description: "The type of the transition rule." type: "string" required: - "type" type: "object" WorkflowTransitionRules: additionalProperties: false description: "A workflow with transition rules." properties: conditions: description: "The list of conditions within the workflow." items: $ref: "#/components/schemas/AppWorkflowTransitionRule" type: "array" postFunctions: description: "The list of post functions within the workflow." items: $ref: "#/components/schemas/AppWorkflowTransitionRule" type: "array" validators: description: "The list of validators within the workflow." items: $ref: "#/components/schemas/AppWorkflowTransitionRule" type: "array" workflowId: $ref: "#/components/schemas/WorkflowId" required: - "workflowId" type: "object" WorkflowTransitionRulesDetails: additionalProperties: false description: "Details about a workflow configuration update request." properties: workflowId: $ref: "#/components/schemas/WorkflowId" workflowRuleIds: description: "The list of connect workflow rule IDs." items: description: "The list of connect workflow rule IDs." type: "string" type: "array" uniqueItems: true required: - "workflowId" - "workflowRuleIds" type: "object" WorkflowTransitionRulesUpdate: additionalProperties: false description: "Details about a workflow configuration update request." properties: workflows: description: "The list of workflows with transition rules to update." items: $ref: "#/components/schemas/WorkflowTransitionRules" type: "array" required: - "workflows" type: "object" WorkflowTransitionRulesUpdateErrorDetails: additionalProperties: false description: "Details of any errors encountered while updating workflow transition\ \ rules for a workflow." properties: ruleUpdateErrors: additionalProperties: description: "A list of transition rule update errors, indexed by the\ \ transition rule ID. Any transition rule that appears here wasn't updated." items: description: "A list of transition rule update errors, indexed by the\ \ transition rule ID. Any transition rule that appears here wasn't\ \ updated." type: "string" type: "array" uniqueItems: true description: "A list of transition rule update errors, indexed by the transition\ \ rule ID. Any transition rule that appears here wasn't updated." type: "object" updateErrors: description: "The list of errors that specify why the workflow update failed.\ \ The workflow was not updated if the list contains any entries." items: description: "An error specifying why the workflow update failed." type: "string" type: "array" uniqueItems: true workflowId: $ref: "#/components/schemas/WorkflowId" required: - "ruleUpdateErrors" - "updateErrors" - "workflowId" type: "object" WorkflowTransitionRulesUpdateErrors: additionalProperties: false description: "Details of any errors encountered while updating workflow transition\ \ rules." properties: updateResults: description: "A list of workflows." items: $ref: "#/components/schemas/WorkflowTransitionRulesUpdateErrorDetails" type: "array" required: - "updateResults" type: "object" WorkflowTransitions: additionalProperties: false description: "The transitions of the workflow." properties: actions: description: "The post-functions of the transition." items: $ref: "#/components/schemas/WorkflowRuleConfiguration" type: "array" conditions: $ref: "#/components/schemas/ConditionGroupConfiguration" customIssueEventId: description: "The custom event ID of the transition." nullable: true type: "string" description: description: "The description of the transition." type: "string" from: description: "The statuses the transition can start from." items: $ref: "#/components/schemas/WorkflowStatusAndPort" type: "array" id: description: "The ID of the transition." type: "string" name: description: "The name of the transition." type: "string" properties: additionalProperties: description: "The properties of the transition." type: "string" description: "The properties of the transition." type: "object" to: $ref: "#/components/schemas/WorkflowStatusAndPort" transitionScreen: $ref: "#/components/schemas/WorkflowRuleConfiguration" triggers: description: "The triggers of the transition." items: $ref: "#/components/schemas/WorkflowTrigger" type: "array" type: description: "The transition type." enum: - "INITIAL" - "GLOBAL" - "DIRECTED" type: "string" validators: description: "The validators of the transition." items: $ref: "#/components/schemas/WorkflowRuleConfiguration" type: "array" type: "object" WorkflowTrigger: additionalProperties: false description: "The trigger configuration associated with a workflow." properties: id: description: "The ID of the trigger." type: "string" parameters: additionalProperties: description: "The parameters of the trigger." type: "string" description: "The parameters of the trigger." type: "object" ruleKey: description: "The rule key of the trigger." type: "string" required: - "parameters" - "ruleKey" type: "object" WorkflowUpdate: additionalProperties: true description: "The details of the workflows to update." maximum: 20 properties: defaultStatusMappings: description: "The mapping of old to new status ID." items: $ref: "#/components/schemas/StatusMigration" type: "array" description: description: "The new description for this workflow." type: "string" id: description: "The ID of this workflow." type: "string" startPointLayout: $ref: "#/components/schemas/WorkflowLayout" statusMappings: description: "The mapping of old to new status ID for a specific project\ \ and issue type." items: $ref: "#/components/schemas/StatusMappingDTO" type: "array" statuses: description: "The statuses associated with this workflow." items: $ref: "#/components/schemas/StatusLayoutUpdate" type: "array" transitions: description: "The transitions of this workflow." items: $ref: "#/components/schemas/TransitionUpdateDTO" type: "array" version: $ref: "#/components/schemas/DocumentVersion" required: - "id" - "statuses" - "transitions" - "version" type: "object" WorkflowUpdateRequest: additionalProperties: false description: "The update workflows payload." properties: statuses: description: "The statuses to associate with the workflows." items: $ref: "#/components/schemas/WorkflowStatusUpdate" maximum: 1000 type: "array" workflows: description: "The details of the workflows to update." items: $ref: "#/components/schemas/WorkflowUpdate" maximum: 20 type: "array" required: - "statuses" - "workflows" type: "object" WorkflowUpdateResponse: additionalProperties: false properties: statuses: description: "List of updated statuses." items: $ref: "#/components/schemas/JiraWorkflowStatus" type: "array" uniqueItems: true taskId: description: "If there is a [asynchronous task](#async-operations) operation,\ \ as a result of this update." nullable: true type: "string" workflows: description: "List of updated workflows." items: $ref: "#/components/schemas/JiraWorkflow" type: "array" uniqueItems: true type: "object" WorkflowUpdateValidateRequestBean: additionalProperties: false properties: payload: $ref: "#/components/schemas/WorkflowUpdateRequest" validationOptions: $ref: "#/components/schemas/ValidationOptionsForUpdate" required: - "payload" type: "object" WorkflowUsages: additionalProperties: false description: "The workflows that use this status. Only available if the `workflowUsages`\ \ expand is requested." properties: workflowId: description: "Workflow ID." type: "string" workflowName: description: "Workflow name." type: "string" type: "object" WorkflowValidationError: additionalProperties: false description: "The details about a workflow validation error." properties: code: description: "An error code." type: "string" elementReference: $ref: "#/components/schemas/WorkflowElementReference" level: description: "The validation error level." enum: - "WARNING" - "ERROR" type: "string" message: description: "An error message." type: "string" type: description: "The type of element the error or warning references." enum: - "RULE" - "STATUS" - "STATUS_LAYOUT" - "STATUS_PROPERTY" - "WORKFLOW" - "TRANSITION" - "TRANSITION_PROPERTY" - "SCOPE" - "STATUS_MAPPING" - "TRIGGER" type: "string" type: "object" WorkflowValidationErrorList: additionalProperties: false properties: errors: description: "The list of validation errors." items: $ref: "#/components/schemas/WorkflowValidationError" type: "array" type: "object" WorkflowsWithTransitionRulesDetails: additionalProperties: false description: "Details of workflows and their transition rules to delete." properties: workflows: description: "The list of workflows with transition rules to delete." items: $ref: "#/components/schemas/WorkflowTransitionRulesDetails" type: "array" required: - "workflows" type: "object" Worklog: additionalProperties: true description: "Details of a worklog." properties: author: allOf: - $ref: "#/components/schemas/UserDetails" description: "Details of the user who created the worklog." readOnly: true comment: description: "A comment about the worklog. Optional when creating or updating\ \ a worklog." type: "string" created: description: "The datetime on which the worklog was created." format: "date-time" readOnly: true type: "string" id: description: "The ID of the worklog record." readOnly: true type: "string" issueId: description: "The ID of the issue this worklog is for." readOnly: true type: "string" properties: description: "Details of properties for the worklog. Optional when creating\ \ or updating a worklog." items: $ref: "#/components/schemas/EntityProperty" type: "array" self: description: "The URL of the worklog item." format: "uri" readOnly: true type: "string" started: description: "The datetime on which the worklog effort was started. Required\ \ when creating a worklog. Optional when updating a worklog." format: "date-time" type: "string" timeSpent: description: "The time spent working on the issue as days (\\#d), hours\ \ (\\#h), or minutes (\\#m or \\#). Required when creating a worklog if\ \ `timeSpentSeconds` isn't provided. Optional when updating a worklog.\ \ Cannot be provided if `timeSpentSecond` is provided." type: "string" timeSpentSeconds: description: "The time in seconds spent working on the issue. Required when\ \ creating a worklog if `timeSpent` isn't provided. Optional when updating\ \ a worklog. Cannot be provided if `timeSpent` is provided." format: "int64" type: "integer" updateAuthor: allOf: - $ref: "#/components/schemas/UserDetails" description: "Details of the user who last updated the worklog." readOnly: true updated: description: "The datetime on which the worklog was last updated." format: "date-time" readOnly: true type: "string" visibility: allOf: - $ref: "#/components/schemas/Visibility" description: "Details about any restrictions in the visibility of the worklog.\ \ Optional when creating or updating a worklog." type: "object" xml: name: "worklog" WorklogIdsRequestBean: additionalProperties: false properties: ids: description: "A list of worklog IDs." items: format: "int64" type: "integer" type: "array" uniqueItems: true required: - "ids" type: "object" WorkspaceDataPolicy: additionalProperties: false description: "Details about data policy." properties: anyContentBlocked: description: "Whether the workspace contains any content inaccessible to\ \ the requesting application." readOnly: true type: "boolean" type: "object" securitySchemes: OAuth2: description: "OAuth2 scopes for Jira" flows: authorizationCode: authorizationUrl: "https://auth.atlassian.com/authorize" scopes: delete:async-task:jira: "Delete asynchronous task." delete:attachment:jira: "Delete issue attachments." delete:avatar:jira: "Delete system and custom avatars." delete:comment.property:jira: "Delete issue comment properties." delete:comment:jira: "Delete issue comments." delete:dashboard.property:jira: "Delete dashboard properties." delete:dashboard:jira: "Delete dashboards." delete:field-configuration-scheme:jira: "Delete field configuration schemes." delete:field-configuration:jira: "Delete field configurations." delete:field.option:jira: "Delete field options." delete:field:jira: "Delete fields." delete:filter.column:jira: "Delete filter columns." delete:filter:jira: "Delete filters." delete:group:jira: "Delete user groups." delete:issue-link-type:jira: "Delete issue link types." delete:issue-link:jira: "Delete issue links." delete:issue-type-scheme:jira: "Delete issue type schemes." delete:issue-type-screen-scheme:jira: "Delete issue type screen schemes." delete:issue-type.property:jira: "Delete issue type properties." delete:issue-type:jira: "Delete issue types." delete:issue-worklog.property:jira: "Delete issue worklog properties." delete:issue-worklog:jira: "Delete issue worklogs." delete:issue.property:jira: "Delete issue properties." delete:issue.remote-link:jira: "Delete issue remote links." delete:issue:jira: "Delete issues." delete:permission-scheme:jira: "Delete permission schemes." delete:permission:jira: "Delete permissions." delete:project-category:jira: "Delete project categories." delete:project-role:jira: "Delete project roles." delete:project-version:jira: "Delete project versions." delete:project.avatar:jira: "Delete project avatars." delete:project.component:jira: "Delete project components." delete:project.property:jira: "Delete project properties." delete:project:jira: "Delete projects and their details, such as issue\ \ types, project lead, and avatars." delete:screen-scheme:jira: "Delete screen schemes." delete:screen-tab:jira: "Delete screen tabs." delete:screen:jira: "Delete screens." delete:screenable-field:jira: "Delete screenable fields." delete:user-configuration:jira: "Delete user configurations." delete:user.property:jira: "Delete user properties." delete:webhook:jira: "Delete webhooks." delete:workflow-scheme:jira: "Delete workflow schemes." delete:workflow.property:jira: "Delete workflow properties." delete:workflow:jira: "Delete workflows." manage:jira-configuration: "Configure Jira settings that require the Jira\ \ administrators permission, for example, create projects and custom\ \ fields, view workflows, manage issue link types." manage:jira-project: "Create and edit project settings and create new\ \ project-level objects, for example, versions, components." manage:jira-webhook: "Manage Jira webhooks. Enables an OAuth app to register\ \ and unregister dynamic webhooks in Jira. It also provides for fetching\ \ of registered webhooks." read:application-role:jira: "View application roles." read:attachment:jira: "View issue attachments." read:audit-log:jira: "View audit logs." read:avatar:jira: "View system and custom avatars." read:comment.property:jira: "View issue comment properties." read:comment:jira: "View issue comments." read:custom-field-contextual-configuration:jira: "Read custom field contextual\ \ configurations." read:dashboard.property:jira: "View dashboard properties." read:dashboard:jira: "View dashboards." read:field-configuration-scheme:jira: "View field configuration schemes." read:field-configuration:jira: "Read field configurations." read:field.default-value:jira: "View field default values." read:field.option:jira: "View field options." read:field.options:jira: "Read field options." read:field:jira: "View fields." read:filter.column:jira: "View filter columns." read:filter.default-share-scope:jira: "View filter default share scopes." read:filter:jira: "View filters." read:group:jira: "View user groups." read:instance-configuration:jira: "View instance configurations." read:issue-details:jira: "View issue details." read:issue-event:jira: "Read issue events." read:issue-field-values:jira: "View issue field valueses." read:issue-link-type:jira: "View issue link types." read:issue-link:jira: "View issue links." read:issue-meta:jira: "View issue meta." read:issue-security-level:jira: "View issue security levels." read:issue-security-scheme:jira: "View issue security schemes." read:issue-status:jira: "View issue statuses." read:issue-type-hierarchy:jira: "Read issue type hierarchies." read:issue-type-scheme:jira: "View issue type schemes." read:issue-type-screen-scheme:jira: "View issue type screen schemes." read:issue-type.property:jira: "View issue type properties." read:issue-type:jira: "View issue types." read:issue-worklog.property:jira: "View issue worklog properties." read:issue-worklog:jira: "View issue worklogs." read:issue.changelog:jira: "View issue changelogs." read:issue.property:jira: "View issue properties." read:issue.remote-link:jira: "View issue remote links." read:issue.time-tracking:jira: "View issue time trackings." read:issue.transition:jira: "View issue transitions." read:issue.vote:jira: "View issue votes." read:issue.votes:jira: "View issue voteses." read:issue.watcher:jira: "View issue watchers." read:issue:jira: "View issues." read:jira-expressions:jira: "View jira expressions." read:jira-user: "View user information in Jira that you have access to,\ \ including usernames, email addresses, and avatars." read:jira-work: "Read project and issue data. Search for issues and objects\ \ associated with issues (such as attachments and worklogs)." read:jql:jira: "View JQL." read:label:jira: "View labels." read:license:jira: "View licenses." read:notification-scheme:jira: "View notification schemes." read:permission-scheme:jira: "View permission schemes." read:permission:jira: "View permissions." read:priority:jira: "View priorities." read:project-category:jira: "View project categories." read:project-role:jira: "View project roles." read:project-type:jira: "View project types." read:project-version:jira: "View project versions." read:project.avatar:jira: "Read project avatars." read:project.component:jira: "View project components." read:project.email:jira: "View project emails." read:project.feature:jira: "Read project features." read:project.property:jira: "View project properties." read:project:jira: "View projects." read:resolution:jira: "View resolutions." read:role:jira: "View roles." read:screen-field:jira: "View screen fields." read:screen-scheme:jira: "View screen schemes." read:screen-tab:jira: "View screen tabs." read:screen:jira: "View screens." read:screenable-field:jira: "View screenable fields." read:status:jira: "View statuses." read:user-configuration:jira: "View user configurations." read:user.columns:jira: "View user columnses." read:user.property:jira: "View user properties." read:user:jira: "View users." read:webhook:jira: "View webhooks." read:workflow-scheme:jira: "View workflow schemes." read:workflow.property:jira: "View workflow properties." read:workflow:jira: "View workflows." send:notification:jira: "Send notifications." validate:jql:jira: "Validate JQL." write:attachment:jira: "Create and update issue attachments." write:avatar:jira: "Create and update system and custom avatars." write:comment.property:jira: "Create and update issue comment properties." write:comment:jira: "Create and update issue comments." write:custom-field-contextual-configuration:jira: "Save custom field contextual\ \ configurations." write:dashboard.property:jira: "Create and update dashboard properties." write:dashboard:jira: "Create and update dashboards." write:field-configuration-scheme:jira: "Create and update field configuration\ \ schemes." write:field-configuration:jira: "Save field configurations." write:field.default-value:jira: "Create and update field default values." write:field.option:jira: "Create and update field options." write:field:jira: "Create and update fields." write:filter.column:jira: "Create and update filter columns." write:filter.default-share-scope:jira: "Create and update filter default\ \ share scopes." write:filter:jira: "Create and update filters." write:group:jira: "Create and update user groups." write:instance-configuration:jira: "Create and update instance configurations." write:issue-link-type:jira: "Create and update issue link types." write:issue-link:jira: "Create and update issue links." write:issue-type-scheme:jira: "Create and update issue type schemes." write:issue-type-screen-scheme:jira: "Create and update issue type screen\ \ schemes." write:issue-type.property:jira: "Create and update issue type properties." write:issue-type:jira: "Create and update issue types." write:issue-worklog.property:jira: "Create and update issue worklog properties." write:issue-worklog:jira: "Create and update issue worklogs." write:issue.property:jira: "Create and update issue properties." write:issue.remote-link:jira: "Create and update issue remote links." write:issue.time-tracking:jira: "Create and update issue time trackings." write:issue.vote:jira: "Create and update issue votes." write:issue.watcher:jira: "Create and update issue watchers." write:issue:jira: "Create and update issues." write:jira-work: "Create and edit issues in Jira, post comments, create\ \ worklogs, and delete issues." write:permission-scheme:jira: "Create and update permission schemes." write:permission:jira: "Create and update permissions." write:project-category:jira: "Create and update project categories." write:project-role:jira: "Create and update project roles." write:project-version:jira: "Create and update project versions." write:project.avatar:jira: "Create and update project avatars." write:project.component:jira: "Create and update project components." write:project.email:jira: "Create and update project emails." write:project.feature:jira: "Save project features." write:project.property:jira: "Create and update project properties." write:project:jira: "Create and update projects." write:screen-scheme:jira: "Create and update screen schemes." write:screen-tab:jira: "Create and update screen tabs." write:screen:jira: "Create and update screens." write:screenable-field:jira: "Create and update screenable fields." write:user-configuration:jira: "Create and update user configurations." write:user.property:jira: "Create and update user properties." write:webhook:jira: "Create and update webhooks." write:workflow-scheme:jira: "Create and update workflow schemes." write:workflow.property:jira: "Create and update workflow properties." write:workflow:jira: "Create and update workflows." tokenUrl: "https://auth.atlassian.com/oauth/token" type: "oauth2" basicAuth: description: "You can access this resource via basic auth." scheme: "basic" type: "http" externalDocs: description: "Find out more about Atlassian products and services." url: "http://www.atlassian.com" info: contact: email: "ecosystem@atlassian.com" description: "Jira Cloud platform REST API documentation" license: name: "Apache 2.0" url: "http://www.apache.org/licenses/LICENSE-2.0.html" termsOfService: "http://atlassian.com/terms/" title: "The Jira Cloud platform REST API" version: "1001.0.0-SNAPSHOT-0a2056e15286310f4b5e220c64c9aafb1684da34" openapi: "3.0.1" paths: /rest/api/2/announcementBanner: get: deprecated: false description: "Returns the current announcement banner configuration.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "getBanner" parameters: [] responses: "200": content: application/json: example: "{\"hashId\":\"9HN2FJK9DM8BHRWERVW3RRTGDJ4G4D5C\",\"isDismissible\"\ :false,\"isEnabled\":true,\"message\":\"This is a public, enabled,\ \ non-dismissible banner, set using the API\",\"visibility\":\"public\"\ }" schema: $ref: "#/components/schemas/AnnouncementBannerConfiguration" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "\"Only admins can read banner configuration.\"" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get announcement banner configuration" tags: - "Announcement banner" x-atlassian-data-security-policy: - app-access-rule-exempt: true put: deprecated: false description: "Updates the announcement banner configuration.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "setBanner" parameters: [] requestBody: content: application/json: example: isDismissible: false isEnabled: true message: "This is a public, enabled, non-dismissible banner, set using\ \ the API" visibility: "public" schema: $ref: "#/components/schemas/AnnouncementBannerConfigurationUpdate" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "\"Banner message cannot be null.\"" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if an invalid parameter is passed." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "\"Only admins can update banner configuration.\"" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update announcement banner configuration" tags: - "Announcement banner" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/app/field/value: post: deprecated: false 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." operationId: "updateMultipleCustomFieldValues" parameters: - description: "Whether to generate a changelog for this update." in: "query" name: "generateChangelog" schema: default: true type: "boolean" requestBody: content: application/json: example: updates: - customField: "customfield_10010" issueIds: - 10010 - 10011 value: "new value" - customField: "customfield_10011" issueIds: - 10010 value: 1000 schema: $ref: "#/components/schemas/MultipleCustomFieldValuesUpdateDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "403": description: "Returned if the request is not authenticated as the app that\ \ provided all the fields." "404": description: "Returned if any field is not found." security: - basicAuth: [] - OAuth2: [] summary: "Update custom fields" tags: - "Issue custom field values (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" /rest/api/2/app/field/{fieldIdOrKey}/context/configuration: get: deprecated: false 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." operationId: "getCustomFieldConfiguration" parameters: - description: "The ID or key of the custom field, for example `customfield_10000`." in: "path" name: "fieldIdOrKey" required: true schema: type: "string" - 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`." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: 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`." in: "query" name: "fieldContextId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: 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`." in: "query" name: "issueId" schema: format: "int64" type: "integer" - description: "The ID or key of the project to filter results by. Must be provided\ \ with `issueTypeId`. Can't be provided with `issueId`." in: "query" name: "projectKeyOrId" schema: type: "string" - description: "The ID of the issue type to filter results by. Must be provided\ \ with `projectKeyOrId`. Can't be provided with `issueId`." in: "query" name: "issueTypeId" schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":1000,\"startAt\":0,\"total\"\ :2,\"values\":[{\"id\":\"10000\",\"fieldContextId\":\"10010\"},{\"\ id\":\"10001\",\"fieldContextId\":\"10011\",\"configuration\":{\"\ minValue\":0,\"maxValue\":10000},\"schema\":{\"properties\":{\"amount\"\ :{\"type\":\"number\"},\"currency\":{\"type\":\"string\"}},\"required\"\ :[\"amount\",\"currency\"]}}]}" schema: $ref: "#/components/schemas/PageBeanContextualConfiguration" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user is not a Jira admin or the request is\ \ not authenticated as from the app that provided the field." "404": description: "Returned if the custom field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get custom field configurations" tags: - "Issue custom field configuration (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:custom-field-contextual-configuration:jira" state: "Beta" put: deprecated: false 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." operationId: "updateCustomFieldConfiguration" parameters: - description: "The ID or key of the custom field, for example `customfield_10000`." in: "path" name: "fieldIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: configurations: - id: "10000" - configuration: maxValue: 10000 minValue: 0 id: "10001" schema: properties: amount: type: "number" currency: type: "string" required: - "amount" - "currency" schema: $ref: "#/components/schemas/CustomFieldConfigurations" required: true responses: "200": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user is not a Jira admin or the request is\ \ not authenticated as from the app that provided the field." "404": description: "Returned if the custom field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update custom field configurations" tags: - "Issue custom field configuration (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:custom-field-contextual-configuration:jira" state: "Beta" /rest/api/2/app/field/{fieldIdOrKey}/value: put: deprecated: false description: "Updates the value of a custom field on one or more issues.\n\n\ Apps 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." operationId: "updateCustomFieldValue" parameters: - description: "The ID or key of the custom field. For example, `customfield_10010`." in: "path" name: "fieldIdOrKey" required: true schema: type: "string" - description: "Whether to generate a changelog for this update." in: "query" name: "generateChangelog" schema: default: true type: "boolean" requestBody: content: application/json: example: updates: - issueIds: - 10010 value: "new value" schema: $ref: "#/components/schemas/CustomFieldValueUpdateDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "403": description: "Returned if the request is not authenticated as the app that\ \ provided the field." "404": description: "Returned if the field is not found." security: - basicAuth: [] - OAuth2: [] summary: "Update custom field value" tags: - "Issue custom field values (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" /rest/api/2/application-properties: get: deprecated: false 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)." operationId: "getApplicationProperty" parameters: - description: "The key of the application property." in: "query" name: "key" schema: type: "string" - description: "The permission level of all items being returned in the list." in: "query" name: "permissionLevel" schema: type: "string" - 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.*." in: "query" name: "keyFilter" schema: type: "string" responses: "200": content: application/json: example: "[{\"defaultValue\":\"\",\"desc\":\"Jira home directory\",\"\ id\":\"jira.home\",\"key\":\"jira.home\",\"name\":\"jira.home\",\"\ type\":\"string\",\"value\":\"/var/jira/jira-home\"},{\"defaultValue\"\ :\"CLONE -\",\"id\":\"jira.clone.prefix\",\"key\":\"jira.clone.prefix\"\ ,\"name\":\"The prefix added to the Summary field of cloned issues\"\ ,\"type\":\"string\",\"value\":\"CLONE -\"}]" schema: items: $ref: "#/components/schemas/ApplicationProperty" type: "array" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the application property is not found or the user\ \ does not have permission to view it." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get application property" tags: - "Jira settings" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:instance-configuration:jira" state: "Beta" /rest/api/2/application-properties/advanced-settings: get: deprecated: false 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)." operationId: "getAdvancedSettings" parameters: [] responses: "200": content: application/json: example: "[{\"defaultValue\":\"\",\"desc\":\"Jira home directory\",\"\ id\":\"jira.home\",\"key\":\"jira.home\",\"name\":\"jira.home\",\"\ type\":\"string\",\"value\":\"/var/jira/jira-home\"},{\"defaultValue\"\ :\"CLONE -\",\"id\":\"jira.clone.prefix\",\"key\":\"jira.clone.prefix\"\ ,\"name\":\"The prefix added to the Summary field of cloned issues\"\ ,\"type\":\"string\",\"value\":\"CLONE -\"}]" schema: items: $ref: "#/components/schemas/ApplicationProperty" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user is not an administrator." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get advanced settings" tags: - "Jira settings" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:instance-configuration:jira" state: "Beta" /rest/api/2/application-properties/{id}: put: deprecated: false 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)." operationId: "setApplicationProperty" parameters: - description: "The key of the application property to update." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: id: "jira.home" value: "/var/jira/jira-home" schema: $ref: "#/components/schemas/SimpleApplicationPropertyBean" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ApplicationProperty" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the data type of the `value` does not match the\ \ application property's data type. For example, a string is provided\ \ instead of an integer." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have permission to edit the\ \ property." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the property is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set application property" tags: - "Jira settings" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:instance-configuration:jira" - "read:instance-configuration:jira" state: "Beta" /rest/api/2/applicationrole: get: deprecated: false 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)." operationId: "getAllApplicationRoles" parameters: [] responses: "200": content: application/json: example: "[{\"defaultGroups\":[\"jira-software-users\"],\"defaultGroupsDetails\"\ :[{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\":\"\ jira-software-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ }],\"defined\":false,\"groupDetails\":[{\"groupId\":\"42c8955c-63d7-42c8-9520-63d7aca0625\"\ ,\"name\":\"jira-testers\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=42c8955c-63d7-42c8-9520-63d7aca0625\"\ },{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\":\"\ jira-software-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ }],\"groups\":[\"jira-software-users\",\"jira-testers\"],\"hasUnlimitedSeats\"\ :false,\"key\":\"jira-software\",\"name\":\"Jira Software\",\"numberOfSeats\"\ :10,\"platform\":false,\"remainingSeats\":5,\"selectedByDefault\"\ :false,\"userCount\":5,\"userCountDescription\":\"5 developers\"},{\"\ defaultGroups\":[\"jira-core-users\"],\"defaultGroupsDetails\":[{\"\ groupId\":\"92d01dca0625-42c8-42c8-9520-276f955c\",\"name\":\"jira-core-users\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=92d01dca0625-42c8-42c8-9520-276f955c\"\ }],\"defined\":false,\"groupDetails\":[{\"groupId\":\"92d01dca0625-42c8-42c8-9520-276f955c\"\ ,\"name\":\"jira-core-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=92d01dca0625-42c8-42c8-9520-276f955c\"\ }],\"groups\":[\"jira-core-users\"],\"hasUnlimitedSeats\":false,\"\ key\":\"jira-core\",\"name\":\"Jira Core\",\"numberOfSeats\":1,\"\ platform\":true,\"remainingSeats\":1,\"selectedByDefault\":false,\"\ userCount\":0,\"userCountDescription\":\"0 users\"}]" schema: items: $ref: "#/components/schemas/ApplicationRole" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user is not an administrator." security: - basicAuth: [] summary: "Get all application roles" tags: - "Application roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/applicationrole/{key}: get: deprecated: false description: "Returns an application role.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "getApplicationRole" parameters: - 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." in: "path" name: "key" required: true schema: example: "jira-software" type: "string" x-showInExample: "true" responses: "200": content: application/json: example: "{\"defaultGroups\":[\"jira-software-users\"],\"defaultGroupsDetails\"\ :[{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\":\"\ jira-software-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ }],\"defined\":false,\"groupDetails\":[{\"groupId\":\"42c8955c-63d7-42c8-9520-63d7aca0625\"\ ,\"name\":\"jira-testers\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=42c8955c-63d7-42c8-9520-63d7aca0625\"\ },{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\":\"\ jira-software-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ }],\"groups\":[\"jira-software-users\",\"jira-testers\"],\"hasUnlimitedSeats\"\ :false,\"key\":\"jira-software\",\"name\":\"Jira Software\",\"numberOfSeats\"\ :10,\"platform\":false,\"remainingSeats\":5,\"selectedByDefault\"\ :false,\"userCount\":5,\"userCountDescription\":\"5 developers\"}" schema: $ref: "#/components/schemas/ApplicationRole" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user is not an administrator." "404": description: "Returned if the role is not found." security: - basicAuth: [] summary: "Get application role" tags: - "Application roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/attachment/content/{id}: get: deprecated: false 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." operationId: "getAttachmentContent" parameters: - description: "The ID of the attachment." in: "path" name: "id" required: true schema: type: "string" - 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." in: "query" name: "redirect" schema: default: true type: "boolean" responses: "200": content: application/json: schema: items: {} type: "array" description: "Returned if the request is successful when `redirect` is set\ \ to `false`." "206": description: "Returned if the request is successful when a `Range` header\ \ is provided and `redirect` is set to `false`." "303": description: "Returned if the request is successful. See the `Location`\ \ header for the download URL." "400": description: "Returned if the range supplied in the `Range` header is malformed." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "The user does not have the necessary permission." "404": description: "Returned if:\n\n * the attachment is not found.\n * attachments\ \ are disabled in the Jira settings." "416": description: "Returned if the server is unable to satisfy the range of bytes\ \ provided." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get attachment content" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:attachment:jira" state: "Beta" /rest/api/2/attachment/meta: get: deprecated: false 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." operationId: "getAttachmentMeta" parameters: [] responses: "200": content: application/json: example: "{\"enabled\":true,\"uploadLimit\":1000000}" schema: $ref: "#/components/schemas/AttachmentSettings" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get Jira attachment settings" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:instance-configuration:jira" state: "Beta" /rest/api/2/attachment/thumbnail/{id}: get: deprecated: false 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." operationId: "getAttachmentThumbnail" parameters: - description: "The ID of the attachment." in: "path" name: "id" required: true schema: type: "string" - 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." in: "query" name: "redirect" schema: default: true type: "boolean" - description: "Whether a default thumbnail is returned when the requested thumbnail\ \ is not found." in: "query" name: "fallbackToDefault" schema: default: true type: "boolean" - description: "The maximum width to scale the thumbnail to." in: "query" name: "width" schema: format: "int32" type: "integer" - description: "The maximum height to scale the thumbnail to." in: "query" name: "height" schema: format: "int32" type: "integer" responses: "200": content: application/json: schema: items: {} type: "array" description: "Returned if the request is successful when `redirect` is set\ \ to `false`." "303": description: "Returned if the request is successful. See the `Location`\ \ header for the download URL." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "The user does not have the necessary permission." "404": description: "Returned if:\n\n * the attachment is not found.\n * attachments\ \ are disabled in the Jira settings.\n * `fallbackToDefault` is `false`\ \ and the request thumbnail cannot be downloaded." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get attachment thumbnail" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:attachment:jira" state: "Beta" /rest/api/2/attachment/{id}: delete: deprecated: false 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." operationId: "removeAttachment" parameters: - description: "The ID of the attachment." in: "path" name: "id" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if:\n\n * the attachment is not found.\n * attachments\ \ are disabled in the Jira settings." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete attachment" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:attachment:jira" state: "Beta" get: deprecated: false 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." operationId: "getAttachment" parameters: - description: "The ID of the attachment." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\"\ :\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"content\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10001\"\ ,\"created\":\"2023-06-24T19:24:50.000+0000\",\"filename\":\"debuglog.txt\"\ ,\"id\":10001,\"mimeType\":\"text/plain\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\"\ ,\"size\":2460}" schema: $ref: "#/components/schemas/AttachmentMetadata" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if:\n\n * the attachment is not found.\n * attachments\ \ are disabled in the Jira settings." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get attachment metadata" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:attachment:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/attachment/{id}/expand/human: get: deprecated: false 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." operationId: "expandAttachmentForHumans" parameters: - description: "The ID of the attachment." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"entries\":[{\"index\":0,\"label\":\"MG00N067.JPG\",\"mediaType\"\ :\"image/jpeg\",\"path\":\"MG00N067.JPG\",\"size\":\"119 kB\"},{\"\ index\":1,\"label\":\"Allegro from Duet in C Major.mp3\",\"mediaType\"\ :\"audio/mpeg\",\"path\":\"Allegro from Duet in C Major.mp3\",\"size\"\ :\"1.36 MB\"},{\"index\":2,\"label\":\"long/path/thanks/to/.../reach/the/leaf.txt\"\ ,\"mediaType\":\"text/plain\",\"path\":\"long/path/thanks/to/lots/of/subdirectories/inside/making/it/quite/hard/to/reach/the/leaf.txt\"\ ,\"size\":\"0.0 k\"}],\"id\":7237823,\"mediaType\":\"application/zip\"\ ,\"name\":\"images.zip\",\"totalEntryCount\":39}" schema: $ref: "#/components/schemas/AttachmentArchiveMetadataReadable" description: "Returned if the request is successful. If an empty list is\ \ returned in the response, the attachment is empty, corrupt, or not an\ \ archive." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "The user does not have the necessary permission." "404": description: "Returned if:\n\n * the attachment is not found.\n * attachments\ \ are disabled in the Jira settings." "409": description: "Returned if the attachment is an archive, but not a supported\ \ archive format." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all metadata for an expanded attachment" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:attachment:jira" state: "Beta" x-experimental: true /rest/api/2/attachment/{id}/expand/raw: get: deprecated: false 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." operationId: "expandAttachmentForMachines" parameters: - description: "The ID of the attachment." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"entries\":[{\"entryIndex\":0,\"mediaType\":\"audio/mpeg\"\ ,\"name\":\"Allegro from Duet in C Major.mp3\",\"size\":1430174},{\"\ entryIndex\":1,\"mediaType\":\"text/rtf\",\"name\":\"lrm.rtf\",\"\ size\":331}],\"totalEntryCount\":24}" schema: $ref: "#/components/schemas/AttachmentArchiveImpl" description: "Returned if the request is successful. If an empty list is\ \ returned in the response, the attachment is empty, corrupt, or not an\ \ archive." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "The user does not have the necessary permission." "404": description: "Returned if:\n\n * the attachment is not found.\n * attachments\ \ are disabled in the Jira settings." "409": description: "Returned if the attachment is an archive, but not a supported\ \ archive format." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get contents metadata for an expanded attachment" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:attachment:jira" state: "Beta" x-experimental: true /rest/api/2/auditing/record: get: deprecated: false 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)." operationId: "getAuditRecords" parameters: - description: "The number of records to skip before returning the first result." in: "query" name: "offset" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of results to return." in: "query" name: "limit" schema: default: 1000 format: "int32" type: "integer" - description: "The strings to match with audit field content, space separated." in: "query" name: "filter" schema: type: "string" - 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." in: "query" name: "from" schema: type: "string" - 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." in: "query" name: "to" schema: type: "string" responses: "200": content: application/json: example: "{\"limit\":1000,\"offset\":0,\"records\":[{\"associatedItems\"\ :[{\"id\":\"jira-software-users\",\"name\":\"jira-software-users\"\ ,\"parentId\":\"1\",\"parentName\":\"Jira Internal Directory\",\"\ typeName\":\"GROUP\"}],\"authorAccountId\":\"5ab8f18d741e9c2c7e9d4538\"\ ,\"authorKey\":\"administrator\",\"category\":\"user management\"\ ,\"changedValues\":[{\"changedFrom\":\"user@atlassian.com\",\"changedTo\"\ :\"newuser@atlassian.com\",\"fieldName\":\"email\"}],\"created\":\"\ 2014-03-19T18:45:42.967+0000\",\"description\":\"Optional description\"\ ,\"eventSource\":\"Jira Connect Plugin\",\"id\":1,\"objectItem\":{\"\ id\":\"user\",\"name\":\"user\",\"parentId\":\"1\",\"parentName\"\ :\"Jira Internal Directory\",\"typeName\":\"USER\"},\"remoteAddress\"\ :\"192.168.1.1\",\"summary\":\"User created\"}],\"total\":1}" schema: $ref: "#/components/schemas/AuditRecords" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if:\n\n * the user does not have the required permissions.\n\ \ * all Jira products are on free plans. Audit logs are available when\ \ at least one Jira product is on a paid plan." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get audit records" tags: - "Audit records" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:audit-log:jira" - "read:user:jira" state: "Beta" /rest/api/2/avatar/{type}/system: get: deprecated: false 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." operationId: "getAllSystemAvatars" parameters: - description: "The avatar type." in: "path" name: "type" required: true schema: enum: - "issuetype" - "project" - "user" example: "project" type: "string" x-showInExample: "true" responses: "200": content: application/json: example: "{\"system\":[{\"id\":\"1000\",\"isDeletable\":false,\"isSelected\"\ :false,\"isSystemAvatar\":true,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\"\ ,\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\"\ ,\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\"\ ,\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"\ }}]}" schema: $ref: "#/components/schemas/SystemAvatars" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "500": description: "Returned if an error occurs while retrieving the list of avatars." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Get system avatars by type" tags: - "Avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:avatar:jira" state: "Beta" /rest/api/2/classification-levels: get: deprecated: false description: "Returns all classification levels.\n\n**[Permissions](#permissions)\ \ required:** None." operationId: "getAllUserDataClassificationLevels" parameters: - description: "Optional set of statuses to filter by." in: "query" name: "status" schema: items: default: "" description: "The status of the project classification." enum: - "PUBLISHED" - "ARCHIVED" - "DRAFT" type: "string" type: "array" uniqueItems: true - description: "Ordering of the results by a given field. If not provided, values\ \ will not be sorted." in: "query" name: "orderBy" schema: enum: - "rank" - "-rank" - "+rank" type: "string" responses: "200": content: application/json: example: "{\"classifications\":[{\"id\":\"ari:cloud:platform::classification-tag/5bfa70f7-4af1-44f5-9e12-1ce185f15a38\"\ ,\"status\":\"published\",\"name\":\"Restricted\",\"rank\":1,\"description\"\ :\"Data we hold that would be very damaging and would cause loss of\ \ trust with customers and present legal risk to Atlassian and/or\ \ customers if mishandled\",\"guideline\":\"Access to data must be\ \ restricted to only individuals who need access in order to perform\ \ their job duties.\",\"color\":\"RED\"},{\"id\":\"ari:cloud:platform::classification-tag/bd58e74c-c31b-41a7-ba69-9673ebd9dae9\"\ ,\"status\":\"archived\",\"name\":\"Protected\",\"rank\":2,\"description\"\ :\"Data we hold that could cause loss of trust with customers or present\ \ legal risk to Atlassian if mishandled\",\"guideline\":\"Access to\ \ systems or APIs mapping data to other identifiers must be carefully\ \ controlled.\",\"color\":\"ORANGE\"},{\"id\":\"ari:cloud:platform::classification-tag/a82d653e-1035-4aa2-b9de-4265511fd487\"\ ,\"status\":\"published\",\"name\":\"Confidential\",\"rank\":3,\"\ description\":\"Data we hold that would likely be damaging and could\ \ cause loss of trust with our customers if mishandled\",\"guideline\"\ :\"Data should be encrypted at rest and in transit.\",\"color\":\"\ BLUE\"},{\"id\":\"ari:cloud:platform::classification-tag/a82d653e-1035-4aa2-b9de-4265511fd487\"\ ,\"status\":\"published\",\"name\":\"system-tag\"}]}" schema: $ref: "#/components/schemas/DataClassificationLevelsBean" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get all classification levels" tags: - "Classification levels" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" state: "Beta" x-experimental: true /rest/api/2/comment/list: post: deprecated: false 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." operationId: "getCommentsByIds" parameters: - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: ids: - 1 - 2 - 5 - 10 schema: $ref: "#/components/schemas/IssueCommentListRequestBean" description: "The list of comment IDs." required: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":1048576,\"startAt\":0,\"total\"\ :1,\"values\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}]}" schema: $ref: "#/components/schemas/PageBeanComment" description: "Returned if the request is successful." "400": description: "Returned if the request contains more than 1000 IDs or is\ \ empty." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get comments by IDs" tags: - "Issue comments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:comment.property:jira" - "read:avatar:jira" - "read:comment:jira" - "read:group:jira" - "read:project-role:jira" - "read:user:jira" - "read:comment.property:jira" - "read:project:jira" state: "Beta" /rest/api/2/comment/{commentId}/properties: get: deprecated: false 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." operationId: "getCommentPropertyKeys" parameters: - description: "The ID of the comment." in: "path" name: "commentId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\"\ }]}" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "400": description: "Returned if the comment ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the comment is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get comment property keys" tags: - "Issue comment properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment.property:jira" state: "Beta" /rest/api/2/comment/{commentId}/properties/{propertyKey}: delete: deprecated: false 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." operationId: "deleteCommentProperty" parameters: - description: "The ID of the comment." in: "path" name: "commentId" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the comment or the property is not found or the\ \ user has the necessary project permissions but isn't a member of the\ \ role or group visibility of the comment is restricted to." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete comment property" tags: - "Issue comment properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:comment.property:jira" state: "Beta" get: deprecated: false 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." operationId: "getCommentProperty" parameters: - description: "The ID of the comment." in: "path" name: "commentId" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\"\ :\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\"\ :\"1m\"}}" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the comment or the property is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get comment property" tags: - "Issue comment properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment.property:jira" state: "Beta" put: deprecated: false 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." operationId: "setCommentProperty" parameters: - description: "The ID of the comment." in: "path" name: "commentId" required: true schema: type: "string" - description: "The key of the property. The maximum length is 255 characters." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: schema: {} description: "The value of the property. The value has to be a valid, non-empty\ \ [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length\ \ of the property value is 32768 bytes." required: true responses: "200": content: application/json: schema: {} description: "Returned if the comment property is updated." "201": content: application/json: schema: {} description: "Returned if the comment property is created." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the comment is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Set comment property" tags: - "Issue comment properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:comment.property:jira" state: "Beta" /rest/api/2/component: get: deprecated: false 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." operationId: "findComponentsForProjects" parameters: - description: "The project IDs and/or project keys (case sensitive)." in: "query" name: "projectIdsOrKeys" schema: items: type: "string" type: "array" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "[Order](#ordering) the results by a field:\n\n * `description`\ \ Sorts by the component description.\n * `name` Sorts by component name." in: "query" name: "orderBy" schema: enum: - "description" - "-description" - "+description" - "name" - "-name" - "+name" type: "string" - description: "Filter the results using a literal string. Components with a\ \ matching `name` or `description` are returned (case insensitive)." in: "query" name: "query" schema: type: "string" responses: "200": content: application/json: example: " com.atlassian.jira.issue.fields.rest.json.beans.ComponentJsonBean#PAGED_EXAMPLE}\ \ }" schema: $ref: "#/components/schemas/PageBean2ComponentJsonBean" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Find components for projects" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:project.component:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" post: deprecated: false 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)." operationId: "createComponent" parameters: [] requestBody: content: application/json: example: assigneeType: "PROJECT_LEAD" description: "This is a Jira component" isAssigneeTypeValid: false leadAccountId: "5b10a2844c20165700ede21g" name: "Component 1" project: "HSP" schema: $ref: "#/components/schemas/ProjectComponent" required: true responses: "201": content: application/json: example: "{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }" schema: $ref: "#/components/schemas/ProjectComponent" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the user is not found.\n * `name` is\ \ not provided.\n * `name` is over 255 characters in length.\n * `projectId`\ \ is not provided.\n * `assigneeType` is an invalid value." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to manage the\ \ project containing the component or does not have permission to administer\ \ Jira." "404": description: "Returned if the project is not found or the user does not\ \ have permission to browse the project containing the component." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Create component" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:user:jira" - "write:project.component:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/component/{id}: delete: deprecated: false 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)." operationId: "deleteComponent" parameters: - description: "The ID of the component." in: "path" name: "id" required: true schema: type: "string" - description: "The ID of the component to replace the deleted component. If\ \ this value is null no replacement is made." in: "query" name: "moveIssuesTo" schema: type: "string" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to manage the\ \ project containing the component or does not have permission to administer\ \ Jira." "404": description: "Returned if:\n\n * the component is not found.\n * the replacement\ \ component is not found.\n * the user does not have permission to browse\ \ the project containing the component." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Delete component" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project.component:jira" state: "Beta" get: deprecated: false 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." operationId: "getComponent" parameters: - description: "The ID of the component." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }" schema: $ref: "#/components/schemas/ProjectComponent" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the component is not found or the user does not\ \ have permission to browse the project containing the component." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get component" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:project.component:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateComponent" parameters: - description: "The ID of the component." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: assigneeType: "PROJECT_LEAD" description: "This is a Jira component" isAssigneeTypeValid: false leadAccountId: "5b10a2844c20165700ede21g" name: "Component 1" schema: $ref: "#/components/schemas/ProjectComponent" required: true responses: "200": content: application/json: example: "{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }" schema: $ref: "#/components/schemas/ProjectComponent" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the user is not found.\n * `assigneeType`\ \ is an invalid value.\n * `name` is over 255 characters in length." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to manage the\ \ project containing the component or does not have permission to administer\ \ Jira." "404": description: "Returned if the component is not found or the user does not\ \ have permission to browse the project containing the component." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Update component" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:user:jira" - "write:project.component:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/component/{id}/relatedIssueCounts: get: deprecated: false 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." operationId: "getComponentRelatedIssues" parameters: - description: "The ID of the component." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"issueCount\":23,\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }" schema: $ref: "#/components/schemas/ComponentIssuesCount" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the component is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get component issues count" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" /rest/api/2/configuration: get: deprecated: false 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." operationId: "getConfiguration" parameters: [] responses: "200": content: application/json: example: "{\"attachmentsEnabled\":true,\"issueLinkingEnabled\":true,\"\ subTasksEnabled\":false,\"timeTrackingConfiguration\":{\"defaultUnit\"\ :\"day\",\"timeFormat\":\"pretty\",\"workingDaysPerWeek\":5.0,\"workingHoursPerDay\"\ :8.0},\"timeTrackingEnabled\":true,\"unassignedIssuesAllowed\":false,\"\ votingEnabled\":true,\"watchingEnabled\":true}" schema: $ref: "#/components/schemas/Configuration" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Get global settings" tags: - "Jira settings" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:instance-configuration:jira" - "read:issue.time-tracking:jira" state: "Beta" /rest/api/2/configuration/timetracking: get: deprecated: false 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)." operationId: "getSelectedTimeTrackingImplementation" parameters: [] responses: "200": content: application/json: example: "{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\"\ ,\"url\":\"/example/config/url\"}" schema: $ref: "#/components/schemas/TimeTrackingProvider" description: "Returned if the request is successful and time tracking is\ \ enabled." "204": content: application/json: schema: {} description: "Returned if the request is successful but time tracking is\ \ disabled." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get selected time tracking provider" tags: - "Time tracking" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.time-tracking:jira" state: "Beta" put: deprecated: false description: "Selects a time tracking provider.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "selectTimeTrackingImplementation" parameters: [] requestBody: content: application/json: example: key: "Jira" schema: $ref: "#/components/schemas/TimeTrackingProvider" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the time tracking provider is not found." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Select time tracking provider" tags: - "Time tracking" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.time-tracking:jira" state: "Beta" /rest/api/2/configuration/timetracking/list: get: deprecated: false 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)." operationId: "getAvailableTimeTrackingImplementations" parameters: [] responses: "200": content: application/json: example: "[{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\"\ ,\"url\":\"/example/config/url\"}]" schema: items: $ref: "#/components/schemas/TimeTrackingProvider" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all time tracking providers" tags: - "Time tracking" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.time-tracking:jira" state: "Beta" /rest/api/2/configuration/timetracking/options: get: deprecated: false 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)." operationId: "getSharedTimeTrackingConfiguration" parameters: [] responses: "200": content: application/json: example: "{\"defaultUnit\":\"hour\",\"timeFormat\":\"pretty\",\"workingDaysPerWeek\"\ :5.5,\"workingHoursPerDay\":7.6}" schema: $ref: "#/components/schemas/TimeTrackingConfiguration" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get time tracking settings" tags: - "Time tracking" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.time-tracking:jira" state: "Beta" put: deprecated: false description: "Sets the time tracking settings.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "setSharedTimeTrackingConfiguration" parameters: [] requestBody: content: application/json: example: defaultUnit: "hour" timeFormat: "pretty" workingDaysPerWeek: 5.5 workingHoursPerDay: 7.6 schema: $ref: "#/components/schemas/TimeTrackingConfiguration" required: true responses: "200": content: application/json: example: "{\"defaultUnit\":\"hour\",\"timeFormat\":\"pretty\",\"workingDaysPerWeek\"\ :5.5,\"workingHoursPerDay\":7.6}" schema: $ref: "#/components/schemas/TimeTrackingConfiguration" description: "Returned if the request is successful." "400": description: "Returned if the request object is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set time tracking settings" tags: - "Time tracking" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.time-tracking:jira" - "read:issue.time-tracking:jira" state: "Beta" /rest/api/2/customFieldOption/{id}: get: deprecated: false 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." operationId: "getCustomFieldOption" parameters: - description: "The ID of the custom field option." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/2/customFieldOption/10000\"\ ,\"value\":\"To Do\"}" schema: $ref: "#/components/schemas/CustomFieldOption" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the custom field option is not found.\n\ \ * the user does not have permission to view the custom field." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get custom field option" tags: - "Issue custom field options" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:field.option:jira" state: "Beta" /rest/api/2/dashboard: get: deprecated: false 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." operationId: "getAllDashboards" parameters: - 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." in: "query" name: "filter" schema: enum: - "my" - "favourite" type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 20 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"dashboards\":[{\"id\":\"10000\",\"isFavourite\":false,\"\ name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\"\ ,\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"\ },{\"id\":\"20000\",\"isFavourite\":true,\"name\":\"Build Engineering\"\ ,\"owner\":{\"key\":\"Mia\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"name\":\"mia\",\"displayName\":\"Mia Krystof\",\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ }},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/20000\"\ ,\"sharePermissions\":[{\"group\":{\"name\":\"administrators\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=administrators\"\ },\"id\":10105,\"type\":\"group\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000\"\ }],\"maxResults\":10,\"next\":\"https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=10\"\ ,\"prev\":\"https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=0\"\ ,\"startAt\":10,\"total\":143}" schema: $ref: "#/components/schemas/PageOfDashboards" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all dashboards" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" post: deprecated: false description: "Creates a dashboard.\n\n**[Permissions](#permissions) required:**\ \ None." operationId: "createDashboard" parameters: [] requestBody: content: application/json: example: description: "A dashboard to help auditors identify sample of issues\ \ to check." editPermissions: [] name: "Auditors dashboard" sharePermissions: - type: "global" schema: $ref: "#/components/schemas/DashboardDetails" description: "Dashboard details." required: true responses: "200": content: application/json: example: "{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System\ \ Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\"\ ,\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"\ }" schema: $ref: "#/components/schemas/Dashboard" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is not valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Create dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:dashboard:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" x-experimental: true /rest/api/2/dashboard/bulk/edit: put: deprecated: false 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." operationId: "bulkEditDashboards" parameters: [] requestBody: content: application/json: example: action: "changePermission" entityIds: - 10001 - 10002 extendAdminPermissions: true permissionDetails: editPermissions: - group: groupId: "276f955c-63d7-42c8-9520-92d01dca0625" name: "jira-administrators" self: "https://your-domain.atlassian.net/rest/api/~ver~/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625" id: 10010 type: "group" sharePermissions: - id: 10000 type: "global" schema: $ref: "#/components/schemas/BulkEditShareableEntityRequest" description: "The details of dashboards being updated in bulk." required: true responses: "200": content: application/json: example: "{\"action\":\"changePermission\",\"entityErrors\":{\"10002\"\ :{\"errorMessages\":[\"Only owner or editors of the dashboard can\ \ change permissions.\"],\"errors\":{}}}}" schema: $ref: "#/components/schemas/BulkEditShareableEntityResponse" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is not valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Bulk edit dashboards" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:dashboard:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" x-experimental: true /rest/api/2/dashboard/gadgets: get: deprecated: false description: "Gets a list of all available gadgets that can be added to all\ \ dashboards.\n\n**[Permissions](#permissions) required:** None." operationId: "getAllAvailableDashboardGadgets" parameters: [] responses: "200": content: application/json: example: "{\"gadgets\":[{\"moduleKey\":\"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item\"\ ,\"title\":\"Issue statistics\"},{\"uri\":\"rest/gadgets/1.0/g/com.atlassian.streams.streams-jira-plugin:activitystream-gadget/gadgets/activitystream-gadget.xml\"\ ,\"title\":\"Activity Stream\"}]}" schema: $ref: "#/components/schemas/AvailableDashboardGadgetsResponse" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "400 response" "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get available gadgets" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" state: "Beta" x-experimental: true /rest/api/2/dashboard/search: get: deprecated: false 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." operationId: "getDashboardsPaginated" parameters: - description: "String used to perform a case-insensitive partial match with\ \ `name`." in: "query" name: "dashboardName" schema: type: "string" - description: "User account ID used to return dashboards with the matching\ \ `owner.accountId`. This parameter cannot be used with the `owner` parameter." in: "query" name: "accountId" schema: maxLength: 128 type: "string" - 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." in: "query" name: "owner" schema: type: "string" - 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." in: "query" name: "groupname" schema: type: "string" - 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." in: "query" name: "groupId" schema: type: "string" - description: "Project ID used to returns dashboards that are shared with a\ \ project that matches `sharePermissions.project.id`." in: "query" name: "projectId" schema: format: "int64" type: "integer" - 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." in: "query" name: "orderBy" schema: default: "name" enum: - "description" - "-description" - "+description" - "favorite_count" - "-favorite_count" - "+favorite_count" - "id" - "-id" - "+id" - "is_favorite" - "-is_favorite" - "+is_favorite" - "name" - "-name" - "+name" - "owner" - "-owner" - "+owner" type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The status to filter by. It may be active, archived or deleted." in: "query" name: "status" schema: default: "active" enum: - "active" - "archived" - "deleted" type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/search?expand=owner&maxResults=50&startAt=0\"\ ,\"startAt\":0,\"total\":2,\"values\":[{\"description\":\"Testing\ \ program\",\"id\":\"1\",\"isFavourite\":true,\"name\":\"Testing\"\ ,\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\"\ ,\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ }},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/1\"\ ,\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1\"\ },{\"description\":\"Quantum initiative\",\"id\":\"2\",\"isFavourite\"\ :false,\"name\":\"Quantum \",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\"\ ,\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ }},\"popularity\":0,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/2\"\ ,\"sharePermissions\":[{\"type\":\"loggedin\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2\"\ }]}" schema: $ref: "#/components/schemas/PageBeanDashboard" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if:\n\n * `orderBy` is invalid.\n * `expand` includes\ \ an invalid value.\n * `accountId` and `owner` are provided.\n * `groupname`\ \ and `groupId` are provided." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "401 response" security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Search for dashboards" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/dashboard/{dashboardId}/gadget: get: deprecated: false 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." operationId: "getAllGadgets" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: format: "int64" type: "integer" - description: "The list of gadgets module keys. To include multiple module\ \ keys, separate module keys with ampersand: `moduleKey=key:one&moduleKey=key:two`." in: "query" name: "moduleKey" schema: items: default: "" type: "string" type: "array" - description: "The list of gadgets URIs. To include multiple URIs, separate\ \ URIs with ampersand: `uri=/rest/example/uri/1&uri=/rest/example/uri/2`." in: "query" name: "uri" schema: items: default: "" type: "string" type: "array" - description: "The list of gadgets IDs. To include multiple IDs, separate IDs\ \ with ampersand: `gadgetId=10000&gadgetId=10001`." in: "query" name: "gadgetId" schema: items: format: "int64" type: "integer" type: "array" responses: "200": content: application/json: example: "{\"gadgets\":[{\"id\":10001,\"moduleKey\":\"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item\"\ ,\"color\":\"blue\",\"position\":{\"row\":0,\"column\":0},\"title\"\ :\"Issue statistics\"},{\"id\":10002,\"moduleKey\":\"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-graph\"\ ,\"color\":\"red\",\"position\":{\"row\":1,\"column\":0},\"title\"\ :\"Activity stream\"},{\"id\":10003,\"moduleKey\":\"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item\"\ ,\"color\":\"yellow\",\"position\":{\"row\":0,\"column\":1},\"title\"\ :\"Bubble chart\"}]}" schema: $ref: "#/components/schemas/DashboardGadgetResponse" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." "404": content: application/json: example: "{\"errorMessages\":[\"The dashboard you requested either does\ \ not exist or you don't have the required permissions to perform\ \ this action.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get gadgets" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" state: "Beta" x-experimental: true post: deprecated: false description: "Adds a gadget to a dashboard.\n\n**[Permissions](#permissions)\ \ required:** None." operationId: "addGadget" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: color: "blue" ignoreUriAndModuleKeyValidation: false moduleKey: "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item" position: column: 1 row: 0 title: "Issue statistics" schema: $ref: "#/components/schemas/DashboardGadgetSettings" required: true responses: "200": content: application/json: example: "{\"id\":10001,\"moduleKey\":\"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item\"\ ,\"color\":\"blue\",\"position\":{\"row\":0,\"column\":1},\"title\"\ :\"Issue statistics\"}" schema: $ref: "#/components/schemas/DashboardGadget" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Cannot add another gadget. The maximum\ \ number of gadgets the dashboard can hold has been reached.\"],\"\ errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: example: "{\"errorMessages\":[\"The dashboard you requested either does\ \ not exist or you don't have the required permissions to perform\ \ this action.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - "read:jira-work" summary: "Add gadget to dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:dashboard:jira" - "read:dashboard:jira" state: "Beta" x-experimental: true /rest/api/2/dashboard/{dashboardId}/gadget/{gadgetId}: delete: deprecated: false 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." operationId: "removeGadget" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: format: "int64" type: "integer" - description: "The ID of the gadget." in: "path" name: "gadgetId" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: example: "{\"errorMessages\":[\"The dashboard gadget was not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the gadget or the dashboard is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Remove gadget from dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:dashboard:jira" state: "Beta" x-experimental: true put: deprecated: false description: "Changes the title, position, and color of the gadget on a dashboard.\n\ \n**[Permissions](#permissions) required:** None." operationId: "updateGadget" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: format: "int64" type: "integer" - description: "The ID of the gadget." in: "path" name: "gadgetId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: color: "red" position: column: 1 row: 1 title: "My new gadget title" schema: $ref: "#/components/schemas/DashboardGadgetUpdateRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The gadget cannot be placed in the selected\ \ row. The selected row does not exist on the dashboard.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect." "404": content: application/json: example: "{\"errorMessages\":[\"The dashboard you requested either does\ \ not exist or you don't have the required permissions to perform\ \ this action.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the gadget or the dashboard is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Update gadget on dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:dashboard:jira" state: "Beta" x-experimental: true /rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties: get: deprecated: false 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." operationId: "getDashboardItemPropertyKeys" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: type: "string" - description: "The ID of the dashboard item." in: "path" name: "itemId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\"\ }]}" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard or dashboard item is not found,\ \ or the dashboard is not owned by or shared with the user." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get dashboard item property keys" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard.property:jira" state: "Beta" /rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}: delete: deprecated: false 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." operationId: "deleteDashboardItemProperty" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: type: "string" - description: "The ID of the dashboard item." in: "path" name: "itemId" required: true schema: type: "string" - description: "The key of the dashboard item property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the dashboard item property is deleted." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard or dashboard item ID is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user is not the owner of the dashboard." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard item is not found or the dashboard\ \ is not shared with the user." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete dashboard item property" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:dashboard.property:jira" state: "Beta" get: deprecated: false 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\n\ This 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." operationId: "getDashboardItemProperty" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: type: "string" - description: "The ID of the dashboard item." in: "path" name: "itemId" required: true schema: type: "string" - description: "The key of the dashboard item property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\"\ :\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\"\ :\"1m\"}}" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard, the dashboard item, or dashboard\ \ item property is not found, or the dashboard is not owned by or shared\ \ with the user." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get dashboard item property" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard.property:jira" state: "Beta" put: deprecated: false 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\n\ The 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." operationId: "setDashboardItemProperty" parameters: - description: "The ID of the dashboard." in: "path" name: "dashboardId" required: true schema: type: "string" - description: "The ID of the dashboard item." in: "path" name: "itemId" required: true schema: type: "string" - 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." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: example: number: 5 string: "string-value" schema: {} description: "The value of the property. The value has to be a valid, non-empty\ \ [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length\ \ of the property value is 32768 bytes." required: true responses: "200": content: application/json: schema: {} description: "Returned if the dashboard item property is updated." "201": content: application/json: schema: {} description: "Returned if the dashboard item property is created." "400": content: application/json: example: "{\"errorMessages\":[\"The JSON data provided for the property\ \ has too many levels. It must be an object with all keys and values\ \ as strings.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if:\n\n * Request is invalid\n * Or if all of these\ \ conditions are met in the request:\n \n * The dashboard item\ \ has a spec URI and no complete module key\n * The value of propertyKey\ \ is equal to \"config\"\n * The request body contains a JSON object\ \ whose keys and values are not strings." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user is not the owner of the dashboard." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard item is not found or the dashboard\ \ is not shared with the user." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Set dashboard item property" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:dashboard.property:jira" state: "Beta" /rest/api/2/dashboard/{id}: delete: deprecated: false description: "Deletes a dashboard.\n\n**[Permissions](#permissions) required:**\ \ None\n\nThe dashboard to be deleted must be owned by the user." operationId: "deleteDashboard" parameters: - description: "The ID of the dashboard." in: "path" name: "id" required: true schema: type: "string" responses: "204": description: "Returned if the dashboard is deleted." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "400 response" "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:dashboard:jira" state: "Beta" x-experimental: true get: deprecated: false 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." operationId: "getDashboard" parameters: - description: "The ID of the dashboard." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System\ \ Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\"\ ,\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"\ }" schema: $ref: "#/components/schemas/Dashboard" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "400 response" "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the dashboard is not found or the dashboard is\ \ not owned by or shared with the user." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" put: deprecated: false 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." operationId: "updateDashboard" parameters: - description: "The ID of the dashboard to update." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: description: "A dashboard to help auditors identify sample of issues\ \ to check." editPermissions: [] name: "Auditors dashboard" sharePermissions: - type: "global" schema: $ref: "#/components/schemas/DashboardDetails" description: "Replacement dashboard details." required: true responses: "200": content: application/json: example: "{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System\ \ Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\"\ ,\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"\ }" schema: $ref: "#/components/schemas/Dashboard" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is not valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard is not found or the dashboard is\ \ not owned by the user." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Update dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:dashboard:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" x-experimental: true /rest/api/2/dashboard/{id}/copy: post: deprecated: false 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." operationId: "copyDashboard" parameters: - in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: description: "A dashboard to help auditors identify sample of issues\ \ to check." editPermissions: [] name: "Auditors dashboard" sharePermissions: - type: "global" schema: $ref: "#/components/schemas/DashboardDetails" description: "Dashboard details." required: true responses: "200": content: application/json: example: "{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System\ \ Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\"\ ,\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"\ }" schema: $ref: "#/components/schemas/Dashboard" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is not valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the dashboard is not found or the dashboard is\ \ not owned by or shared with the user." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Copy dashboard" tags: - "Dashboards" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:dashboard:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:dashboard:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" x-experimental: true /rest/api/2/data-policy: get: deprecated: false description: "Returns data policy for the workspace." operationId: "getPolicy" parameters: [] responses: "200": content: application/json: example: "{\"anyContentBlocked\":false}" schema: $ref: "#/components/schemas/WorkspaceDataPolicy" description: "Returned if the request is successful" "401": content: application/json: example: "{\"errorMessages\":[\"Only apps can access this resource.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the client is not authorized to make the request." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get data policy for the workspace (EAP)" tags: - "App data policies (EAP)" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/data-policy/project: get: deprecated: false description: "Returns data policies for the projects specified in the request." operationId: "getPolicies" parameters: - description: "A list of project identifiers. This parameter accepts a comma-separated\ \ list." in: "query" name: "ids" schema: description: "A list of up to 50 project identifiers. This parameter accepts\ \ a comma-separated list." type: "string" responses: "200": content: application/json: example: "{\"projectDataPolicies\":[{\"dataPolicy\":{\"anyContentBlocked\"\ :false},\"id\":1000},{\"dataPolicy\":{\"anyContentBlocked\":true},\"\ id\":1001}]}" schema: $ref: "#/components/schemas/ProjectDataPolicies" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Invalid request: some projects are not\ \ available or do not exist.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is not valid or includes invalid or\ \ not-permitted project identifiers." "401": content: application/json: example: "{\"errorMessages\":[\"Only apps can access this resource.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the client is not authorized to make the request." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get data policy for projects (EAP)" tags: - "App data policies (EAP)" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/events: get: deprecated: false description: "Returns all issue events.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "getEvents" parameters: [] responses: "200": content: application/json: example: "[{\"id\":1,\"name\":\"Issue Created\"},{\"id\":2,\"name\"\ :\"Issue Updated\"}]" schema: items: $ref: "#/components/schemas/IssueEvent" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to complete\ \ this request." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get events" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-event:jira" state: "Beta" x-experimental: true /rest/api/2/expression/analyse: post: deprecated: false 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." operationId: "analyseExpression" parameters: - 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." in: "query" name: "check" schema: default: "syntax" enum: - "syntax" - "type" - "complexity" type: "string" requestBody: content: application/json: example: contextVariables: listOfStrings: "List" record: "{ a: Number, b: String }" value: "User" expressions: - "issues.map(issue => issue.properties['property_key'])" schema: $ref: "#/components/schemas/JiraExpressionForAnalysis" description: "The Jira expressions to analyse." required: true responses: "200": content: application/json: example: "{\"results\":[{\"expression\":\"analysed expression\",\"errors\"\ :[{\"line\":1,\"column\":4,\"message\":\"!, -, typeof, (, IDENTIFIER,\ \ null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or {\ \ expected, > encountered.\",\"type\":\"syntax\"},{\"message\":\"\ Jira expression is too long (1040), limit: 1000 characters\",\"type\"\ :\"other\"},{\"message\":\"Jira expression has too many nodes (150),\ \ limit: 100 leaves\",\"type\":\"other\"}],\"valid\":false},{\"expression\"\ :\"issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments:\ \ i.comments})\",\"valid\":true,\"type\":\"List<{idAndKey: [Number,\ \ String], summary: String, comments: List}>\",\"complexity\"\ :{\"expensiveOperations\":\"N\",\"variables\":{\"N\":\"issues\"}}},{\"\ expression\":\"issues.map(i => i.id > '0')\",\"errors\":[{\"expression\"\ :\"i.id > 0\",\"message\":\"Can't compare Number to String.\",\"type\"\ :\"type\"}],\"valid\":false,\"type\":\"TypeError\"}]}" schema: $ref: "#/components/schemas/JiraExpressionsAnalysis" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "400 response" "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "404 response" security: - basicAuth: [] - OAuth2: - "read:jira-work" - "read:jira-user" - {} summary: "Analyse Jira expression" tags: - "Jira expressions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:jira-expressions:jira" state: "Beta" /rest/api/2/expression/eval: post: deprecated: false 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\n\ This 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`)." operationId: "evaluateJiraExpression" parameters: - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: context: board: 10100 custom: config: type: "json" value: userId: "10002" issuesList: - key: "ACJIRA-1471" type: "issue" - id: 100001 type: "issue" myUser: accountId: "100001" type: "user" nullField: type: "json" customerRequest: 1450 issue: key: "ACJIRA-1470" issues: jql: maxResults: 100 query: "project = HSP" startAt: 0 validation: "strict" project: key: "ACJIRA" serviceDesk: 10023 sprint: 10001 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}" schema: $ref: "#/components/schemas/JiraExpressionEvalRequestBean" description: "The Jira expression and the evaluation context." required: true responses: "200": content: application/json: example: "{\"value\":\"The expression's result. This value can be any\ \ JSON, not necessarily a String\",\"meta\":{\"complexity\":{\"steps\"\ :{\"value\":1,\"limit\":10000},\"expensiveOperations\":{\"value\"\ :3,\"limit\":10},\"beans\":{\"value\":0,\"limit\":1000},\"primitiveValues\"\ :{\"value\":1,\"limit\":10000}},\"issues\":{\"jql\":{\"startAt\":0,\"\ maxResults\":1000,\"count\":140,\"totalCount\":140,\"validationWarnings\"\ :[\"There is a problem with the JQL query.\"]}}}}" schema: $ref: "#/components/schemas/JiraExpressionResult" description: "Returned if the evaluation results in a value. The result\ \ is a JSON primitive value, list, or object." "400": content: application/json: example: "{\"errorMessages\":[\"Evaluation failed: \\\"issue['a' + 'b']\\\ \" - Unrecognized property of `issue`: \\\"ab\\\" ('a' + 'b'). Available\ \ properties of type 'Issue' are: 'assignee', 'comments', 'description',\ \ 'id', 'issueType', 'key', 'priority', 'project', 'properties', 'reporter',\ \ 'status', 'summary'\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if:\n\n * the request is invalid, that is:\n \ \ \n * invalid data is provided, such as a request including issue\ \ ID and key.\n * the expression is invalid and can not be parsed.\n\ \ * evaluation fails at runtime. This may happen for various reasons.\ \ For example, accessing a property on a null object (such as the expression\ \ `issue.id` where `issue` is `null`). In this case an error message is\ \ provided." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: example: "{\"errorMessages\":[\"Issue does not exist or you do not have\ \ permission to see it.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if any object provided in the request context is\ \ not found or the user does not have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - "read:jira-user" - {} summary: "Evaluate Jira expression" tags: - "Jira expressions" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:jira-expressions:jira" state: "Beta" /rest/api/2/field: get: deprecated: false 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." operationId: "getFields" parameters: [] responses: "200": content: application/json: example: "[{\"clauseNames\":[\"description\"],\"custom\":false,\"id\"\ :\"description\",\"name\":\"Description\",\"navigable\":true,\"orderable\"\ :true,\"schema\":{\"system\":\"description\",\"type\":\"string\"},\"\ searchable\":true},{\"clauseNames\":[\"summary\"],\"custom\":false,\"\ id\":\"summary\",\"key\":\"summary\",\"name\":\"Summary\",\"navigable\"\ :true,\"orderable\":true,\"schema\":{\"system\":\"summary\",\"type\"\ :\"string\"},\"searchable\":true}]" schema: items: $ref: "#/components/schemas/FieldDetails" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get fields" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" - "read:field-configuration:jira" state: "Beta" post: deprecated: false description: "Creates a custom field.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createCustomField" parameters: [] requestBody: content: application/json: example: description: "Custom field for picking groups" name: "New custom field" searcherKey: "com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher" type: "com.atlassian.jira.plugin.system.customfieldtypes:grouppicker" schema: $ref: "#/components/schemas/CustomFieldDefinitionJsonBean" description: "Definition of the custom field to be created" required: true responses: "201": content: application/json: example: "{\"clauseNames\":[\"cf[10101]\",\"New custom field\"],\"custom\"\ :true,\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"\ name\":\"New custom field\",\"navigable\":true,\"orderable\":true,\"\ schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:project\"\ ,\"customId\":10101,\"type\":\"project\"},\"searchable\":true,\"untranslatedName\"\ :\"New custom field\"}" schema: $ref: "#/components/schemas/FieldDetails" description: "Returned if the custom field is created." "400": description: "Returned if:\n\n * the user does not have permission to create\ \ custom fields.\n * any of the request object properties have invalid\ \ or missing values." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Create custom field" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" - "read:avatar:jira" - "read:field:jira" - "read:project-category:jira" - "read:project:jira" - "read:field-configuration:jira" state: "Beta" /rest/api/2/field/search: get: deprecated: false 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)." operationId: "getFieldsPaginated" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The type of fields to search." in: "query" name: "type" schema: items: default: "" enum: - "custom" - "system" type: "string" type: "array" - description: "The IDs of the custom fields to return or, where `query` is\ \ specified, filter." in: "query" name: "id" schema: items: default: "" type: "string" type: "array" uniqueItems: true - description: "String used to perform a case-insensitive partial match with\ \ field names or descriptions." in: "query" name: "query" schema: type: "string" - 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" in: "query" name: "orderBy" schema: enum: - "contextsCount" - "-contextsCount" - "+contextsCount" - "lastUsed" - "-lastUsed" - "+lastUsed" - "name" - "-name" - "+name" - "screensCount" - "-screensCount" - "+screensCount" - "projectsCount" - "-projectsCount" - "+projectsCount" type: "string" - 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" in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":50,\"startAt\":0,\"total\"\ :2,\"values\":[{\"id\":\"customfield_10000\",\"name\":\"Approvers\"\ ,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker\"\ ,\"customId\":10000,\"items\":\"user\",\"type\":\"array\"},\"description\"\ :\"Contains users needed for approval. This custom field was created\ \ by Jira Service Desk.\",\"key\":\"customfield_10000\",\"isLocked\"\ :true,\"searcherKey\":\"com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher\"\ ,\"screensCount\":2,\"contextsCount\":2,\"lastUsed\":{\"type\":\"\ TRACKED\",\"value\":\"2021-01-28T07:37:40.000+0000\"}},{\"id\":\"\ customfield_10001\",\"name\":\"Change reason\",\"schema\":{\"custom\"\ :\"com.atlassian.jira.plugin.system.customfieldtypes:select\",\"customId\"\ :10001,\"type\":\"option\"},\"description\":\"Choose the reason for\ \ the change request\",\"key\":\"customfield_10001\",\"isLocked\"\ :false,\"searcherKey\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher\"\ ,\"screensCount\":2,\"contextsCount\":2,\"projectsCount\":2,\"lastUsed\"\ :{\"type\":\"NOT_TRACKED\"}}]}" schema: $ref: "#/components/schemas/PageBeanField" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Only custom fields can be queried.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ fields.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get fields paginated" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:field-configuration:jira" state: "Beta" /rest/api/2/field/search/trashed: get: deprecated: false 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)." operationId: "getTrashedFieldsPaginated" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - in: "query" name: "id" schema: items: default: "" type: "string" type: "array" uniqueItems: true - description: "String used to perform a case-insensitive partial match with\ \ field names or descriptions." in: "query" name: "query" schema: type: "string" - in: "query" name: "expand" schema: enum: - "name" - "-name" - "+name" - "trashDate" - "-trashDate" - "+trashDate" - "plannedDeletionDate" - "-plannedDeletionDate" - "+plannedDeletionDate" - "projectsCount" - "-projectsCount" - "+projectsCount" type: "string" - 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" in: "query" name: "orderBy" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":50,\"startAt\":0,\"total\"\ :1,\"values\":[{\"id\":\"customfield_10000\",\"name\":\"Approvers\"\ ,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker\"\ ,\"customId\":10003,\"type\":\"array\"},\"description\":\"Contains\ \ users needed for approval. This custom field was created by Jira\ \ Service Desk.\",\"key\":\"customfield_10003\",\"trashedDate\":\"\ 2022-10-06T07:32:47.000+0000\",\"trashedBy\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":true,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"plannedDeletionDate\":\"2022-10-24T07:32:47.000+0000\"\ }]}" schema: $ref: "#/components/schemas/PageBeanField" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Only custom fields can be queried.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ fields.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get fields in trash paginated" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:field-configuration:jira" - "read:user:jira" state: "Beta" /rest/api/2/field/{fieldId}: put: deprecated: false description: "Updates a custom field.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateCustomField" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" requestBody: content: application/json: example: description: "Select the manager and the corresponding employee." name: "Managers and employees list" searcherKey: "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher" schema: $ref: "#/components/schemas/UpdateCustomFieldDetails" description: "The custom field update details." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"searcherKey is invalid for the field\ \ type.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can edit custom\ \ fields.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the custom field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update custom field" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context: get: deprecated: false 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)." operationId: "getContextsForField" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "Whether to return contexts that apply to all issue types." in: "query" name: "isAnyIssueType" schema: type: "boolean" - description: "Whether to return contexts that apply to all projects." in: "query" name: "isGlobalContext" schema: type: "boolean" - description: "The list of context IDs. To include multiple contexts, separate\ \ IDs with ampersand: `contextId=10000&contextId=10001`." in: "query" name: "contextId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :2,\"values\":[{\"id\":\"10025\",\"name\":\"Bug fields context\",\"\ description\":\"A context used to define the custom field options\ \ for bugs.\",\"isGlobalContext\":true,\"isAnyIssueType\":false},{\"\ id\":\"10026\",\"name\":\"Task fields context\",\"description\":\"\ A context used to define the custom field options for tasks.\",\"\ isGlobalContext\":false,\"isAnyIssueType\":false}]}" schema: $ref: "#/components/schemas/PageBeanCustomFieldContext" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the custom field was not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get custom field contexts" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:custom-field-contextual-configuration:jira" state: "Beta" post: deprecated: false 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)." operationId: "createCustomFieldContext" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" requestBody: content: application/json: example: description: "A context used to define the custom field options for\ \ bugs." issueTypeIds: - "10010" name: "Bug fields context" projectIds: [] schema: $ref: "#/components/schemas/CreateCustomFieldContext" required: true responses: "201": content: application/json: example: "{\"id\":\"10025\",\"name\":\"Bug fields context\",\"description\"\ :\"A context used to define the custom field options for bugs.\",\"\ projectIds\":[],\"issueTypeIds\":[\"10010\"]}" schema: $ref: "#/components/schemas/CreateCustomFieldContext" description: "Returned if the custom field context is created." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the field, project, or issue type is not found." "409": content: application/json: example: "{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least\ \ one of the issue types is a sub-task.\"],\"errors\":{}}" description: "Returned if the issue type is a sub-task, but sub-tasks are\ \ disabled in Jira settings." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create custom field context" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "write:field:jira" - "read:custom-field-contextual-configuration:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/defaultValue: get: deprecated: false 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)." operationId: "getDefaultValues" parameters: - description: "The ID of the custom field, for example `customfield\\_10000`." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The IDs of the contexts." in: "query" name: "contextId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :3,\"values\":[{\"contextId\":\"10100\",\"optionId\":\"10001\"},{\"\ contextId\":\"10101\",\"optionId\":\"10003\"},{\"contextId\":\"10103\"\ }]}" schema: $ref: "#/components/schemas/PageBeanCustomFieldContextDefaultValue" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the custom field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get custom field contexts default values" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field.default-value:jira" state: "Beta" put: deprecated: false 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)." operationId: "setDefaultValues" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" requestBody: content: application/json: example: defaultValues: - contextId: "10100" optionId: "10001" type: "option.single" - contextId: "10101" optionId: "10003" type: "option.single" - contextId: "10103" optionId: "10005" type: "option.single" schema: $ref: "#/components/schemas/CustomFieldContextDefaultValueUpdate" required: true responses: "204": content: application/json: schema: {} description: "Returned if operation is successful." "400": content: application/json: example: "{\"errorMessages\":[\"All default values in the request must\ \ have the same type.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The context was not found.\"],\"errors\"\ :{}}" description: "Returned if the custom field, a context, an option, or a cascading\ \ option is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set custom field contexts default values" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field.default-value:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/issuetypemapping: get: deprecated: false 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)." operationId: "getIssueTypeMappingsForContexts" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context. To include multiple contexts, provide\ \ an ampersand-separated list. For example, `contextId=10001&contextId=10002`." in: "query" name: "contextId" schema: items: format: "int64" type: "integer" type: "array" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :3,\"values\":[{\"contextId\":\"10001\",\"issueTypeId\":\"10010\"\ },{\"contextId\":\"10001\",\"issueTypeId\":\"10011\"},{\"contextId\"\ :\"10002\",\"isAnyIssueType\":true}]}" schema: $ref: "#/components/schemas/PageBeanIssueTypeToContextMapping" description: "Returned if operation is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue types for custom field context" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/mapping: post: deprecated: false 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)." operationId: "getCustomFieldContextsForProjectsAndIssueTypes" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" requestBody: content: application/json: example: mappings: - issueTypeId: "10000" projectId: "10000" - issueTypeId: "10001" projectId: "10000" - issueTypeId: "10002" projectId: "10001" schema: $ref: "#/components/schemas/ProjectIssueTypeMappings" description: "The list of project and issue type mappings." required: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :3,\"values\":[{\"projectId\":\"10000\",\"issueTypeId\":\"10000\"\ ,\"contextId\":\"10000\"},{\"projectId\":\"10000\",\"issueTypeId\"\ :\"10001\",\"contextId\":null},{\"projectId\":\"10001\",\"issueTypeId\"\ :\"10002\",\"contextId\":\"10003\"}]}" schema: $ref: "#/components/schemas/PageBeanContextForProjectAndIssueType" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Duplicate project and issue type mappings\ \ cannot be provided.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"These projects were not found: 10005.\"\ ],\"errors\":{}}" description: "Returned if the custom field, project, or issue type is not\ \ found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get custom field contexts for projects and issue types" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/projectmapping: get: deprecated: false 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)." operationId: "getProjectContextMapping" parameters: - description: "The ID of the custom field, for example `customfield\\_10000`." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The list of context IDs. To include multiple context, separate\ \ IDs with ampersand: `contextId=10000&contextId=10001`." in: "query" name: "contextId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :2,\"values\":[{\"contextId\":\"10025\",\"projectId\":\"10001\"},{\"\ contextId\":\"10026\",\"isGlobalContext\":true}]}" schema: $ref: "#/components/schemas/PageBeanCustomFieldContextProjectMapping" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the custom field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get project mappings for custom field context" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}: delete: deprecated: false 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)." operationId: "deleteCustomFieldContext" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the context is deleted." "400": content: application/json: example: "{\"errorMessages\":[\"The contextId has to be provided.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The context was not found.\"],\"errors\"\ :{}}" description: "Returned if the custom field or the context is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete custom field context" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:field:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateCustomFieldContext" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: description: "A context used to define the custom field options for\ \ bugs." name: "Bug fields context" schema: $ref: "#/components/schemas/CustomFieldContextUpdateDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the context is updated." "400": content: application/json: example: "{\"errorMessages\":[\"The contextId has to be provided.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The context was not found.\"],\"errors\"\ :{}}" description: "Returned if the custom field or the context is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update custom field context" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/issuetype: put: deprecated: false 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\n\ If 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)." operationId: "addIssueTypesToContext" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: issueTypeIds: - "10001" - "10005" - "10006" schema: $ref: "#/components/schemas/IssueTypeIds" required: true responses: "204": content: application/json: schema: {} description: "Returned if operation is successful." "400": content: application/json: example: "{\"errorMessages\":[\"These issue types are already associated\ \ with the context: 10001.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The context was not found.\"],\"errors\"\ :{}}" description: "Returned if the custom field, context, or one or more issue\ \ types are not found." "409": content: application/json: example: "{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least\ \ one of the issue types is a sub-task.\"],\"errors\":{}}" description: "Returned if the issue type is a sub-task, but sub-tasks are\ \ disabled in Jira settings." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Add issue types to context" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/issuetype/remove: post: deprecated: false 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)." operationId: "removeIssueTypesFromContext" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: issueTypeIds: - "10001" - "10005" - "10006" schema: $ref: "#/components/schemas/IssueTypeIds" required: true responses: "204": content: application/json: schema: {} description: "Returned if operation is successful." "400": content: application/json: example: "{\"errorMessages\":[\"These issue types are not associated\ \ with the context: 10002.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The context was not found.\"],\"errors\"\ :{}}" description: "Returned if the custom field, context, or one or more issue\ \ types are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove issue types from context" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/option: get: deprecated: false 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)." operationId: "getOptionsForContext" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" - description: "The ID of the option." in: "query" name: "optionId" schema: format: "int64" type: "integer" - description: "Whether only options are returned." in: "query" name: "onlyOptions" schema: default: false type: "boolean" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :4,\"values\":[{\"id\":\"10001\",\"value\":\"New York\"},{\"id\":\"\ 10002\",\"value\":\"Boston\",\"disabled\":true},{\"id\":\"10004\"\ ,\"value\":\"Denver\"},{\"id\":\"10003\",\"value\":\"Brooklyn\",\"\ optionId\":\"10001\"}]}" schema: $ref: "#/components/schemas/PageBeanCustomFieldContextOption" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The custom field doesn't support options.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ custom field options.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the custom field is not found or the context doesn't\ \ match the custom field." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get custom field options (context)" tags: - "Issue custom field options" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" state: "Beta" post: deprecated: false 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)." operationId: "createCustomFieldOption" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: options: - disabled: false value: "Scranton" - disabled: true optionId: "10000" value: "Manhattan" - disabled: false value: "The Electric City" schema: $ref: "#/components/schemas/BulkCustomFieldOptionCreateRequest" required: true responses: "200": content: application/json: example: "{\"options\":[{\"disabled\":false,\"id\":\"10001\",\"value\"\ :\"Scranton\"},{\"disabled\":true,\"id\":\"10002\",\"optionId\":\"\ 10000\",\"value\":\"Manhattan\"},{\"disabled\":false,\"id\":\"10003\"\ ,\"value\":\"The Electric City\"}]}" schema: $ref: "#/components/schemas/CustomFieldCreatedContextOptionsList" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The custom field doesn't support options.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ custom field options.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the custom field is not found or the context doesn't\ \ match the custom field." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create custom field options (context)" tags: - "Issue custom field options" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" - "write:field.option:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateCustomFieldOption" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: options: - disabled: false id: "10001" value: "Scranton" - disabled: true id: "10002" value: "Manhattan" - disabled: false id: "10003" value: "The Electric City" schema: $ref: "#/components/schemas/BulkCustomFieldOptionUpdateRequest" required: true responses: "200": content: application/json: example: "{\"options\":[{\"disabled\":false,\"id\":\"10001\",\"value\"\ :\"Scranton\"},{\"disabled\":true,\"id\":\"10002\",\"value\":\"Manhattan\"\ },{\"disabled\":false,\"id\":\"10003\",\"value\":\"The Electric City\"\ }]}" schema: $ref: "#/components/schemas/CustomFieldUpdatedContextOptionsList" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The custom field doesn't support options.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ custom field options.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the field, context, or one or more options is\ \ not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update custom field options (context)" tags: - "Issue custom field options" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" - "write:field.option:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/option/move: put: deprecated: false 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)." operationId: "reorderCustomFieldOptions" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: customFieldOptionIds: - "10001" - "10002" position: "First" schema: $ref: "#/components/schemas/OrderOfCustomFieldOptions" required: true responses: "204": content: application/json: schema: {} description: "Returned if options are reordered." "400": content: application/json: example: "{\"errorMessages\":[\"'after' and 'position' were provided.\ \ Only 'after' or 'position' can be specified.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ custom field options.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the field, the context, or one or more of the\ \ options is not found.." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Reorder custom field options (context)" tags: - "Issue custom field options" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field.option:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/option/{optionId}: delete: deprecated: false 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)." operationId: "deleteCustomFieldOption" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context from which an option should be deleted." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" - description: "The ID of the option to delete." in: "path" name: "optionId" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the option is deleted." "400": content: application/json: example: "{\"errorMessages\":[\"The custom field doesn't support options.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ custom field options.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The custom field was not found.\"],\"\ errors\":{}}" description: "Returned if the field, the context, or the option is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete custom field options (context)" tags: - "Issue custom field options" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:field.option:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/option/{optionId}/issue: delete: deprecated: false 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)." operationId: "replaceCustomFieldOption" parameters: - description: "The ID of the option that will replace the currently selected\ \ option." in: "query" name: "replaceWith" schema: format: "int64" type: "integer" - description: "A JQL query that specifies the issues to be updated. For example,\ \ *project=10000*." in: "query" name: "jql" schema: type: "string" - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the option to be deselected." in: "path" name: "optionId" required: true schema: format: "int64" type: "integer" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" responses: "303": content: application/json: example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/2/task/1\"\ ,\"id\":\"1\",\"description\":\"Remove option 1 from issues matched\ \ by '*', and replace with option 3\",\"status\":\"COMPLETE\",\"result\"\ :{\"errors\":{\"errorMessages\":[\"Option 2 cannot be set on issue\ \ MKY-5 as it is not in the correct scope\"],\"errors\":{},\"httpStatusCode\"\ :{\"empty\":false,\"present\":true}},\"modifiedIssues\":[10001,10010],\"\ unmodifiedIssues\":[10005]},\"elapsedRuntime\":42}" schema: $ref: "#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult" description: "Returned if the long-running task to deselect the option is\ \ started." "400": description: "Returned if the request is not valid." "403": content: application/json: example: "{\"errorMessages\":[\"Connect and Forge app users with Administer\ \ Jira global permission can override screen security.\"],\"errors\"\ :{}}" description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field is not found or does not support options,\ \ or the options to be replaced are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Replace custom field options" tags: - "Issue custom field options" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" - "write:field.option:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/project: put: deprecated: false 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)." operationId: "assignProjectsToCustomFieldContext" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: projectIds: - "10001" - "10005" - "10006" schema: $ref: "#/components/schemas/ProjectIds" required: true responses: "204": content: application/json: schema: {} description: "Returned if operation is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The projectIds must not contain duplicates.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The context was not found.\"],\"errors\"\ :{}}" description: "Returned if the custom field, context, or project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Assign custom field context to projects" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/context/{contextId}/project/remove: post: deprecated: false 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)." operationId: "removeCustomFieldContextFromProjects" parameters: - description: "The ID of the custom field." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The ID of the context." in: "path" name: "contextId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: projectIds: - "10001" - "10005" - "10006" schema: $ref: "#/components/schemas/ProjectIds" required: true responses: "204": content: application/json: schema: {} description: "Returned if the custom field context is removed from the projects." "400": content: application/json: example: "{\"errorMessages\":[\"The projectIds must not contain duplicates.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ custom field contexts.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The context was not found.\"],\"errors\"\ :{}}" description: "Returned if the custom field, context, or one or more projects\ \ are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove custom field context from projects" tags: - "Issue custom field contexts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" state: "Beta" /rest/api/2/field/{fieldId}/contexts: get: deprecated: true 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)." operationId: "getContextsForFieldDeprecated" parameters: - description: "The ID of the field to return contexts for." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 20 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":1,\"startAt\":0,\"total\"\ :5,\"values\":[{\"id\":10001,\"name\":\"Default Context\"}]}" schema: $ref: "#/components/schemas/PageBeanContext" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Get contexts for a field" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/field/{fieldId}/screens: get: deprecated: false 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)." operationId: "getScreensForField" parameters: - description: "The ID of the field to return screens for." in: "path" name: "fieldId" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":1,\"startAt\":0,\"total\"\ :5,\"values\":[{\"id\":10001,\"name\":\"Default Screen\",\"description\"\ :\"Provides for the update of all system fields.\",\"tab\":{\"id\"\ :10000,\"name\":\"Fields Tab\"}}]}" schema: $ref: "#/components/schemas/PageBeanScreenWithTab" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Get screens for a field" tags: - "Screens" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screen:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" - "read:screen-tab:jira" state: "Beta" /rest/api/2/field/{fieldKey}/option: get: deprecated: false 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." operationId: "getAllIssueFieldOptions" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":1,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option?startAt=1&maxResults=1\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option?startAt=0&maxResults=1\"\ ,\"startAt\":0,\"total\":10,\"values\":[{\"id\":1,\"value\":\"Team\ \ 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\"\ :\"lname@example.com\"},\"members\":42,\"description\":\"The team's\ \ description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\"\ :{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"\ ]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"\ attributes\":[]}}]}" schema: $ref: "#/components/schemas/PageBeanIssueFieldOption" description: "Returned if the request is successful." "400": description: "Returned if the field is not found or does not support options." "403": description: "Returned if the request is not authenticated as a Jira administrator\ \ or the app that provided the field." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all issue field options" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" state: "Beta" post: deprecated: false 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." operationId: "createIssueFieldOption" parameters: - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" requestBody: content: application/json: example: config: attributes: [] scope: global: {} projects: [] projects2: - attributes: - "notSelectable" id: 1001 - attributes: - "notSelectable" id: 1002 properties: description: "The team's description" founded: "2016-06-06" leader: email: "lname@example.com" name: "Leader Name" members: 42 value: "Team 1" schema: $ref: "#/components/schemas/IssueFieldOptionCreateBean" required: true responses: "200": content: application/json: example: "{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\"\ :{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\"\ :42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"\ },\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"\ attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"\ notSelectable\"]}],\"global\":{}},\"attributes\":[]}}" schema: $ref: "#/components/schemas/IssueFieldOption" description: "Returned if the request is successful." "400": description: "Returned if the option is invalid." "403": description: "Returned if the request is not authenticated as a Jira administrator\ \ or the app that provided the field." "404": description: "Returned if the field is not found or does not support options." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create issue field option" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field.option:jira" state: "Beta" /rest/api/2/field/{fieldKey}/option/suggestions/edit: get: deprecated: false 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." operationId: "getSelectableIssueFieldOptions" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "Filters the results to options that are only available in the\ \ specified project." in: "query" name: "projectId" schema: format: "int64" type: "integer" - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":1,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=1&maxResults=1\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=0&maxResults=1\"\ ,\"startAt\":0,\"total\":10,\"values\":[{\"id\":1,\"value\":\"Team\ \ 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\"\ :\"lname@example.com\"},\"members\":42,\"description\":\"The team's\ \ description\",\"founded\":\"2016-06-06\"}}]}" schema: $ref: "#/components/schemas/PageBeanIssueFieldOption" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the field is not found or does not support options." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get selectable issue field options" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" state: "Beta" /rest/api/2/field/{fieldKey}/option/suggestions/search: get: deprecated: false 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." operationId: "getVisibleIssueFieldOptions" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "Filters the results to options that are only available in the\ \ specified project." in: "query" name: "projectId" schema: format: "int64" type: "integer" - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":1,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=1&maxResults=1\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=0&maxResults=1\"\ ,\"startAt\":0,\"total\":10,\"values\":[{\"id\":1,\"value\":\"Team\ \ 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\"\ :\"lname@example.com\"},\"members\":42,\"description\":\"The team's\ \ description\",\"founded\":\"2016-06-06\"}}]}" schema: $ref: "#/components/schemas/PageBeanIssueFieldOption" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the field is not found or does not support options." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get visible issue field options" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" state: "Beta" /rest/api/2/field/{fieldKey}/option/{optionId}: delete: deprecated: false 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." operationId: "deleteIssueFieldOption" parameters: - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" - description: "The ID of the option to be deleted." in: "path" name: "optionId" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the field option is deleted." "403": description: "Returned if the request is not authenticated as a Jira administrator\ \ or the app that provided the field." "404": description: "Returned if the field or option is not found." "409": description: "Returned if the option is selected for the field in any issue." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete issue field option" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:field.option:jira" state: "Beta" get: deprecated: false 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." operationId: "getIssueFieldOption" parameters: - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" - description: "The ID of the option to be returned." in: "path" name: "optionId" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\"\ :{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\"\ :42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"\ },\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"\ attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"\ notSelectable\"]}],\"global\":{}},\"attributes\":[]}}" schema: $ref: "#/components/schemas/IssueFieldOption" description: "Returned if the requested option is returned." "400": description: "Returned if the field is not found or does not support options." "403": description: "Returned if the request is not authenticated as a Jira administrator\ \ or the app that provided the field." "404": description: "Returned if the option is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue field option" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field.option:jira" state: "Beta" put: deprecated: false 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." operationId: "updateIssueFieldOption" parameters: - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" - description: "The ID of the option to be updated." in: "path" name: "optionId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: config: attributes: [] scope: global: {} projects: [] projects2: - attributes: - "notSelectable" id: 1001 - attributes: - "notSelectable" id: 1002 id: 1 properties: description: "The team's description" founded: "2016-06-06" leader: email: "lname@example.com" name: "Leader Name" members: 42 value: "Team 1" schema: $ref: "#/components/schemas/IssueFieldOption" required: true responses: "200": content: application/json: example: "{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\"\ :{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\"\ :42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"\ },\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"\ attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"\ notSelectable\"]}],\"global\":{}},\"attributes\":[]}}" schema: $ref: "#/components/schemas/IssueFieldOption" description: "Returned if the option is updated or created." "400": description: "Returned if the option is invalid, or the *ID* in the request\ \ object does not match the *optionId* parameter." "403": description: "Returned if the request is not authenticated as a Jira administrator\ \ or the app that provided the field." "404": description: "Returned if field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update issue field option" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field.option:jira" state: "Beta" /rest/api/2/field/{fieldKey}/option/{optionId}/issue: delete: deprecated: false 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." operationId: "replaceIssueFieldOption" parameters: - description: "The ID of the option that will replace the currently selected\ \ option." in: "query" name: "replaceWith" schema: format: "int64" type: "integer" - description: "A JQL query that specifies the issues to be updated. For example,\ \ *project=10000*." in: "query" name: "jql" schema: type: "string" - description: "Whether screen security is overridden to enable hidden fields\ \ to be edited. Available to Connect and Forge app users with admin permission." in: "query" name: "overrideScreenSecurity" schema: default: false type: "boolean" - 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)." in: "query" name: "overrideEditableFlag" schema: default: false type: "boolean" - 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\"\ `" in: "path" name: "fieldKey" required: true schema: type: "string" - description: "The ID of the option to be deselected." in: "path" name: "optionId" required: true schema: format: "int64" type: "integer" responses: "303": content: application/json: example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/2/task/1\"\ ,\"id\":\"1\",\"description\":\"Remove option 1 from issues matched\ \ by '*', and replace with option 3\",\"status\":\"COMPLETE\",\"result\"\ :{\"errors\":{\"errorMessages\":[\"Option 2 cannot be set on issue\ \ MKY-5 as it is not in the correct scope\"],\"errors\":{},\"httpStatusCode\"\ :{\"empty\":false,\"present\":true}},\"modifiedIssues\":[10001,10010],\"\ unmodifiedIssues\":[10005]},\"elapsedRuntime\":42}" schema: $ref: "#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult" description: "Returned if the long-running task to deselect the option is\ \ started." "400": description: "Returned if the request is not valid." "403": content: application/json: example: "{\"errorMessages\":[\"Connect and Forge app users with Administer\ \ Jira global permission can override screen security.\"],\"errors\"\ :{}}" description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field is not found or does not support options,\ \ or the options to be replaced are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Replace issue field option" tags: - "Issue custom field options (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field.option:jira" - "delete:field.option:jira" state: "Beta" /rest/api/2/field/{id}: delete: deprecated: false 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)." operationId: "deleteCustomField" parameters: - description: "The ID of a custom field." in: "path" name: "id" required: true schema: type: "string" responses: "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if any of these are true:\n\n * The custom field\ \ is locked.\n * The custom field is used in a issue security scheme\ \ or a permission scheme.\n * The custom field ID format is incorrect." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the custom field is not found." "409": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if a task to delete the custom field is running." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete custom field" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:field:jira" state: "Beta" /rest/api/2/field/{id}/restore: post: deprecated: false 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)." operationId: "restoreCustomField" parameters: - description: "The ID of a custom field." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the custom field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Restore custom field from trash" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field:jira" state: "Beta" /rest/api/2/field/{id}/trash: post: deprecated: false 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)." operationId: "trashCustomField" parameters: - description: "The ID of a custom field." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the custom field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Move custom field to trash" tags: - "Issue fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:field:jira" state: "Beta" /rest/api/2/fieldconfiguration: get: deprecated: false 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)." operationId: "getAllFieldConfigurations" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of field configuration IDs. To include multiple IDs,\ \ provide an ampersand-separated list. For example, `id=10000&id=10001`." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "If *true* returns default field configurations only." in: "query" name: "isDefault" schema: default: false type: "boolean" - description: "The query string used to match against field configuration names\ \ and descriptions." in: "query" name: "query" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :2,\"values\":[{\"id\":10000,\"name\":\"Default Field Configuration\"\ ,\"description\":\"The default field configuration description\",\"\ isDefault\":true},{\"id\":10001,\"name\":\"My Field Configuration\"\ ,\"description\":\"My field configuration description\"}]}" schema: $ref: "#/components/schemas/PageBeanFieldConfigurationDetails" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all field configurations" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field-configuration:jira" state: "Beta" post: deprecated: false 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)." operationId: "createFieldConfiguration" parameters: [] requestBody: content: application/json: example: description: "My field configuration description" name: "My Field Configuration" schema: $ref: "#/components/schemas/FieldConfigurationDetails" required: true responses: "200": content: application/json: example: "{\"description\":\"My field configuration description\",\"\ id\":10001,\"name\":\"My Field Configuration\"}" schema: $ref: "#/components/schemas/FieldConfiguration" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create field configuration" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field-configuration:jira" - "write:field-configuration:jira" state: "Beta" /rest/api/2/fieldconfiguration/{id}: delete: deprecated: false 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)." operationId: "deleteFieldConfiguration" parameters: - description: "The ID of the field configuration." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field configuration is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete field configuration" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:field-configuration:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateFieldConfiguration" parameters: - description: "The ID of the field configuration." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: description: "A brand new description" name: "My Modified Field Configuration" schema: $ref: "#/components/schemas/FieldConfigurationDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field configuration is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update field configuration" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field-configuration:jira" state: "Beta" /rest/api/2/fieldconfiguration/{id}/fields: get: deprecated: false 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)." operationId: "getFieldConfigurationItems" parameters: - description: "The ID of the field configuration." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :2,\"values\":[{\"description\":\"For example operating system, software\ \ platform and/or hardware specifications (include as appropriate\ \ for the issue).\",\"id\":\"environment\",\"isHidden\":false,\"isRequired\"\ :false},{\"id\":\"description\",\"isHidden\":false,\"isRequired\"\ :false}]}" schema: $ref: "#/components/schemas/PageBeanFieldConfigurationItem" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field configuration is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get field configuration items" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field-configuration:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateFieldConfigurationItems" parameters: - description: "The ID of the field configuration." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: fieldConfigurationItems: - description: "The new description of this item." id: "customfield_10012" isHidden: false - id: "customfield_10011" isRequired: true - description: "Another new description." id: "customfield_10010" isHidden: false isRequired: false renderer: "wiki-renderer" schema: $ref: "#/components/schemas/FieldConfigurationItemsDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field configuration is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update field configuration items" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field-configuration:jira" state: "Beta" /rest/api/2/fieldconfigurationscheme: get: deprecated: false 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)." operationId: "getAllFieldConfigurationSchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of field configuration scheme IDs. To include multiple\ \ IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":10,\"startAt\":0,\"total\"\ :3,\"values\":[{\"id\":\"10000\",\"name\":\"Field Configuration Scheme\ \ for Bugs\",\"description\":\"This field configuration scheme is\ \ for bugs only.\"},{\"id\":\"10001\",\"name\":\"Field Configuration\ \ Scheme for software related projects\",\"description\":\"We can\ \ use this one for software projects.\"},{\"id\":\"10002\",\"name\"\ :\"Field Configuration Scheme for Epics\",\"description\":\"Use this\ \ one for Epic issue type.\"}]}" schema: $ref: "#/components/schemas/PageBeanFieldConfigurationScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all field configuration schemes" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field-configuration-scheme:jira" state: "Beta" post: deprecated: false 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)." operationId: "createFieldConfigurationScheme" parameters: [] requestBody: content: application/json: example: description: "We can use this one for software projects." name: "Field Configuration Scheme for software related projects" schema: $ref: "#/components/schemas/UpdateFieldConfigurationSchemeDetails" description: "The details of the field configuration scheme." required: true responses: "201": content: application/json: example: "{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for\ \ software related projects\",\"description\":\"We can use this one\ \ for software projects.\"}" schema: $ref: "#/components/schemas/FieldConfigurationScheme" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"A field configuration scheme is using\ \ this name.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ field configurations.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create field configuration scheme" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field-configuration-scheme:jira" - "read:field-configuration-scheme:jira" state: "Beta" /rest/api/2/fieldconfigurationscheme/mapping: get: deprecated: false 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)." operationId: "getFieldConfigurationSchemeMappings" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of field configuration scheme IDs. To include multiple\ \ field configuration schemes separate IDs with ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`." in: "query" name: "fieldConfigurationSchemeId" schema: items: example: 10020 format: "int64" type: "integer" maxItems: 50 minItems: 1 type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :5,\"values\":[{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\"\ :\"10000\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\"\ :\"10020\",\"issueTypeId\":\"10001\",\"fieldConfigurationId\":\"10010\"\ },{\"fieldConfigurationSchemeId\":\"10021\",\"issueTypeId\":\"10002\"\ ,\"fieldConfigurationId\":\"10000\"},{\"fieldConfigurationSchemeId\"\ :\"10022\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"\ 10011\"},{\"fieldConfigurationSchemeId\":\"10023\",\"issueTypeId\"\ :\"default\",\"fieldConfigurationId\":\"10000\"}]}" schema: $ref: "#/components/schemas/PageBeanFieldConfigurationIssueTypeItem" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if no field configuration schemes are found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get field configuration issue type items" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field-configuration-scheme:jira" state: "Beta" /rest/api/2/fieldconfigurationscheme/project: get: deprecated: false 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)." operationId: "getFieldConfigurationSchemeProjectMapping" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of project IDs. To include multiple projects, separate\ \ IDs with ampersand: `projectId=10000&projectId=10001`." in: "query" name: "projectId" required: true schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :5,\"values\":[{\"projectIds\":[\"10\",\"11\"]},{\"fieldConfigurationScheme\"\ :{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for software\ \ related projects\",\"description\":\"We can use this one for software\ \ projects.\"},\"projectIds\":[\"12\",\"13\",\"14\"]}]}" schema: $ref: "#/components/schemas/PageBeanFieldConfigurationSchemeProjects" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get field configuration schemes for projects" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field-configuration-scheme:jira" state: "Beta" put: deprecated: false 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)." operationId: "assignFieldConfigurationSchemeToProject" parameters: [] requestBody: content: application/json: example: fieldConfigurationSchemeId: "10000" projectId: "10000" schema: $ref: "#/components/schemas/FieldConfigurationSchemeProjectAssociation" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Only classic projects can have field\ \ configuration schemes assigned.\"],\"errors\":{}}" description: "Returned if the project is not a classic project." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ field configurations.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The project was not found.\"],\"errors\"\ :{}}" description: "Returned if the project is missing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Assign field configuration scheme to project" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field-configuration-scheme:jira" state: "Beta" /rest/api/2/fieldconfigurationscheme/{id}: delete: deprecated: false 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)." operationId: "deleteFieldConfigurationScheme" parameters: - description: "The ID of the field configuration scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field configuration scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete field configuration scheme" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:field-configuration-scheme:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateFieldConfigurationScheme" parameters: - description: "The ID of the field configuration scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: description: "We can use this one for software projects." name: "Field Configuration Scheme for software related projects" schema: $ref: "#/components/schemas/UpdateFieldConfigurationSchemeDetails" description: "The details of the field configuration scheme." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"A field configuration scheme is using\ \ this name.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ field configurations.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The field configuration scheme was not\ \ found.\"],\"errors\":{}}" description: "Returned if the field configuration scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update field configuration scheme" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field-configuration-scheme:jira" state: "Beta" /rest/api/2/fieldconfigurationscheme/{id}/mapping: put: deprecated: false 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)." operationId: "setFieldConfigurationSchemeMapping" parameters: - description: "The ID of the field configuration scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: mappings: - fieldConfigurationId: "10000" issueTypeId: "default" - fieldConfigurationId: "10002" issueTypeId: "10001" - fieldConfigurationId: "10001" issueTypeId: "10002" schema: $ref: "#/components/schemas/AssociateFieldConfigurationsWithIssueTypesRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field configuration scheme, the field configuration,\ \ or the issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Assign issue types to field configurations" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field-configuration-scheme:jira" - "read:field-configuration-scheme:jira" state: "Beta" /rest/api/2/fieldconfigurationscheme/{id}/mapping/delete: post: deprecated: false 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)." operationId: "removeIssueTypesFromGlobalFieldConfigurationScheme" parameters: - description: "The ID of the field configuration scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: issueTypeIds: - "10000" - "10001" - "10002" schema: $ref: "#/components/schemas/IssueTypeIdsToRemove" description: "The issue type IDs to remove." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The issueTypeIds must not contain duplicates.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is not valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ field configurations.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The field configuration scheme was not\ \ found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the field configuration scheme or the issue types\ \ are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove issue types from field configuration scheme" tags: - "Issue field configurations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:field-configuration-scheme:jira" state: "Beta" /rest/api/2/filter: post: deprecated: false 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." operationId: "createFilter" parameters: - 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]`." in: "query" name: "expand" schema: type: "string" - 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)." in: "query" name: "overrideSharePermissions" schema: default: false type: "boolean" requestBody: content: application/json: example: description: "Lists all open bugs" jql: "type = Bug and resolution is empty" name: "All Open Bugs" schema: $ref: "#/components/schemas/Filter" description: "The filter to create." required: true responses: "200": content: application/json: example: "{\"approximateLastUsed\":null,\"description\":\"Lists all\ \ open bugs\",\"favourite\":true,\"favouritedCount\":0,\"id\":\"10000\"\ ,\"jql\":\"type = Bug and resolution is empty\",\"name\":\"All Open\ \ Bugs\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\"\ :\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":{\"end-index\":0,\"items\"\ :[],\"max-results\":0,\"size\":0,\"start-index\":0},\"viewUrl\":\"\ https://your-domain.atlassian.net/issues/?filter=10000\"}" schema: $ref: "#/components/schemas/Filter" description: "Returned if the request is successful." "400": description: "Returned if the request object is invalid. For example, the\ \ `name` is not unique or the project ID is not specified for a project\ \ role share permission." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Create filter" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:filter:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/filter/defaultShareScope: get: deprecated: false description: "Returns the default sharing settings for new filters and dashboards\ \ for a user.\n\n**[Permissions](#permissions) required:** Permission to access\ \ Jira." operationId: "getDefaultShareScope" parameters: [] responses: "200": content: application/json: example: "{\"scope\":\"GLOBAL\"}" schema: $ref: "#/components/schemas/DefaultShareScope" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get default share scope" tags: - "Filter sharing" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter.default-share-scope:jira" state: "Beta" put: deprecated: false description: "Sets the default sharing for new filters and dashboards for a\ \ user.\n\n**[Permissions](#permissions) required:** Permission to access\ \ Jira." operationId: "setDefaultShareScope" parameters: [] requestBody: content: application/json: example: scope: "GLOBAL" schema: $ref: "#/components/schemas/DefaultShareScope" required: true responses: "200": content: application/json: example: "{\"scope\":\"GLOBAL\"}" schema: $ref: "#/components/schemas/DefaultShareScope" description: "Returned if the request is successful." "400": description: "Returned if an invalid scope is set." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Set default share scope" tags: - "Filter sharing" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:filter.default-share-scope:jira" - "read:filter.default-share-scope:jira" state: "Beta" /rest/api/2/filter/favourite: get: deprecated: false 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." operationId: "getFavouriteFilters" parameters: - 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]`." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "[{\"approximateLastUsed\":\"2023-03-01T13:15:00.000+0000\"\ ,\"description\":\"Lists all open bugs\",\"favourite\":true,\"favouritedCount\"\ :0,\"id\":\"10000\",\"jql\":\"type = Bug and resolution is empty\"\ ,\"name\":\"All Open Bugs\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":{\"end-index\":0,\"items\"\ :[],\"max-results\":0,\"size\":0,\"start-index\":0},\"viewUrl\":\"\ https://your-domain.atlassian.net/issues/?filter=10000\"},{\"approximateLastUsed\"\ :null,\"description\":\"Issues assigned to me\",\"favourite\":true,\"\ favouritedCount\":0,\"id\":\"10010\",\"jql\":\"assignee = currentUser()\ \ and resolution is empty\",\"name\":\"My issues\",\"owner\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"active\"\ :false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\"\ ,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\"\ :10010,\"project\":{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"type\":\"project\"\ }],\"subscriptions\":{\"end-index\":0,\"items\":[],\"max-results\"\ :0,\"size\":0,\"start-index\":0},\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\"\ }]" schema: items: $ref: "#/components/schemas/Filter" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get favorite filters" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:jql:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" state: "Beta" /rest/api/2/filter/my: get: deprecated: false 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\n\ For example, if the user favorites a public filter that is subsequently made\ \ private that filter is not returned by this operation." operationId: "getMyFilters" parameters: - 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]`." in: "query" name: "expand" schema: type: "string" - description: "Include the user's favorite filters in the response." in: "query" name: "includeFavourites" schema: default: false type: "boolean" responses: "200": content: application/json: example: "[{\"approximateLastUsed\":\"2023-03-01T13:15:00.000+0000\"\ ,\"description\":\"Lists all open bugs\",\"favourite\":true,\"favouritedCount\"\ :0,\"id\":\"10000\",\"jql\":\"type = Bug and resolution is empty\"\ ,\"name\":\"All Open Bugs\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":{\"end-index\":0,\"items\"\ :[],\"max-results\":0,\"size\":0,\"start-index\":0},\"viewUrl\":\"\ https://your-domain.atlassian.net/issues/?filter=10000\"},{\"approximateLastUsed\"\ :null,\"description\":\"Issues assigned to me\",\"favourite\":true,\"\ favouritedCount\":0,\"id\":\"10010\",\"jql\":\"assignee = currentUser()\ \ and resolution is empty\",\"name\":\"My issues\",\"owner\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"active\"\ :false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\"\ ,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\"\ :10010,\"project\":{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"type\":\"project\"\ }],\"subscriptions\":{\"end-index\":0,\"items\":[],\"max-results\"\ :0,\"size\":0,\"start-index\":0},\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\"\ }]" schema: items: $ref: "#/components/schemas/Filter" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get my filters" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:jql:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" state: "Beta" /rest/api/2/filter/search: get: deprecated: false 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." operationId: "getFiltersPaginated" parameters: - description: "String used to perform a case-insensitive partial match with\ \ `name`." in: "query" name: "filterName" schema: type: "string" - description: "User account ID used to return filters with the matching `owner.accountId`.\ \ This parameter cannot be used with `owner`." in: "query" name: "accountId" schema: maxLength: 128 minLength: 0 type: "string" - 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`." in: "query" name: "owner" schema: type: "string" - 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." in: "query" name: "groupname" schema: type: "string" - 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." in: "query" name: "groupId" schema: type: "string" - description: "Project ID used to returns filters that are shared with a project\ \ that matches `sharePermissions.project.id`." in: "query" name: "projectId" schema: format: "int64" type: "integer" - 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." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: 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." in: "query" name: "orderBy" schema: default: "name" enum: - "description" - "-description" - "+description" - "favourite_count" - "-favourite_count" - "+favourite_count" - "id" - "-id" - "+id" - "is_favourite" - "-is_favourite" - "+is_favourite" - "name" - "-name" - "+name" - "owner" - "-owner" - "+owner" - "is_shared" - "-is_shared" - "+is_shared" type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" - 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)." in: "query" name: "overrideSharePermissions" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/search?accountId=&maxResults=50&filterName=&orderBy=name&startAt=0&expand=description,owner,jql,searchUrl,viewUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,subscriptions,approximateLastUsed\"\ ,\"startAt\":0,\"total\":2,\"values\":[{\"approximateLastUsed\":\"\ 2023-03-01T13:15:00.000+0000\",\"description\":\"Lists all open bugs\"\ ,\"editPermissions\":[],\"expand\":\"description,owner,jql,searchUrl,viewUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions\"\ ,\"favourite\":false,\"favouritedCount\":0,\"id\":\"10000\",\"jql\"\ :\"type = Bug and resolution is empty\",\"name\":\"All Open Bugs\"\ ,\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":[],\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\"\ },{\"approximateLastUsed\":null,\"description\":\"Issues assigned\ \ to me\",\"editPermissions\":[{\"id\":10010,\"project\":{\"avatarUrls\"\ :{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\"\ },\"deleted\":true,\"deletedBy\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"deletedDate\":\"2022-11-11T13:35:29.000+0000\",\"id\":\"10002\"\ ,\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"MKY\",\"name\":\"Example\",\"\ projectCategory\":{\"description\":\"First Project Category\",\"id\"\ :\"10000\",\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"retentionTillDate\":\"2023-01-10T13:35:29.000+0000\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/project/MKY\",\"simplified\"\ :false,\"style\":\"classic\"},\"role\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"type\":\"project\"},{\"group\":{\"groupId\"\ :\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\":\"jira-administrators\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":10010,\"type\":\"group\"}],\"expand\":\"description,owner,jql,searchUrl,viewUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,approximateLastUsed,subscriptions\"\ ,\"favourite\":true,\"favouritedCount\":123,\"id\":\"10010\",\"jql\"\ :\"assignee = currentUser() and resolution is empty\",\"name\":\"\ My issues\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\"\ ,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\"\ :10010,\"project\":{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"type\":\"project\"\ }],\"subscriptions\":[{\"id\":1,\"user\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":true,\"applicationRoles\"\ :{\"items\":[],\"size\":1},\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"}}],\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\"\ }]}" schema: $ref: "#/components/schemas/PageBeanFilterDetails" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if:\n\n * `owner` and `accountId` are provided.\n\ \ * `expand` includes an invalid value.\n * `orderBy` is invalid.\n\ \ * `id` identifies more than 200 filter IDs." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Search for filters" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:jql:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" state: "Beta" /rest/api/2/filter/{id}: delete: deprecated: false 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)." operationId: "deleteFilter" parameters: - description: "The ID of the filter to delete." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the filter is not found." "401": description: "Returned if the user does not have permission to delete the\ \ filter." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete filter" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:filter:jira" state: "Beta" get: deprecated: false 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." operationId: "getFilter" parameters: - description: "The ID of the filter to return." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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]`." in: "query" name: "expand" schema: type: "string" - 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)." in: "query" name: "overrideSharePermissions" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"approximateLastUsed\":\"2023-03-01T13:15:00.000+0000\"\ ,\"description\":\"Lists all open bugs\",\"favourite\":true,\"favouritedCount\"\ :0,\"id\":\"10000\",\"jql\":\"type = Bug and resolution is empty\"\ ,\"name\":\"All Open Bugs\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":{\"end-index\":0,\"items\"\ :[],\"max-results\":0,\"size\":0,\"start-index\":0},\"viewUrl\":\"\ https://your-domain.atlassian.net/issues/?filter=10000\"}" schema: $ref: "#/components/schemas/Filter" description: "Returned if the request is successful." "400": description: "Returned if the filter is not found or the user does not have\ \ permission to view it." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get filter" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:jql:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" state: "Beta" put: deprecated: false 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." operationId: "updateFilter" parameters: - description: "The ID of the filter to update." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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]`." in: "query" name: "expand" schema: type: "string" - 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)." in: "query" name: "overrideSharePermissions" schema: default: false type: "boolean" requestBody: content: application/json: example: description: "Lists all open bugs" jql: "type = Bug and resolution is empty" name: "All Open Bugs" schema: $ref: "#/components/schemas/Filter" description: "The filter to update." required: true responses: "200": content: application/json: example: "{\"approximateLastUsed\":\"2023-03-01T13:15:00.000+0000\"\ ,\"description\":\"Lists all open bugs\",\"favourite\":true,\"favouritedCount\"\ :0,\"id\":\"10000\",\"jql\":\"type = Bug and resolution is empty\"\ ,\"name\":\"All Open Bugs\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":{\"end-index\":0,\"items\"\ :[],\"max-results\":0,\"size\":0,\"start-index\":0},\"viewUrl\":\"\ https://your-domain.atlassian.net/issues/?filter=10000\"}" schema: $ref: "#/components/schemas/Filter" description: "Returned if the request is successful." "400": description: "Returned if the request object is invalid. For example, the\ \ `name` is not unique or the project ID is not specified for a project\ \ role share permission." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Update filter" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:filter:jira" - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:jql:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" state: "Beta" /rest/api/2/filter/{id}/columns: delete: deprecated: false 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." operationId: "resetColumns" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the filter is not found.\n * the user\ \ does not have permission to view the filter." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Reset columns" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "delete:filter.column:jira" state: "Beta" - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" get: deprecated: false 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." operationId: "getColumns" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"\ Summary\",\"value\":\"summary\"}]" schema: items: $ref: "#/components/schemas/ColumnItem" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the user does not have permission to view the\ \ filter." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if a column configuration is not set for the filter." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get columns" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter.column:jira" state: "Beta" put: deprecated: false 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." operationId: "setColumns" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: '*/*': schema: $ref: "#/components/schemas/ColumnRequestBody" application/json: schema: $ref: "#/components/schemas/ColumnRequestBody" multipart/form-data: schema: $ref: "#/components/schemas/ColumnRequestBody" description: "The IDs of the fields to set as columns. In the form data, specify\ \ each field as `columns=id`, where `id` is the *id* of a field (as seen\ \ in the response for [Get fields](#api-rest-api--field-get)). For\ \ example, `columns=summary`." required: true responses: "200": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if:\n\n * a non-navigable field is set as a column.\n\ \ * the user does not have permission to view the filter." "403": description: "Returned if the requesting user is not an owner of the filter." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Set columns" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:filter.column:jira" state: "Beta" /rest/api/2/filter/{id}/favourite: delete: deprecated: false 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." operationId: "deleteFavouriteForFilter" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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]`." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"approximateLastUsed\":\"2023-03-01T13:15:00.000+0000\"\ ,\"description\":\"Lists all open bugs\",\"favourite\":true,\"favouritedCount\"\ :0,\"id\":\"10000\",\"jql\":\"type = Bug and resolution is empty\"\ ,\"name\":\"All Open Bugs\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":{\"end-index\":0,\"items\"\ :[],\"max-results\":0,\"size\":0,\"start-index\":0},\"viewUrl\":\"\ https://your-domain.atlassian.net/issues/?filter=10000\"}" schema: $ref: "#/components/schemas/Filter" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the filter is not found.\n * the user\ \ does not have permission to view the filter." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Remove filter as favorite" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:filter:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:filter:jira" - "read:group:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-role:jira" - "read:project-version:jira" - "read:project.component:jira" - "read:project:jira" - "read:user:jira" state: "Beta" put: deprecated: false 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." operationId: "setFavouriteForFilter" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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]`." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"approximateLastUsed\":\"2023-03-01T13:15:00.000+0000\"\ ,\"description\":\"Lists all open bugs\",\"favourite\":true,\"favouritedCount\"\ :0,\"id\":\"10000\",\"jql\":\"type = Bug and resolution is empty\"\ ,\"name\":\"All Open Bugs\",\"owner\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\"\ ,\"sharePermissions\":[],\"subscriptions\":{\"end-index\":0,\"items\"\ :[],\"max-results\":0,\"size\":0,\"start-index\":0},\"viewUrl\":\"\ https://your-domain.atlassian.net/issues/?filter=10000\"}" schema: $ref: "#/components/schemas/Filter" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the filter is not found.\n * the user\ \ does not have permission to favorite the filter." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Add filter as favorite" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:filter:jira" - "read:jql:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" state: "Beta" /rest/api/2/filter/{id}/owner: put: deprecated: false 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)." operationId: "changeFilterOwner" parameters: - description: "The ID of the filter to update." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: accountId: "0000-0000-0000-0000" schema: $ref: "#/components/schemas/ChangeFilterOwner" description: "The account ID of the new owner of the filter." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned when:\n\n * The new owner of the filter owns a filter\ \ with the same name.\n * An attempt is made to change owner of the default\ \ filter." "403": description: "Returned if the requesting user is not an owner of the filter\ \ or does not have *Administer Jira* global permission." "404": description: "Returned if the filter or the new owner of the filter is not\ \ found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Change filter owner" tags: - "Filters" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:filter:jira" - "write:filter:jira" state: "Beta" - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" x-experimental: true /rest/api/2/filter/{id}/permission: get: deprecated: false 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." operationId: "getSharePermissions" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"project\"\ :{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"type\":\"project\"\ },{\"id\":10010,\"project\":{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\"\ },\"deleted\":true,\"deletedBy\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"deletedDate\":\"2022-11-11T13:35:29.000+0000\",\"id\":\"10002\"\ ,\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"MKY\",\"name\":\"Example\",\"\ projectCategory\":{\"description\":\"First Project Category\",\"id\"\ :\"10000\",\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"retentionTillDate\":\"2023-01-10T13:35:29.000+0000\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/project/MKY\",\"simplified\"\ :false,\"style\":\"classic\"},\"role\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"type\":\"project\"},{\"group\":{\"groupId\"\ :\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\":\"jira-administrators\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":10010,\"type\":\"group\"}]" schema: items: $ref: "#/components/schemas/SharePermission" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the filter is not found.\n * the user\ \ does not have permission to view the filter." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get share permissions" tags: - "Filter sharing" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-role:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" post: deprecated: false 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." operationId: "addSharePermission" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: groupname: "jira-administrators" rights: 1 type: "group" schema: $ref: "#/components/schemas/SharePermissionInputBean" required: true responses: "201": content: application/json: example: "[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"project\"\ :{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"type\":\"project\"\ },{\"id\":10010,\"project\":{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\"\ },\"deleted\":true,\"deletedBy\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"deletedDate\":\"2022-11-11T13:35:29.000+0000\",\"id\":\"10002\"\ ,\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"MKY\",\"name\":\"Example\",\"\ projectCategory\":{\"description\":\"First Project Category\",\"id\"\ :\"10000\",\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"retentionTillDate\":\"2023-01-10T13:35:29.000+0000\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/project/MKY\",\"simplified\"\ :false,\"style\":\"classic\"},\"role\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"type\":\"project\"},{\"group\":{\"groupId\"\ :\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\":\"jira-administrators\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":10010,\"type\":\"group\"}]" schema: items: $ref: "#/components/schemas/SharePermission" type: "array" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the request object is invalid. For example,\ \ it contains an invalid type, the ID does not match the type, or the\ \ project or group is not found.\n * the user does not own the filter.\n\ \ * the user does not have the required permissions." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the filter is not found.\n * the user\ \ does not have permission to view the filter." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Add share permission" tags: - "Filter sharing" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:filter:jira" - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-role:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/filter/{id}/permission/{permissionId}: delete: deprecated: false description: "Deletes a share permission from a filter.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira and the user must own the filter." operationId: "deleteSharePermission" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the share permission." in: "path" name: "permissionId" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the filter is not found.\n * the user\ \ does not own the filter." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete share permission" tags: - "Filter sharing" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:filter:jira" state: "Beta" get: deprecated: false 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." operationId: "getSharePermission" parameters: - description: "The ID of the filter." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the share permission." in: "path" name: "permissionId" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"id\":10000,\"type\":\"global\"}" schema: $ref: "#/components/schemas/SharePermission" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the filter is not found.\n * the permission\ \ is not found.\n * the user does not have permission to view the filter." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get share permission" tags: - "Filter sharing" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:filter:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type-hierarchy:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/group: delete: deprecated: false 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))." operationId: "removeGroup" parameters: - in: "query" name: "groupname" schema: type: "string" - description: "The ID of the group. This parameter cannot be used with the\ \ `groupname` parameter." in: "query" name: "groupId" schema: type: "string" x-showInExample: "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." in: "query" name: "swapGroup" schema: type: "string" - 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." in: "query" name: "swapGroupId" schema: type: "string" responses: "200": description: "Returned if the request is successful." "400": description: "Returned if the group name is not specified." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing from the request." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the group is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove group" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:group:jira" state: "Beta" get: deprecated: true 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)." operationId: "getGroup" parameters: - 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." in: "query" name: "groupname" schema: type: "string" - description: "The ID of the group. This parameter cannot be used with the\ \ `groupName` parameter." in: "query" name: "groupId" schema: type: "string" x-showInExample: "true" - description: "List of fields to expand." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: schema: $ref: "#/components/schemas/Group" description: "Returned if the request is successful." "400": description: "Returned if the group name is not specified." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the calling user does not have the Administer\ \ Jira global permission." "404": description: "Returned if the group is not found." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Get group" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" post: deprecated: false 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))." operationId: "createGroup" parameters: [] requestBody: content: application/json: example: name: "power-users" schema: $ref: "#/components/schemas/AddGroupBean" description: "The name of the group." required: true responses: "201": content: application/json: example: "{\"expand\":\"users\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"power-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"users\":{\"end-index\":0,\"items\":[{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }],\"max-results\":50,\"size\":1,\"start-index\":0}}" schema: $ref: "#/components/schemas/Group" description: "Returned if the request is successful." "400": description: "Returned if group name is not specified or the group name\ \ is in use." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create group" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:user:jira" - "write:group:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/group/bulk: get: deprecated: false 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)." operationId: "bulkGetGroups" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The ID of a group. To specify multiple IDs, pass multiple `groupId`\ \ parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`." in: "query" name: "groupId" schema: example: "3571b9a7-348f-414a-9087-8e1ea03a7df8" items: default: "" example: "3571b9a7-348f-414a-9087-8e1ea03a7df8" type: "string" type: "array" uniqueItems: true x-showInExample: "true" - description: "The name of a group. To specify multiple names, pass multiple\ \ `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`." in: "query" name: "groupName" schema: items: default: "" type: "string" type: "array" uniqueItems: true - description: "The access level of a group. Valid values: 'site-admin', 'admin',\ \ 'user'." in: "query" name: "accessType" schema: type: "string" - description: "The application key of the product user groups to search for.\ \ Valid values: 'jira-servicedesk', 'jira-software', 'jira-product-discovery',\ \ 'jira-core'." in: "query" name: "applicationKey" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":10,\"startAt\":0,\"total\"\ :2,\"values\":[{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"jdog-developers\"},{\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"\ ,\"name\":\"juvenal-bot\"}]}" schema: $ref: "#/components/schemas/PageBeanGroupDetails" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Browse users and groups permission is\ \ required to view groups.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "500": content: application/json: example: "{\"errorMessages\":[\"Couldn't retrieve groups with the site-admin\ \ accessType.\"],\"errors\":{}}" description: "Returned if the group with the given access level can't be\ \ retrieved." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Bulk get groups" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" state: "Beta" x-experimental: true /rest/api/2/group/member: get: deprecated: false 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)." operationId: "getUsersFromGroup" parameters: - 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." in: "query" name: "groupname" schema: type: "string" - description: "The ID of the group. This parameter cannot be used with the\ \ `groupName` parameter." in: "query" name: "groupId" schema: type: "string" x-showInExample: "true" - description: "Include inactive users." in: "query" name: "includeInactiveUsers" schema: default: false type: "boolean" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":2,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/group/member?groupId=276f955c-63d7-42c8-9520-92d01dca0625&includeInactiveUsers=false&startAt=4&maxResults=2\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/group/member?groupId=276f955c-63d7-42c8-9520-92d01dca0625&includeInactiveUsers=false&startAt=2&maxResults=2\"\ ,\"startAt\":3,\"total\":5,\"values\":[{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":true,\"avatarUrls\":{},\"\ displayName\":\"Mia\",\"emailAddress\":\"mia@example.com\",\"key\"\ :\"\",\"name\":\"\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},{\"accountId\":\"5b10a0effa615349cb016cd8\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{},\"\ displayName\":\"Will\",\"emailAddress\":\"will@example.com\",\"key\"\ :\"\",\"name\":\"\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a0effa615349cb016cd8\"\ ,\"timeZone\":\"Australia/Sydney\"}]}" schema: $ref: "#/components/schemas/PageBeanUserDetails" description: "Returned if the request is successful." "400": description: "Returned if the group name is not specified." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the calling user does not have the Administer\ \ Jira global permission." "404": description: "Returned if the group is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get users from group" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/group/user: delete: deprecated: false 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))." operationId: "removeUserFromGroup" parameters: - 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." in: "query" name: "groupname" schema: type: "string" - description: "The ID of the group. This parameter cannot be used with the\ \ `groupName` parameter." in: "query" name: "groupId" schema: type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" required: true schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "true" responses: "200": description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `groupName` is missing.\n * `accountId`\ \ is missing." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing from the request." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the group or user are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove user from group" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:group:jira" state: "Beta" post: deprecated: false 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))." operationId: "addUserToGroup" parameters: - 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." in: "query" name: "groupname" schema: type: "string" - description: "The ID of the group. This parameter cannot be used with the\ \ `groupName` parameter." in: "query" name: "groupId" schema: type: "string" x-showInExample: "true" requestBody: content: application/json: example: accountId: "5b10ac8d82e05b22cc7d4ef5" schema: $ref: "#/components/schemas/UpdateUserToGroupBean" description: "The user to add to the group." required: true responses: "201": content: application/json: schema: $ref: "#/components/schemas/Group" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `groupname` is not provided.\n * `accountId`\ \ is missing." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing from the request." "403": description: "Returned if the calling user does not have the necessary permission." "404": description: "Returned if the group or user are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Add user to group" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:group:jira" - "read:avatar:jira" - "read:group:jira" - "read:user:jira" state: "Beta" /rest/api/2/groups/picker: get: deprecated: false 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." operationId: "findGroups" parameters: - 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)." in: "query" name: "accountId" schema: type: "string" - description: "The string to find in group names." in: "query" name: "query" schema: example: "query" type: "string" - 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." in: "query" name: "exclude" schema: items: type: "string" type: "array" - 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." in: "query" name: "excludeId" schema: items: type: "string" type: "array" - 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`." in: "query" name: "maxResults" schema: format: "int32" type: "integer" - description: "Whether the search for groups should be case insensitive." in: "query" name: "caseInsensitive" schema: default: false type: "boolean" - 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." in: "query" name: "userName" schema: type: "string" responses: "200": content: application/json: example: "{\"groups\":[{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"html\":\"jdog-developers\",\"name\":\"jdog-developers\"\ },{\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\",\"html\":\"\ juvenal-bot\",\"name\":\"juvenal-bot\"}],\"header\":\"Showing\ \ 20 of 25 matching groups\",\"total\":25}" schema: $ref: "#/components/schemas/FoundGroups" description: "Returned if the request is successful." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Find groups" tags: - "Groups" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" state: "Beta" /rest/api/2/groupuserpicker: get: deprecated: false 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)." operationId: "findUsersAndGroups" parameters: - description: "The search string." in: "query" name: "query" required: true schema: type: "string" - description: "The maximum number of items to return in each list." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "Whether the user avatar should be returned. If an invalid value\ \ is provided, the default value is used." in: "query" name: "showAvatar" schema: default: false type: "boolean" - description: "The custom field ID of the field this request is for." in: "query" name: "fieldId" schema: type: "string" - 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." in: "query" name: "projectId" schema: items: type: "string" type: "array" - 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." in: "query" name: "issueTypeId" schema: items: type: "string" type: "array" - description: "The size of the avatar to return. If an invalid value is provided,\ \ the default value is used." in: "query" name: "avatarSize" schema: default: "xsmall" enum: - "xsmall" - "xsmall@2x" - "xsmall@3x" - "small" - "small@2x" - "small@3x" - "medium" - "medium@2x" - "medium@3x" - "large" - "large@2x" - "large@3x" - "xlarge" - "xlarge@2x" - "xlarge@3x" - "xxlarge" - "xxlarge@2x" - "xxlarge@3x" - "xxxlarge" - "xxxlarge@2x" - "xxxlarge@3x" type: "string" - description: "Whether the search for groups should be case insensitive." in: "query" name: "caseInsensitive" schema: default: false type: "boolean" - 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." in: "query" name: "excludeConnectAddons" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"groups\":{\"groups\":[{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"html\":\"jdog-developers\",\"name\":\"jdog-developers\"\ },{\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\",\"html\":\"\ juvenal-bot\",\"name\":\"juvenal-bot\"}],\"header\":\"Showing\ \ 20 of 25 matching groups\",\"total\":25},\"users\":{\"header\":\"\ Showing 20 of 25 matching groups\",\"total\":25,\"users\":[{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"avatarUrl\"\ :\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"displayName\":\"Mia Krystof\",\"html\":\"Mia Krystof\ \ - mia@example.com (mia)\",\"key\"\ :\"mia\",\"name\":\"mia\"}]}}" schema: $ref: "#/components/schemas/FoundUsersAndGroups" description: "Returned if the request is successful." "400": description: "Returned if the query parameter is not provided." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Find users and groups" tags: - "Group and user picker" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:user:jira" state: "Beta" /rest/api/2/instance/license: get: deprecated: false description: "Returns licensing information about the Jira instance.\n\n**[Permissions](#permissions)\ \ required:** None." operationId: "getLicense" parameters: [] responses: "200": content: application/json: example: "{\"applications\":[{\"id\":\"jira-core\",\"plan\":\"PAID\"\ },{\"id\":\"jira-servicedesk\",\"plan\":\"FREE\"},{\"id\":\"jira-software\"\ ,\"plan\":\"PAID\"},{\"id\":\"jira-product-discovery\",\"plan\":\"\ FREE\"}]}" schema: $ref: "#/components/schemas/License" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get license" tags: - "License metrics" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:license:jira" state: "Beta" x-experimental: true /rest/api/2/issue: post: deprecated: false 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\n\ Creating 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." operationId: "createIssue" parameters: - 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." in: "query" name: "updateHistory" schema: default: false type: "boolean" requestBody: content: application/json: example: fields: assignee: id: "5b109f2e9729b51b54dc274d" components: - id: "10000" customfield_10000: "09/Jun/19" customfield_20000: "06/Jul/19 3:25 PM" customfield_30000: - "10000" - "10002" customfield_40000: "Occurs on all orders" customfield_50000: "Could impact day-to-day work." customfield_60000: "jira-software-users" customfield_70000: - "jira-administrators" - "jira-software-users" customfield_80000: value: "red" description: "Order entry fails when selecting supplier." duedate: "2019-03-11" environment: "UAT" fixVersions: - id: "10001" issuetype: id: "10000" labels: - "bugfix" - "blitz_test" parent: key: "PROJ-123" priority: id: "20000" project: id: "10000" reporter: id: "5b10a2844c20165700ede21g" security: id: "10000" summary: "Main order flow broken" timetracking: originalEstimate: "10" remainingEstimate: "5" versions: - id: "10000" update: worklog: - add: started: "2019-07-05T11:05:00.000+0000" timeSpent: "60m" schema: $ref: "#/components/schemas/IssueUpdateDetails" required: true responses: "201": content: application/json: example: "{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10000\"\ ,\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\"\ :[],\"errors\":{}}}}" schema: $ref: "#/components/schemas/CreatedIssue" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Field 'priority' is required\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request:\n\n * is missing required fields.\n\ \ * contains invalid field values.\n * contains fields that cannot be\ \ set for the issue type.\n * is by a user who does not have the necessary\ \ permission.\n * is to create a subtype in a project different that\ \ of the parent issue.\n * is for a subtask when the option to create\ \ subtasks is disabled.\n * is invalid for any other reason." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." "422": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if a configuration problem prevents the creation\ \ of the issue. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364)\ \ *for more details.*" security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Create issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" - "write:comment:jira" - "write:comment.property:jira" - "write:attachment:jira" - "read:issue:jira" state: "Beta" /rest/api/2/issue/archive: post: deprecated: false 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" operationId: "archiveIssuesAsync" parameters: [] requestBody: content: application/json: example: jql: "project = FOO AND updated < -2y" schema: $ref: "#/components/schemas/ArchiveIssueAsyncRequest" description: "A JQL query specifying the issues to archive. Note that subtasks\ \ can only be archived through their parent issues." required: true responses: "202": content: application/json: example: "\"https://your-domain.atlassian.net/rest/api/2/task/1010\"" schema: type: "string" description: "Returns the URL to check the status of the submitted request." "400": content: application/json: example: "{\"errorMessages\":[\"Invalid JQL. Bad request.\"],\"errors\"\ :{}}" description: "Returned if no issues were archived due to a bad request,\ \ for example an invalid JQL query." "401": content: application/json: example: "{\"errorMessages\":[\"User is not logged in.\"],\"errors\"\ :{}}" description: "Returned if no issues were archived because the provided authentication\ \ credentials are either missing or invalid." "403": content: application/json: example: "{\"errorMessages\":[\"Archiving issues is only available for\ \ premium editions of Jira.\"],\"errors\":{}}" description: "Returned if no issues were archived because the user lacks\ \ the required Jira admin or site admin permissions." "412": content: application/json: example: "{\"errorMessages\":[\"An issue archival task is already running\ \ with ID 1010. To start a new one, cancel the task or wait for it\ \ to finish.\"],\"errors\":{}}" description: "Returned if a request to archive issue(s) is already running." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Archive issue(s) by JQL" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" x-experimental: true put: deprecated: false 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" operationId: "archiveIssues" parameters: [] requestBody: content: application/json: example: issueIdsOrKeys: - "PR-1" - "1001" - "PROJECT-2" schema: $ref: "#/components/schemas/IssueArchivalSyncRequest" description: "Contains a list of issue keys or IDs to be archived." required: true responses: "200": content: application/json: example: "{\"errors\":{\"issueIsSubtask\":{\"count\":3,\"issueIdsOrKeys\"\ :[\"ST-1\",\"ST-2\",\"ST-3\"],\"message\":\"Issue is subtask.\"},\"\ issuesInArchivedProjects\":{\"count\":2,\"issueIdsOrKeys\":[\"AR-1\"\ ,\"AR-2\"],\"message\":\"Issue exists in archived project.\"},\"issuesInUnlicensedProjects\"\ :{\"count\":3,\"issueIdsOrKeys\":[\"UL-1\",\"UL-2\",\"UL-3\"],\"message\"\ :\"Issues with these IDs are in unlicensed projects.\"},\"issuesNotFound\"\ :{\"count\":3,\"issueIdsOrKeys\":[\"PR-1\",\"PR-2\",\"PR-3\"],\"message\"\ :\"Issue not found.\"}},\"numberOfIssuesUpdated\":10}" schema: $ref: "#/components/schemas/IssueArchivalSyncResponse" description: "Returned if there is at least one valid issue to archive in\ \ the request. The return message will include the count of archived issues\ \ and subtasks, as well as error details for issues which failed to get\ \ archived." "400": content: application/json: example: "{\"errorMessages\":[\"No valid issue to archive or unarchive.\ \ Bad request.\"],\"errors\":{}}" description: "Returned if none of the issues in the request can be archived.\ \ Possible reasons:\n\n * the issues weren't found\n * the issues are\ \ subtasks\n * the issues belong to unlicensed projects\n * the issues\ \ belong to archived projects" "401": content: application/json: example: "{\"errorMessages\":[\"User is not logged in.\"],\"errors\"\ :{}}" description: "Returned if no issues were archived because the provided authentication\ \ credentials are either missing or invalid." "403": content: application/json: example: "{\"errorMessages\":[\"Only admins can archive or unarchive\ \ issues. Access denied.\"],\"errors\":{}}" description: "Returned if no issues were archived because the user lacks\ \ the required Jira admin or site admin permissions." "412": content: application/json: example: "{\"errorMessages\":[\"The number of issues to archive or unarchive\ \ exceeds the hard limit of 1000. Precondition failed.\"],\"errors\"\ :{}}" description: "Returned if one or more issues were successfully archived,\ \ but the operation was incomplete because the number of issue IDs or\ \ keys provided exceeds 1000." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Archive issue(s) by issue ID/key" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" x-experimental: true /rest/api/2/issue/bulk: post: deprecated: false 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\n\ Creating 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." operationId: "createIssues" parameters: [] requestBody: content: application/json: example: issueUpdates: - fields: assignee: id: "5b109f2e9729b51b54dc274d" components: - id: "10000" customfield_10000: "09/Jun/19" customfield_20000: "06/Jul/19 3:25 PM" customfield_30000: - "10000" - "10002" customfield_40000: "Occurs on all orders" customfield_50000: "Could impact day-to-day work." customfield_60000: "jira-software-users" customfield_70000: - "jira-administrators" - "jira-software-users" customfield_80000: value: "red" description: "Order entry fails when selecting supplier." duedate: "2019-03-11" environment: "UAT" fixVersions: - id: "10001" issuetype: id: "10000" labels: - "bugfix" - "blitz_test" parent: key: "PROJ-123" priority: id: "20000" project: id: "10000" reporter: id: "5b10a2844c20165700ede21g" security: id: "10000" summary: "Main order flow broken" timetracking: originalEstimate: "10" remainingEstimate: "5" versions: - id: "10000" update: worklog: - add: started: "2019-07-05T11:05:00.000+0000" timeSpent: "60m" - fields: assignee: id: "5b109f2e9729b51b54dc274d" components: - id: "10000" customfield_10000: "09/Jun/19" customfield_20000: "06/Jul/19 3:25 PM" customfield_30000: - "10000" - "10002" customfield_40000: "Occurs on all orders" customfield_50000: "Could impact day-to-day work." customfield_60000: "jira-software-users" customfield_70000: - "jira-administrators" - "jira-software-users" customfield_80000: value: "red" description: "Order remains pending after approved." duedate: "2019-04-16" environment: "UAT" fixVersions: - id: "10001" issuetype: id: "10000" labels: - "new_release" parent: id: "10034" priority: id: "20000" project: id: "1000" reporter: id: "5b10a2844c20165700ede21g" security: id: "10000" summary: "Order stuck in pending" timetracking: originalEstimate: "15" remainingEstimate: "5" versions: - id: "10000" update: {} schema: $ref: "#/components/schemas/IssuesUpdateBean" required: true responses: "201": content: application/json: example: "{\"issues\":[{\"id\":\"10000\",\"key\":\"ED-24\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/issue/10000\",\"transition\"\ :{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\"\ :{}}}},{\"id\":\"10001\",\"key\":\"ED-25\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10001\"\ }],\"errors\":[]}" schema: $ref: "#/components/schemas/CreatedIssues" description: "Returned if any of the issue or subtask creation requests\ \ were successful. A request may be unsuccessful when it:\n\n * is missing\ \ required fields.\n * contains invalid field values.\n * contains fields\ \ that cannot be set for the issue type.\n * is by a user who does not\ \ have the necessary permission.\n * is to create a subtype in a project\ \ different that of the parent issue.\n * is for a subtask when the option\ \ to create subtasks is disabled.\n * is invalid for any other reason." "400": content: application/json: example: "{\"issues\":[],\"errors\":[{\"elementErrors\":{\"errorMessages\"\ :[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\"\ ,\"project\":\"Sub-tasks must be created in the same project as the\ \ parent.\"}},\"failedElementNumber\":0,\"status\":400},{\"elementErrors\"\ :{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type\ \ selected is invalid.\",\"project\":\"Sub-tasks must be created in\ \ the same project as the parent.\"}},\"failedElementNumber\":1,\"\ status\":400}]}" schema: $ref: "#/components/schemas/CreatedIssues" description: "Returned if all requests are invalid. Requests may be unsuccessful\ \ when they:\n\n * are missing required fields.\n * contain invalid\ \ field values.\n * contain fields that cannot be set for the issue type.\n\ \ * are by a user who does not have the necessary permission.\n * are\ \ to create a subtype in a project different that of the parent issue.\n\ \ * is for a subtask when the option to create subtasks is disabled.\n\ \ * are invalid for any other reason." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Bulk create issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" - "write:comment:jira" - "write:comment.property:jira" - "write:attachment:jira" - "read:issue:jira" state: "Beta" /rest/api/2/issue/createmeta: get: deprecated: true 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." operationId: "getCreateIssueMeta" parameters: - 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`." in: "query" name: "projectIds" schema: items: type: "string" type: "array" - 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`." in: "query" name: "projectKeys" schema: items: type: "string" type: "array" - 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`." in: "query" name: "issuetypeIds" schema: items: type: "string" type: "array" - 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`." in: "query" name: "issuetypeNames" schema: items: type: "string" type: "array" - 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)." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"projects\":[{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10011\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10011\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?pid=10000&avatarId=10011\"\ },\"id\":\"10000\",\"issuetypes\":[{\"description\":\"An error in\ \ the code\",\"fields\":{\"issuetype\":{\"allowedValues\":[\"set\"\ ],\"autoCompleteUrl\":\"issuetype\",\"hasDefaultValue\":false,\"key\"\ :\"issuetype\",\"name\":\"Issue Type\",\"required\":true}},\"iconUrl\"\ :\"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png\"\ ,\"id\":\"1\",\"name\":\"Bug\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false}],\"key\":\"ED\",\"name\":\"Edison Project\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/project/ED\"\ }]}" schema: $ref: "#/components/schemas/IssueCreateMetadata" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get create issue metadata" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-meta:jira" - "read:avatar:jira" - "read:field-configuration:jira" state: "Beta" x-changes: - announced: "2023-12-11" details: "https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1304" effective: "2024-06-03" type: "removed" /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes: get: deprecated: false 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." operationId: "getCreateIssueMetaIssueTypes" parameters: - description: "The ID or key of the project." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" maximum: 200 type: "integer" responses: "200": content: application/json: example: "{\"issueTypes\":[{\"description\":\"An error in the code\"\ ,\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png\"\ ,\"id\":\"1\",\"name\":\"Bug\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false}],\"maxResults\":1,\"startAt\":0,\"total\":1}" schema: $ref: "#/components/schemas/PageOfCreateMetaIssueTypes" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Parameter 'maxResults' must not exceed\ \ the limit '200'\"],\"errors\":{},\"httpStatusCode\":{\"empty\":false,\"\ present\":true}}" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get create metadata issue types for a project" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-meta:jira" - "read:avatar:jira" - "read:field-configuration:jira" state: "Beta" /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}: get: deprecated: false 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." operationId: "getCreateIssueMetaIssueTypeId" parameters: - description: "The ID or key of the project." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The issuetype ID." in: "path" name: "issueTypeId" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" maximum: 200 type: "integer" responses: "200": content: application/json: example: "{\"fields\":[{\"fieldId\":\"assignee\",\"hasDefaultValue\"\ :false,\"key\":\"assignee\",\"name\":\"Assignee\",\"operations\":[\"\ set\"],\"required\":true}],\"maxResults\":1,\"startAt\":0,\"total\"\ :1}" schema: $ref: "#/components/schemas/PageOfCreateMetaIssueTypeWithField" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Parameter 'maxResults' must not exceed\ \ the limit '200'\"],\"errors\":{},\"httpStatusCode\":{\"empty\":false,\"\ present\":true}}" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get create field metadata for a project and issue type id" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-meta:jira" - "read:avatar:jira" - "read:field-configuration:jira" state: "Beta" /rest/api/2/issue/limit/report: get: deprecated: false 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)." operationId: "getIssueLimitReport" parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/IssueLimitReportRequest" required: true responses: "200": content: application/json: example: "{\"issuesApproachingLimit\":{\"attachment\":{\"15070\":1822,\"\ 15111\":1999},\"comment\":{\"10000\":4997,\"15073\":4999,\"15110\"\ :5000},\"remoteIssueLinks\":{\"15107\":2000},\"worklog\":{\"15101\"\ :4342}},\"issuesBreachingLimit\":{\"attachment\":{\"15057\":2005,\"\ 15116\":2065,\"15117\":3005},\"comment\":{\"15055\":5202},\"issuelinks\"\ :{\"15058\":2120},\"remoteIssueLinks\":{\"15059\":2094},\"worklog\"\ :{\"15056\":5085,\"15169\":120864}},\"limits\":{\"attachment\":2000,\"\ comment\":5000,\"issuelinks\":2000,\"remoteIssueLinks\":2000,\"worklog\"\ :5000}}" schema: $ref: "#/components/schemas/IssueLimitReportResponseBean" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid. Other possible reasons:\n\ \n * the field queried is not supported\n * the threshold is not within\ \ the supported range" "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to complete\ \ this request." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get issue limit report" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:issue:jira" state: "Beta" x-experimental: true /rest/api/2/issue/picker: get: deprecated: false 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." operationId: "getIssuePickerResource" parameters: - description: "A string to match against text fields in the issue such as title,\ \ description, or comments." in: "query" name: "query" schema: example: "query" type: "string" x-showInExample: "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." in: "query" name: "currentJQL" schema: type: "string" - description: "The key of an issue to exclude from search results. For example,\ \ the issue the user is viewing when they perform this query." in: "query" name: "currentIssueKey" schema: type: "string" - description: "The ID of a project that suggested issues must belong to." in: "query" name: "currentProjectId" schema: type: "string" - description: "Indicate whether to include subtasks in the suggestions list." in: "query" name: "showSubTasks" schema: type: "boolean" - description: "When `currentIssueKey` is a subtask, whether to include the\ \ parent issue in the suggestions if it matches the query." in: "query" name: "showSubTaskParent" schema: type: "boolean" responses: "200": content: application/json: schema: $ref: "#/components/schemas/IssuePickerSuggestions" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue picker suggestions" tags: - "Issue search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-details:jira" state: "Beta" /rest/api/2/issue/properties: post: deprecated: false 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." operationId: "bulkSetIssuesPropertiesList" parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/IssueEntityProperties" description: "Issue properties to be set or updated with values." required: true responses: "303": description: "Returned if the operation is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Return if the request is invalid or the user does not have\ \ the necessary permission." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Bulk set issues properties by list" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.property:jira" state: "Beta" /rest/api/2/issue/properties/multi: post: deprecated: false 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." operationId: "bulkSetIssuePropertiesByIssue" parameters: [] requestBody: content: application/json: example: issues: - issueID: 1000 properties: myProperty: owner: "admin" weight: 100 - issueID: 1001 properties: myOtherProperty: cost: 150 transportation: "car" schema: $ref: "#/components/schemas/MultiIssueEntityProperties" description: "Details of the issue properties to be set or updated. Note that\ \ if an issue is not found, it is ignored." required: true responses: "303": description: "Returned if the operation is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Return if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Return if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Bulk set issue properties by issue" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.property:jira" state: "Beta" /rest/api/2/issue/properties/{propertyKey}: delete: deprecated: false 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." operationId: "bulkDeleteIssueProperty" parameters: - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: example: currentValue: "deprecated value" entityIds: - 10100 - 100010 schema: $ref: "#/components/schemas/IssueFilterForBulkPropertyDelete" required: true responses: "303": description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Bulk delete issue property" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue.property:jira" state: "Beta" put: deprecated: false 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." operationId: "bulkSetIssueProperty" parameters: - description: "The key of the property. The maximum length is 255 characters." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: example: filter: currentValue: owner: "admin" weight: 50 entityIds: - 10100 - 100010 hasProperty: true value: owner: "admin" weight: 100 schema: $ref: "#/components/schemas/BulkIssuePropertyUpdateRequest" required: true responses: "303": description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Bulk set issue property" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:jira-expressions:jira" - "write:issue.property:jira" state: "Beta" /rest/api/2/issue/unarchive: put: deprecated: false 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" operationId: "unarchiveIssues" parameters: [] requestBody: content: application/json: example: issueIdsOrKeys: - "PR-1" - "1001" - "PROJECT-2" schema: $ref: "#/components/schemas/IssueArchivalSyncRequest" description: "Contains a list of issue keys or IDs to be unarchived." required: true responses: "200": content: application/json: example: "{\"errors\":{\"issueIsSubtask\":{\"count\":3,\"issueIdsOrKeys\"\ :[\"ST-1\",\"ST-2\",\"ST-3\"],\"message\":\"Issue is subtask.\"},\"\ issuesInArchivedProjects\":{\"count\":2,\"issueIdsOrKeys\":[\"AR-1\"\ ,\"AR-2\"],\"message\":\"Issue exists in archived project.\"},\"issuesNotFound\"\ :{\"count\":3,\"issueIdsOrKeys\":[\"PR-1\",\"PR-2\",\"PR-3\"],\"message\"\ :\"Issue not found.\"}},\"numberOfIssuesUpdated\":10}" schema: $ref: "#/components/schemas/IssueArchivalSyncResponse" description: "Returned if there is at least one valid issue to unarchive\ \ in the request. It will return the count of unarchived issues, which\ \ also includes the count of the subtasks unarchived, and it will show\ \ the detailed errors for those issues which are not unarchived." "400": content: application/json: example: "{\"errorMessages\":[\"No valid issue to archive or unarchive.\ \ Bad request.\"],\"errors\":{}}" description: "Returned if none of the issues in the request are eligible\ \ to be unarchived. Possible reasons:\n\n * the issues weren't found\n\ \ * the issues are subtasks\n * the issues belong to archived projects" "401": content: application/json: example: "{\"errorMessages\":[\"User is not logged in.\"],\"errors\"\ :{}}" description: "Returned if no issues were unarchived because the provided\ \ authentication credentials are either missing or invalid." "403": content: application/json: example: "{\"errorMessages\":[\"Only admins can archive or unarchive\ \ issues. Access denied.\"],\"errors\":{}}" description: "Returned if no issues were unarchived because the user lacks\ \ the required Jira admin or site admin permissions." "412": content: application/json: example: "{\"errorMessages\":[\"The number of issues to archive or unarchive\ \ exceeds the hard limit of 1000. Precondition failed.\"],\"errors\"\ :{}}" description: "Returned if one or more issues were successfully unarchived,\ \ but the operation was incomplete because the number of issue IDs or\ \ keys provided exceeds 1000." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Unarchive issue(s) by issue keys/ID" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" x-experimental: true /rest/api/2/issue/watching: post: deprecated: false 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." operationId: "getIsWatchingIssueBulk" parameters: [] requestBody: content: application/json: example: issueIds: - "10001" - "10002" - "10005" schema: $ref: "#/components/schemas/IssueList" description: "A list of issue IDs." required: true responses: "200": content: application/json: example: "{\"issuesIsWatching\":{\"10001\":true,\"10002\":false,\"10005\"\ :true}}" schema: $ref: "#/components/schemas/BulkIssueIsWatching" description: "Returned if the request is successful" "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get is watching issue bulk" tags: - "Issue watchers" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.watcher:jira" - "read:user:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}: delete: deprecated: false 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." operationId: "deleteIssue" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "Whether the issue's subtasks are deleted when the issue is deleted." in: "query" name: "deleteSubtasks" schema: default: "false" enum: - "true" - "false" type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the issue has subtasks and `deleteSubtasks` is\ \ not set to *true*." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "Returned if the user does not have permission to delete the\ \ issue." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue:jira" state: "Beta" get: deprecated: false 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." operationId: "getIssue" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - 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\n\ This 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." in: "query" name: "fields" schema: items: default: "*all" type: "string" type: "array" - 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." in: "query" name: "fieldsByKeys" schema: default: false type: "boolean" - 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." in: "query" name: "expand" schema: type: "string" - 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`." in: "query" name: "properties" schema: items: default: "null" type: "string" type: "array" - 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." in: "query" name: "updateHistory" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"fields\":{\"watcher\":{\"isWatching\":false,\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\"\ ,\"watchCount\":1,\"watchers\":[{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }]},\"attachment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"content\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10001\"\ ,\"created\":\"2023-06-24T19:24:50.000+0000\",\"filename\":\"debuglog.txt\"\ ,\"id\":10001,\"mimeType\":\"text/plain\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\"\ ,\"size\":2460}],\"sub-tasks\":[{\"id\":\"10000\",\"outwardIssue\"\ :{\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/ED-2\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"Parent\",\"name\":\"\",\"outward\"\ :\"Sub-task\"}}],\"description\":\"Main order flow broken\",\"project\"\ :{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\"\ :\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}],\"issuelinks\":[{\"id\":\"10001\",\"outwardIssue\":{\"fields\"\ :{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/PR-2\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"depends on\",\"name\":\"Dependent\"\ ,\"outward\":\"is depended by\"}},{\"id\":\"10002\",\"inwardIssue\"\ :{\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/PR-3\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"depends on\",\"name\":\"Dependent\"\ ,\"outward\":\"is depended by\"}}],\"worklog\":[{\"author\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"comment\":\"I did some work here.\",\"id\":\"100028\",\"issueId\"\ :\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\"\ ,\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\"\ ,\"timeSpentSeconds\":12000,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"type\":\"\ group\",\"value\":\"jira-developers\"}}],\"updated\":1,\"timetracking\"\ :{\"originalEstimate\":\"10m\",\"originalEstimateSeconds\":600,\"\ remainingEstimate\":\"3m\",\"remainingEstimateSeconds\":200,\"timeSpent\"\ :\"6m\",\"timeSpentSeconds\":400}},\"id\":\"10002\",\"key\":\"ED-1\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\"\ }" schema: $ref: "#/components/schemas/IssueBean" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-meta:jira" - "read:issue-security-level:jira" - "read:issue.vote:jira" - "read:issue.changelog:jira" - "read:avatar:jira" - "read:issue:jira" - "read:status:jira" - "read:user:jira" - "read:field-configuration:jira" state: "Beta" put: deprecated: false 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\n\ Connect 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." operationId: "editIssue" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - 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." in: "query" name: "notifyUsers" schema: default: true type: "boolean" - 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)." in: "query" name: "overrideScreenSecurity" schema: default: false type: "boolean" - 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)." in: "query" name: "overrideEditableFlag" schema: default: false type: "boolean" - 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)." in: "query" name: "returnIssue" schema: default: false type: "boolean" - description: "The Get issue API expand parameter to use in the response if\ \ the `returnIssue` parameter is `true`." in: "query" name: "expand" schema: default: "" type: "string" requestBody: content: application/json: example: fields: customfield_10000: "Investigation underway" customfield_10010: 1 summary: "Completed orders still displaying in pending" historyMetadata: activityDescription: "Complete order processing" actor: avatarUrl: "http://mysystem/avatar/tony.jpg" displayName: "Tony" id: "tony" type: "mysystem-user" url: "http://mysystem/users/tony" cause: id: "myevent" type: "mysystem-event" description: "From the order testing process" extraData: Iteration: "10a" Step: "4" generator: id: "mysystem-1" type: "mysystem-application" type: "myplugin:type" properties: - key: "key1" value: "Order number 10784" - key: "key2" value: "Order number 10923" update: components: - set: "" labels: - add: "triaged" - remove: "blocker" summary: - set: "Bug in business logic" timetracking: - edit: originalEstimate: "1w 1d" remainingEstimate: "4d" schema: $ref: "#/components/schemas/IssueUpdateDetails" required: true responses: "200": content: application/json: schema: {} description: "Returned if the request is successful and the `returnIssue`\ \ parameter is `true`" "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the request body is missing.\n * the\ \ user does not have the necessary permission to edit one or more fields.\n\ \ * the request includes one or more fields that are not found or are\ \ not associated with the issue's edit screen.\n * the request includes\ \ an invalid transition." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user uses `overrideScreenSecurity` or `overrideEditableFlag`\ \ but doesn't have the necessary permission." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." "409": description: "Returned if the issue could not be updated due to a conflicting\ \ update. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364)\ \ *for more details.*" "422": description: "Returned if a configuration problem prevents the issue being\ \ updated. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364)\ \ *for more details.*" security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Edit issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/assignee: put: deprecated: false 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." operationId: "assignIssue" parameters: - description: "The ID or key of the issue to be assigned." in: "path" name: "issueIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: accountId: "5b10ac8d82e05b22cc7d4ef5" schema: $ref: "#/components/schemas/User" description: "The request object with the user that the issue is assigned\ \ to." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the user is not found.\n * `name`, `key`,\ \ or `accountId` is missing.\n * more than one of `name`, `key`, and\ \ `accountId` are provided." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the issue is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Assign issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/attachments: post: deprecated: false 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\n\ Tip: 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." operationId: "addAttachment" parameters: - description: "The ID or key of the issue that attachments are added to." in: "path" name: "issueIdOrKey" required: true schema: type: "string" requestBody: content: multipart/form-data: schema: items: $ref: "#/components/schemas/MultipartFile" type: "array" required: true responses: "200": content: application/json: example: "[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ active\":true,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"content\":\"https://your-domain.atlassian.net/rest/api/2/attachment/content/10000\"\ ,\"created\":1651316514000,\"filename\":\"picture.jpg\",\"id\":\"\ 10001\",\"mimeType\":\"image/jpeg\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10000\"\ ,\"size\":23123,\"thumbnail\":\"https://your-domain.atlassian.net/rest/api/2/attachment/thumbnail/10000\"\ },{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :true,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"content\":\"https://your-domain.atlassian.net/rest/api/2/attachment/content/10001\"\ ,\"created\":1658898511000,\"filename\":\"dbeuglog.txt\",\"mimeType\"\ :\"text/plain\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\"\ ,\"size\":2460}]" schema: items: $ref: "#/components/schemas/Attachment" type: "array" description: "Returned if the request is successful." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if any of the following is true:\n\n * the issue\ \ is not found.\n * the user does not have permission to view the issue." "413": description: "Returned if any of the following is true:\n\n * the attachments\ \ exceed the maximum attachment size for issues.\n * more than 60 files\ \ are requested to be uploaded.\n * the per-issue limit for attachments\ \ has been breached.\n\nSee [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM)\ \ for details." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Add attachment" tags: - "Issue attachments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "write:attachment:jira" - "read:attachment:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/changelog: get: deprecated: false 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." operationId: "getChangeLogs" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":2,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/issue/TT-1/changelog?&startAt=4&maxResults=2\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/TT-1/changelog?startAt=2&maxResults=2\"\ ,\"startAt\":2,\"total\":5,\"values\":[{\"author\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":true,\"avatarUrls\":{\"16x16\"\ :\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\"\ ,\"id\":\"10001\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"\ jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"\ to\":null,\"toString\":\"label-1\"}]},{\"author\":{\"accountId\":\"\ 5b10a2844c20165700ede21g\",\"active\":true,\"avatarUrls\":{\"16x16\"\ :\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\"\ ,\"id\":\"10002\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"\ jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\"\ ,\"to\":null,\"toString\":\"label-1 label-2\"}]}]}" schema: $ref: "#/components/schemas/PageBeanChangelog" description: "Returned if the request is successful." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get changelogs" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-meta:jira" - "read:avatar:jira" - "read:issue.changelog:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/changelog/list: post: deprecated: false 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." operationId: "getChangeLogsByIds" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: changelogIds: - 10001 - 10002 schema: $ref: "#/components/schemas/IssueChangelogIds" required: true responses: "200": content: application/json: example: "{\"histories\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":true,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\"\ ,\"id\":\"10001\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"\ jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"\ to\":null,\"toString\":\"label-1\"}]},{\"author\":{\"accountId\":\"\ 5b10a2844c20165700ede21g\",\"active\":true,\"avatarUrls\":{\"16x16\"\ :\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\"\ ,\"id\":\"10002\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"\ jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\"\ ,\"to\":null,\"toString\":\"label-1 label-2\"}]}],\"maxResults\":2,\"\ startAt\":0,\"total\":2}" schema: $ref: "#/components/schemas/PageOfChangelogs" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "404": description: "Returned if the issue is not found or the user does not have\ \ the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get changelogs by IDs" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-meta:jira" - "read:avatar:jira" - "read:issue.changelog:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/comment: get: deprecated: false 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." operationId: "getComments" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 5000 format: "int32" type: "integer" - description: "[Order](#ordering) the results by a field. Accepts *created*\ \ to sort comments by their created date." in: "query" name: "orderBy" schema: enum: - "created" - "-created" - "+created" type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"comments\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}],\"maxResults\":1,\"startAt\":0,\"total\":1}" schema: $ref: "#/components/schemas/PageOfComments" description: "Returned if the request is successful." "400": description: "Returned if `orderBy` is set to a value other than *created*." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get comments" tags: - "Issue comments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:comment.property:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" post: deprecated: false 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." operationId: "addComment" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: body: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque\ \ eget venenatis elit. Duis eu justo eget augue iaculis fermentum.\ \ Sed semper quam laoreet nisi egestas at posuere augue semper." visibility: identifier: "Administrators" type: "role" value: "Administrators" schema: $ref: "#/components/schemas/Comment" required: true responses: "201": content: application/json: example: "{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}" schema: $ref: "#/components/schemas/Comment" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." "413": description: "Returned if the per-issue limit has been breached for one\ \ of the following fields:\n\n * comments\n * attachments" security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Add comment" tags: - "Issue comments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:comment.property:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:comment:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/comment/{id}: delete: deprecated: false 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." operationId: "deleteComment" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the comment." in: "path" name: "id" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the user does not have permission to delete the\ \ comment." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue or comment is not found or the user\ \ does not have permission to view the issue or comment." "405": description: "Returned if an anonymous call is made to the operation." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete comment" tags: - "Issue comments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:comment:jira" - "delete:comment.property:jira" state: "Beta" get: deprecated: false 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." operationId: "getComment" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the comment." in: "path" name: "id" required: true schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}" schema: $ref: "#/components/schemas/Comment" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue or comment is not found or the user\ \ does not have permission to view the issue or comment." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get comment" tags: - "Issue comments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:comment.property:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" put: deprecated: false 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." operationId: "updateComment" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the comment." in: "path" name: "id" required: true schema: type: "string" - description: "Whether users are notified when a comment is updated." in: "query" name: "notifyUsers" schema: default: true type: "boolean" - 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)." in: "query" name: "overrideEditableFlag" schema: default: false type: "boolean" - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: body: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque\ \ eget venenatis elit. Duis eu justo eget augue iaculis fermentum.\ \ Sed semper quam laoreet nisi egestas at posuere augue semper." visibility: identifier: "Administrators" type: "role" value: "Administrators" schema: $ref: "#/components/schemas/Comment" required: true responses: "200": content: application/json: example: "{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}" schema: $ref: "#/components/schemas/Comment" description: "Returned if the request is successful." "400": description: "Returned if the user does not have permission to edit the\ \ comment or the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue or comment is not found or the user\ \ does not have permission to view the issue or comment." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Update comment" tags: - "Issue comments" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:comment.property:jira" - "read:group:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "write:comment:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/editmeta: get: deprecated: false 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.\n\ 2. 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/).\n\ 9. 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." operationId: "getEditIssueMeta" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - 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)." in: "query" name: "overrideScreenSecurity" schema: default: false type: "boolean" - 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)." in: "query" name: "overrideEditableFlag" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"fields\":{\"summary\":{\"allowedValues\":[\"red\",\"blue\"\ ],\"defaultValue\":\"red\",\"hasDefaultValue\":false,\"key\":\"field_key\"\ ,\"name\":\"My Multi Select\",\"operations\":[\"set\",\"add\"],\"\ required\":false,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\"\ ,\"customId\":10001,\"items\":\"option\",\"type\":\"array\"}}}}" schema: $ref: "#/components/schemas/IssueUpdateMetadata" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user uses an override parameter but doesn't\ \ have permission to do so." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get edit issue metadata" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-meta:jira" - "read:field-configuration:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/notify: post: deprecated: false 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." operationId: "notify" parameters: - description: "ID or key of the issue that the notification is sent for." in: "path" name: "issueIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: htmlBody: "The latest test results for this ticket\ \ are now available." restrict: groupIds: [] groups: - name: "notification-group" permissions: - key: "BROWSE" subject: "Latest test results" textBody: "The latest test results for this ticket are now available." to: assignee: false groupIds: [] groups: - name: "notification-group" reporter: false users: - accountId: "5b10a2844c20165700ede21g" active: false voters: true watchers: true schema: $ref: "#/components/schemas/Notification" description: "The request object for the notification and recipients." required: true responses: "204": content: application/json: schema: {} description: "Returned if the email is queued for sending." "400": description: "Returned if:\n\n * the recipient is the same as the calling\ \ user.\n * the recipient is invalid. For example, the recipient is set\ \ to the assignee, but the issue is unassigned.\n * the request is invalid.\ \ For example, required fields are missing or have invalid values." "403": description: "Returned if:\n\n * outgoing emails are disabled.\n * no\ \ SMTP server is configured." "404": description: "Returned if the issue is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Send notification for issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "send:notification:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/properties: get: deprecated: false 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." operationId: "getIssuePropertyKeys" parameters: - description: "The key or ID of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\"\ }]}" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "404": description: "Returned if the issue is not found or the user does not have\ \ permissions to view the issue." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue property keys" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.property:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}: delete: deprecated: false 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." operationId: "deleteIssueProperty" parameters: - description: "The key or ID of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue or property is not found, or the user\ \ does not have permission to edit the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete issue property" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue.property:jira" state: "Beta" get: deprecated: false 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." operationId: "getIssueProperty" parameters: - description: "The key or ID of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\"\ :\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\"\ :\"1m\"}}" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue or property is not found or the user\ \ does not have permission to see the issue." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue property" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.property:jira" state: "Beta" put: deprecated: false 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." operationId: "setIssueProperty" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The key of the issue property. The maximum length is 255 characters." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: schema: {} description: "The value of the property. The value has to be a valid, non-empty\ \ [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length\ \ of the property value is 32768 bytes." required: true responses: "200": content: application/json: schema: {} description: "Returned if the issue property is updated." "201": content: application/json: schema: {} description: "Returned if the issue property is created." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to edit the\ \ issue." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Set issue property" tags: - "Issue properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.property:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/remotelink: delete: deprecated: false 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." operationId: "deleteRemoteIssueLinkByGlobalId" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: example: "10000" type: "string" x-showInExample: "true" - description: "The global ID of a remote issue link." in: "query" name: "globalId" required: true schema: example: "system=http://www.mycompany.com/support&id=1" type: "string" x-showInExample: "true" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if a global ID isn't provided." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to link issues." "404": description: "Returned if the issue or remote issue link is not found or\ \ the user does not have permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete remote issue link by global ID" tags: - "Issue remote links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue.remote-link:jira" - "write:issue:jira" state: "Beta" get: deprecated: false 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." operationId: "getRemoteIssueLinks" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: example: "10000" type: "string" x-showInExample: "true" - description: "The global ID of the remote issue link." in: "query" name: "globalId" schema: type: "string" responses: "200": content: application/json: example: "[{\"application\":{\"name\":\"My Acme Tracker\",\"type\":\"\ com.acme.tracker\"},\"globalId\":\"system=http://www.mycompany.com/support&id=1\"\ ,\"id\":10000,\"object\":{\"icon\":{\"title\":\"Support Ticket\",\"\ url16x16\":\"http://www.mycompany.com/support/ticket.png\"},\"status\"\ :{\"icon\":{\"link\":\"http://www.mycompany.com/support?id=1&details=closed\"\ ,\"title\":\"Case Closed\",\"url16x16\":\"http://www.mycompany.com/support/resolved.png\"\ },\"resolved\":true},\"summary\":\"Customer support issue\",\"title\"\ :\"TSTSUP-111\",\"url\":\"http://www.mycompany.com/support?id=1\"\ },\"relationship\":\"causes\",\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"\ },{\"application\":{\"name\":\"My Acme Tester\",\"type\":\"com.acme.tester\"\ },\"globalId\":\"system=http://www.anothercompany.com/tester&id=1234\"\ ,\"id\":10001,\"object\":{\"icon\":{\"title\":\"Test Case\",\"url16x16\"\ :\"http://www.anothercompany.com/tester/images/testcase.gif\"},\"\ status\":{\"icon\":{\"link\":\"http://www.anothercompany.com/tester/person?accountId=5b10a2844c20165700ede21g\"\ ,\"title\":\"Tested by Mia Krystof\",\"url16x16\":\"http://www.anothercompany.com/tester/images/person/mia.gif\"\ },\"resolved\":false},\"summary\":\"Test that the submit button saves\ \ the item\",\"title\":\"Test Case #1234\",\"url\":\"http://www.anothercompany.com/tester/testcase/1234\"\ },\"relationship\":\"is tested by\",\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10001\"\ }]" schema: $ref: "#/components/schemas/RemoteIssueLink" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if issue linking is disabled." "404": description: "Returned if the issue or remote issue link is not found or\ \ the user does not have permission to view the issue." "413": description: "Returned if the per-issue limit for remote links has been\ \ breached." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get remote issue links" tags: - "Issue remote links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.remote-link:jira" - "read:status:jira" state: "Beta" post: deprecated: false 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." operationId: "createOrUpdateRemoteIssueLink" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: application: name: "My Acme Tracker" type: "com.acme.tracker" globalId: "system=http://www.mycompany.com/support&id=1" object: icon: title: "Support Ticket" url16x16: "http://www.mycompany.com/support/ticket.png" status: icon: link: "http://www.mycompany.com/support?id=1&details=closed" title: "Case Closed" url16x16: "http://www.mycompany.com/support/resolved.png" resolved: true summary: "Customer support issue" title: "TSTSUP-111" url: "http://www.mycompany.com/support?id=1" relationship: "causes" schema: $ref: "#/components/schemas/RemoteIssueLinkRequest" required: true responses: "200": content: application/json: example: "{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"\ }" schema: $ref: "#/components/schemas/RemoteIssueLinkIdentifies" description: "Returned if the remote issue link is updated." "201": content: application/json: example: "{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"\ }" schema: $ref: "#/components/schemas/RemoteIssueLinkIdentifies" description: "Returned if the remote issue link is created." "400": content: application/json: example: "{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"\ }}" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to link issues." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Create or update remote issue link" tags: - "Issue remote links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" - "write:issue.remote-link:jira" - "read:issue.remote-link:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}: delete: deprecated: false 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." operationId: "deleteRemoteIssueLinkById" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: example: "10000" type: "string" x-showInExample: "true" - description: "The ID of a remote issue link." in: "path" name: "linkId" required: true schema: example: "10000" type: "string" x-showInExample: "true" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the link ID is invalid or the remote issue link\ \ does not belong to the issue." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to link issues." "404": description: "Returned if the issue or remote issue link is not found or\ \ the user does not have permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete remote issue link by ID" tags: - "Issue remote links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue.remote-link:jira" - "write:issue:jira" state: "Beta" get: deprecated: false 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." operationId: "getRemoteIssueLinkById" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the remote issue link." in: "path" name: "linkId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"application\":{\"name\":\"My Acme Tracker\",\"type\":\"\ com.acme.tracker\"},\"globalId\":\"system=http://www.mycompany.com/support&id=1\"\ ,\"id\":10000,\"object\":{\"icon\":{\"title\":\"Support Ticket\",\"\ url16x16\":\"http://www.mycompany.com/support/ticket.png\"},\"status\"\ :{\"icon\":{\"link\":\"http://www.mycompany.com/support?id=1&details=closed\"\ ,\"title\":\"Case Closed\",\"url16x16\":\"http://www.mycompany.com/support/resolved.png\"\ },\"resolved\":true},\"summary\":\"Customer support issue\",\"title\"\ :\"TSTSUP-111\",\"url\":\"http://www.mycompany.com/support?id=1\"\ },\"relationship\":\"causes\",\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"\ }" schema: $ref: "#/components/schemas/RemoteIssueLink" description: "Returned if the request is successful." "400": description: "Returned if the link ID is invalid or the remote issue link\ \ does not belong to the issue." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if issue linking is disabled." "404": description: "Returned if the issue or remote issue link is not found or\ \ the user does not have permission to view the issue." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get remote issue link by ID" tags: - "Issue remote links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.remote-link:jira" - "read:status:jira" state: "Beta" put: deprecated: false 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." operationId: "updateRemoteIssueLink" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: example: "10000" type: "string" x-showInExample: "true" - description: "The ID of the remote issue link." in: "path" name: "linkId" required: true schema: example: "10000" type: "string" x-showInExample: "true" requestBody: content: application/json: example: application: name: "My Acme Tracker" type: "com.acme.tracker" globalId: "system=http://www.mycompany.com/support&id=1" object: icon: title: "Support Ticket" url16x16: "http://www.mycompany.com/support/ticket.png" status: icon: link: "http://www.mycompany.com/support?id=1&details=closed" title: "Case Closed" url16x16: "http://www.mycompany.com/support/resolved.png" resolved: true summary: "Customer support issue" title: "TSTSUP-111" url: "http://www.mycompany.com/support?id=1" relationship: "causes" schema: $ref: "#/components/schemas/RemoteIssueLinkRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"\ }}" description: "Returned if:\n\n * the link ID is invalid.\n * the remote\ \ issue link does not belong to the issue.\n * the request body is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to link issues." "404": description: "Returned if the issue or remote issue link is not found or\ \ the user does not have permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Update remote issue link by ID" tags: - "Issue remote links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" - "write:issue.remote-link:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/transitions: get: deprecated: false 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." operationId: "getTransitions" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - 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)." in: "query" name: "expand" schema: type: "string" - description: "The ID of the transition." in: "query" name: "transitionId" schema: type: "string" - description: "Whether transitions with the condition *Hide From User Condition*\ \ are included in the response." in: "query" name: "skipRemoteOnlyCondition" schema: default: false type: "boolean" - description: "Whether details of transitions that fail a condition are included\ \ in the response" in: "query" name: "includeUnavailableTransitions" schema: default: false type: "boolean" - 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." in: "query" name: "sortByOpsBarAndStatus" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"transitions\":[{\"fields\":{\"summary\":{\"allowedValues\"\ :[\"red\",\"blue\"],\"defaultValue\":\"red\",\"hasDefaultValue\":false,\"\ key\":\"field_key\",\"name\":\"My Multi Select\",\"operations\":[\"\ set\",\"add\"],\"required\":false,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\"\ ,\"customId\":10001,\"items\":\"option\",\"type\":\"array\"}}},\"\ hasScreen\":false,\"id\":\"2\",\"isAvailable\":true,\"isConditional\"\ :false,\"isGlobal\":false,\"isInitial\":false,\"name\":\"Close Issue\"\ ,\"to\":{\"description\":\"The issue is currently being worked on.\"\ ,\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\"\ ,\"id\":\"10000\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\"\ ,\"statusCategory\":{\"colorName\":\"yellow\",\"id\":1,\"key\":\"\ in-flight\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\"\ }}},{\"fields\":{\"summary\":{\"allowedValues\":[\"red\",\"blue\"\ ],\"defaultValue\":\"red\",\"hasDefaultValue\":false,\"key\":\"field_key\"\ ,\"name\":\"My Multi Select\",\"operations\":[\"set\",\"add\"],\"\ required\":false,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\"\ ,\"customId\":10001,\"items\":\"option\",\"type\":\"array\"}},\"colour\"\ :{\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\",\"\ hasDefaultValue\":false,\"key\":\"field_key\",\"name\":\"My Multi\ \ Select\",\"operations\":[\"set\",\"add\"],\"required\":false,\"\ schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\"\ ,\"customId\":10001,\"items\":\"option\",\"type\":\"array\"}}},\"\ hasScreen\":true,\"id\":\"711\",\"name\":\"QA Review\",\"to\":{\"\ description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\"\ ,\"id\":\"5\",\"name\":\"Closed\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\"\ ,\"statusCategory\":{\"colorName\":\"green\",\"id\":9,\"key\":\"completed\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\"\ }}}]}" schema: $ref: "#/components/schemas/Transitions" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get transitions" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.transition:jira" - "read:status:jira" - "read:field-configuration:jira" state: "Beta" post: deprecated: false 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." operationId: "doTransition" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: fields: assignee: name: "Will" resolution: name: "Fixed" historyMetadata: activityDescription: "Complete order processing" actor: avatarUrl: "http://mysystem/avatar/tony.jpg" displayName: "Tony" id: "tony" type: "mysystem-user" url: "http://mysystem/users/tony" cause: id: "myevent" type: "mysystem-event" description: "From the order testing process" extraData: Iteration: "10a" Step: "4" generator: id: "mysystem-1" type: "mysystem-application" type: "myplugin:type" transition: id: "5" update: comment: - add: body: "Bug has been fixed." schema: $ref: "#/components/schemas/IssueUpdateDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if:\n\n * no transition is specified.\n * the user\ \ does not have permission to transition the issue.\n * a field that\ \ isn't included on the transition screen is defined in `fields` or `update`.\n\ \ * a field is specified in both `fields` and `update`.\n * the request\ \ is invalid for any other reason." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." "409": description: "Returned if the issue could not be updated due to a conflicting\ \ update. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364)\ \ *for more details.*" "413": description: "Returned if a per-issue limit has been breached for one of\ \ the following fields:\n\n * comments\n * worklogs\n * attachments\n\ \ * issue links\n * remote issue links" "422": description: "Returned if a configuration problem prevents the creation\ \ of the issue. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364)\ \ *for more details.*" security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Transition issue" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" - "write:issue.property:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/votes: delete: deprecated: false 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." operationId: "removeVote" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * voting is disabled.\n * the user has\ \ not voted on the issue.\n * the issue is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete vote" tags: - "Issue votes" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.vote:jira" state: "Beta" get: deprecated: false 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." operationId: "getVotes" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"hasVoted\":true,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/votes\"\ ,\"voters\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }],\"votes\":24}" schema: $ref: "#/components/schemas/Votes" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * voting is disabled.\n * the user does\ \ not have permission to view the issue.\n * the issue is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get votes" tags: - "Issue votes" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.vote:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" post: deprecated: false 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." operationId: "addVote" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * voting is disabled.\n * the issue is\ \ not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Add vote" tags: - "Issue votes" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.vote:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/watchers: delete: deprecated: false 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." operationId: "removeWatcher" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - 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." in: "query" name: "username" schema: type: "string" - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.\ \ Required." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "true" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if `accountId` is not supplied." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the permission to manage\ \ the watcher list." "404": description: "Returned if the issue or the user is not found or the user\ \ does not have permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete watcher" tags: - "Issue watchers" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.watcher:jira" state: "Beta" get: deprecated: false 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." operationId: "getIssueWatchers" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"isWatching\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\"\ ,\"watchCount\":1,\"watchers\":[{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }]}" schema: $ref: "#/components/schemas/Watchers" description: "Returned if the request is successful" "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue watchers" tags: - "Issue watchers" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue.watcher:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" post: deprecated: false 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." operationId: "addWatcher" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" requestBody: content: application/json: schema: type: "string" description: "The account ID of the user. Note that username cannot be used\ \ due to privacy changes." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the permission to manage\ \ the watcher list." "404": description: "Returned if the issue or the user is not found or the user\ \ does not have permission to view the issue." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Add watcher" tags: - "Issue watchers" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue.watcher:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/worklog: get: deprecated: false 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." operationId: "getIssueWorklog" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 5000 format: "int32" type: "integer" - description: "The worklog start date and time, as a UNIX timestamp in milliseconds,\ \ after which worklogs are returned." in: "query" name: "startedAfter" schema: format: "int64" type: "integer" - description: "The worklog start date and time, as a UNIX timestamp in milliseconds,\ \ before which worklogs are returned." in: "query" name: "startedBefore" schema: format: "int64" type: "integer" - description: "Use [expand](#expansion) to include additional information about\ \ worklogs in the response. This parameter accepts`properties`, which returns\ \ worklog properties." in: "query" name: "expand" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"maxResults\":1,\"startAt\":0,\"total\":1,\"worklogs\":[{\"\ author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"\ displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"comment\":\"I did some work here.\",\"id\":\"100028\",\"issueId\"\ :\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\"\ ,\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\"\ ,\"timeSpentSeconds\":12000,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"type\":\"\ group\",\"value\":\"jira-developers\"}}]}" schema: $ref: "#/components/schemas/PageOfWorklogs" description: "Returned if the request is successful" "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the issue is not found or the user does\ \ not have permission to view the issue.\n * `startAt` or `maxResults`\ \ has non-numeric values.\n * time tracking is disabled." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue worklogs" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:issue-worklog:jira" - "read:issue-worklog.property:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" post: deprecated: false 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." operationId: "addWorklog" parameters: - description: "The ID or key the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "Whether users watching the issue are notified by email." in: "query" name: "notifyUsers" schema: default: true type: "boolean" - 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." in: "query" name: "adjustEstimate" schema: default: "auto" enum: - "new" - "leave" - "manual" - "auto" type: "string" - 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`." in: "query" name: "newEstimate" schema: type: "string" - 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`." in: "query" name: "reduceBy" schema: type: "string" - description: "Use [expand](#expansion) to include additional information about\ \ work logs in the response. This parameter accepts `properties`, which\ \ returns worklog properties." in: "query" name: "expand" schema: default: "" type: "string" - 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." in: "query" name: "overrideEditableFlag" schema: default: false type: "boolean" requestBody: content: application/json: example: comment: "I did some work here." started: "2021-01-17T12:34:00.000+0000" timeSpentSeconds: 12000 visibility: identifier: "276f955c-63d7-42c8-9520-92d01dca0625" type: "group" schema: $ref: "#/components/schemas/Worklog" required: true responses: "201": content: application/json: schema: $ref: "#/components/schemas/Worklog" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate`\ \ is not provided or is invalid.\n * `adjustEstimate` is set to `manual`\ \ but `reduceBy` is not provided or is invalid.\n * the user does not\ \ have permission to add the worklog.\n * the request JSON is malformed." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if the issue is not found or the user does not have\ \ permission to view it." "413": description: "Returned if the per-issue limit has been breached for one\ \ of the following fields:\n\n * worklogs\n * attachments" security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Add worklog" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-worklog:jira" - "write:issue-worklog.property:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-worklog:jira" - "read:project-role:jira" - "read:user:jira" - "read:issue-worklog.property:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/worklog/{id}: delete: deprecated: false 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." operationId: "deleteWorklog" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the worklog." in: "path" name: "id" required: true schema: type: "string" - description: "Whether users watching the issue are notified by email." in: "query" name: "notifyUsers" schema: default: true type: "boolean" - 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." in: "query" name: "adjustEstimate" schema: default: "auto" enum: - "new" - "leave" - "manual" - "auto" type: "string" - 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`." in: "query" name: "newEstimate" schema: type: "string" - 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`." in: "query" name: "increaseBy" schema: type: "string" - 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." in: "query" name: "overrideEditableFlag" schema: default: false type: "boolean" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate`\ \ is not provided or is invalid.\n * `adjustEstimate` is set to `manual`\ \ but `reduceBy` is not provided or is invalid.\n * the user does not\ \ have permission to delete the worklog." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if:\n\n * the issue is not found or user does not\ \ have permission to view the issue.\n * the worklog is not found or\ \ the user does not have permission to view it.\n * time tracking is\ \ disabled." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete worklog" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-worklog:jira" - "delete:issue-worklog.property:jira" - "write:issue.time-tracking:jira" state: "Beta" get: deprecated: false 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." operationId: "getWorklog" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the worklog." in: "path" name: "id" required: true schema: type: "string" - description: "Use [expand](#expansion) to include additional information about\ \ work logs in the response. This parameter accepts\n\n`properties`, which\ \ returns worklog properties." in: "query" name: "expand" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"comment\":\"I did some work here.\",\"id\":\"100028\",\"issueId\"\ :\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\"\ ,\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\"\ ,\"timeSpentSeconds\":12000,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"type\":\"\ group\",\"value\":\"jira-developers\"}}" schema: $ref: "#/components/schemas/Worklog" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if:\n\n * the issue is not found or the user does\ \ not have permission to view it.\n * the worklog is not found or the\ \ user does not have permission to view it.\n * time tracking is disabled.\n\ \n." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get worklog" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:group:jira" - "read:issue-worklog:jira" - "read:issue-worklog.property:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" put: deprecated: false 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." operationId: "updateWorklog" parameters: - description: "The ID or key the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the worklog." in: "path" name: "id" required: true schema: type: "string" - description: "Whether users watching the issue are notified by email." in: "query" name: "notifyUsers" schema: default: true type: "boolean" - 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`." in: "query" name: "adjustEstimate" schema: default: "auto" enum: - "new" - "leave" - "manual" - "auto" type: "string" - 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`." in: "query" name: "newEstimate" schema: type: "string" - description: "Use [expand](#expansion) to include additional information about\ \ worklogs in the response. This parameter accepts `properties`, which returns\ \ worklog properties." in: "query" name: "expand" schema: default: "" type: "string" - 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." in: "query" name: "overrideEditableFlag" schema: default: false type: "boolean" requestBody: content: application/json: example: comment: "I did some work here." started: "2021-01-17T12:34:00.000+0000" timeSpentSeconds: 12000 visibility: identifier: "276f955c-63d7-42c8-9520-92d01dca0625" type: "group" schema: $ref: "#/components/schemas/Worklog" required: true responses: "200": content: application/json: example: "{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"comment\":\"I did some work here.\",\"id\":\"100028\",\"issueId\"\ :\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\"\ ,\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\"\ ,\"timeSpentSeconds\":12000,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"type\":\"\ group\",\"value\":\"jira-developers\"}}" schema: $ref: "#/components/schemas/Worklog" description: "Returned if the request is successful" "400": description: "Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate`\ \ is not provided or is invalid.\n * the user does not have permission\ \ to update the worklog.\n * the request JSON is malformed." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if:\n\n * the issue is not found or user does not\ \ have permission to view the issue.\n * the worklog is not found or\ \ the user does not have permission to view it.\n * time tracking is\ \ disabled." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Update worklog" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:group:jira" - "read:issue-worklog:jira" - "read:issue-worklog.property:jira" - "read:project-role:jira" - "read:user:jira" - "write:comment:jira" - "write:issue-worklog:jira" - "write:issue-worklog.property:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/worklog/{worklogId}/properties: get: deprecated: false 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." operationId: "getWorklogPropertyKeys" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the worklog." in: "path" name: "worklogId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\"\ }]}" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "400": description: "Returned if the worklog ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the issue or worklog is not found.\n *\ \ the user does not have permission to view the issue or worklog." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get worklog property keys" tags: - "Issue worklog properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-worklog.property:jira" state: "Beta" /rest/api/2/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}: delete: deprecated: false 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." operationId: "deleteWorklogProperty" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the worklog." in: "path" name: "worklogId" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the worklog property is removed." "400": description: "Returned if the worklog key or id is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to edit the\ \ worklog." "404": description: "Returned if:\n\n * the issue, worklog, or property is not\ \ found.\n * the user does not have permission to view the issue or worklog." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete worklog property" tags: - "Issue worklog properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-worklog.property:jira" state: "Beta" get: deprecated: false 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." operationId: "getWorklogProperty" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the worklog." in: "path" name: "worklogId" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\"\ :\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\"\ :\"1m\"}}" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "400": description: "Returned if the worklog ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the issue, worklog, or property is not\ \ found.\n * the user does not have permission to view the issue or worklog." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get worklog property" tags: - "Issue worklog properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-worklog.property:jira" state: "Beta" put: deprecated: false 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." operationId: "setWorklogProperty" parameters: - description: "The ID or key of the issue." in: "path" name: "issueIdOrKey" required: true schema: type: "string" - description: "The ID of the worklog." in: "path" name: "worklogId" required: true schema: type: "string" - description: "The key of the issue property. The maximum length is 255 characters." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: schema: {} description: "The value of the property. The value has to be a valid, non-empty\ \ [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length\ \ of the property value is 32768 bytes." required: true responses: "200": content: application/json: schema: {} description: "Returned if the worklog property is updated." "201": content: application/json: schema: {} description: "Returned if the worklog property is created." "400": description: "Returned if the worklog ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to edit the\ \ worklog." "404": description: "Returned if:\n\n * the issue or worklog is not found.\n *\ \ the user does not have permission to view the issue or worklog." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Set worklog property" tags: - "Issue worklog properties" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-worklog.property:jira" state: "Beta" /rest/api/2/issueLink: post: deprecated: false 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." operationId: "linkIssues" parameters: [] requestBody: content: application/json: example: comment: body: "Linked related issue!" visibility: identifier: "276f955c-63d7-42c8-9520-92d01dca0625" type: "group" value: "jira-software-users" inwardIssue: key: "HSP-1" outwardIssue: key: "MKY-1" type: name: "Duplicate" schema: $ref: "#/components/schemas/LinkIssueRequestJsonBean" description: "The issue link request." required: true responses: "201": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the comment is not created. The response contains\ \ an error message indicating why the comment wasn't created. The issue\ \ link is also not created." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * issue linking is disabled.\n * the user\ \ cannot view one or both of the issues. For example, the user doesn't\ \ have *Browse project* project permission for a project containing one\ \ of the issues.\n * the user does not have *link issues* project permission.\n\ \ * either of the link issues are not found.\n * the issue link type\ \ is not found." "413": description: "Returned if the per-issue limit for issue links has been breached." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Create issue link" tags: - "Issue links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:comment:jira" - "write:issue:jira" - "write:issue-link:jira" state: "Beta" /rest/api/2/issueLink/{linkId}: delete: deprecated: false 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." operationId: "deleteIssueLink" parameters: - description: "The ID of the issue link." in: "path" name: "linkId" required: true schema: type: "string" responses: "200": description: "200 response" "204": description: "Returned if the request is successful." "400": description: "Returned if the issue link ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * issue linking is disabled.\n * the issue\ \ link is not found.\n * the user doesn't have the required permissions." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete issue link" tags: - "Issue links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-link:jira" state: "Beta" get: deprecated: false 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." operationId: "getIssueLink" parameters: - description: "The ID of the issue link." in: "path" name: "linkId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"id\":\"10001\",\"inwardIssue\":{\"fields\":{\"issuetype\"\ :{\"avatarId\":10002,\"description\":\"A problem with the software.\"\ ,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\"\ :0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\ \",\",\"id\":\"1\",\"name\":\"Bug\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false},\"priority\":{\"description\":\"Very little impact.\"\ ,\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\"\ ,\"id\":\"2\",\"name\":\"Trivial\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/5\"\ ,\"statusColor\":\"#cfcfcf\"},\"status\":{\"description\":\"The issue\ \ is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\"\ ,\"id\":\"5\",\"name\":\"Closed\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\"\ ,\"statusCategory\":{\"colorName\":\"green\",\"id\":9,\"key\":\"completed\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\"\ }}},\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\"\ },\"outwardIssue\":{\"fields\":{\"issuetype\":{\"avatarId\":1,\"description\"\ :\"A task that needs to be done.\",\"hierarchyLevel\":0,\"iconUrl\"\ :\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false},\"priority\":{\"description\":\"Major loss of\ \ function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\"\ ,\"id\":\"1\",\"name\":\"Major\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\"\ ,\"statusColor\":\"#009900\"},\"status\":{\"description\":\"The issue\ \ is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\"\ ,\"id\":\"10000\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\"\ ,\"statusCategory\":{\"colorName\":\"yellow\",\"id\":1,\"key\":\"\ in-flight\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\"\ }}},\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\"\ },\"type\":{\"id\":\"1000\",\"inward\":\"Duplicated by\",\"name\"\ :\"Duplicate\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"\ }}" schema: $ref: "#/components/schemas/IssueLink" description: "Returned if the request is successful." "400": description: "Returned if the issue link ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * issue linking is disabled.\n * the issue\ \ link is not found.\n * the user doesn't have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue link" tags: - "Issue links" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:issue-link-type:jira" - "read:issue:jira" - "read:issue-type:jira" - "read:priority:jira" - "read:status:jira" - "read:avatar:jira" - "read:issue.time-tracking:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/issueLinkType: get: deprecated: false 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." operationId: "getIssueLinkTypes" parameters: [] responses: "200": content: application/json: example: "{\"issueLinkTypes\":[{\"id\":\"1000\",\"inward\":\"Duplicated\ \ by\",\"name\":\"Duplicate\",\"outward\":\"Duplicates\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"\ },{\"id\":\"1010\",\"inward\":\"Blocked by\",\"name\":\"Blocks\",\"\ outward\":\"Blocks\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1010\"\ }]}" schema: $ref: "#/components/schemas/IssueLinkTypes" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if issue linking is disabled." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue link types" tags: - "Issue link types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-link-type:jira" state: "Beta" post: deprecated: false 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\n\ To 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)." operationId: "createIssueLinkType" parameters: [] requestBody: content: application/json: example: inward: "Duplicated by" name: "Duplicate" outward: "Duplicates" schema: $ref: "#/components/schemas/IssueLinkType" required: true responses: "201": content: application/json: example: "{\"id\":\"1000\",\"inward\":\"Duplicated by\",\"name\":\"\ Duplicate\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"\ }" schema: $ref: "#/components/schemas/IssueLinkType" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * issue linking is disabled.\n * the issue\ \ link type name is in use.\n * the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Create issue link type" tags: - "Issue link types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-link-type:jira" state: "Beta" /rest/api/2/issueLinkType/{issueLinkTypeId}: delete: deprecated: false 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)." operationId: "deleteIssueLinkType" parameters: - description: "The ID of the issue link type." in: "path" name: "issueLinkTypeId" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the issue link type ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * issue linking is disabled.\n * the issue\ \ link type is not found.\n * the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Delete issue link type" tags: - "Issue link types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-link-type:jira" state: "Beta" get: deprecated: false 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." operationId: "getIssueLinkType" parameters: - description: "The ID of the issue link type." in: "path" name: "issueLinkTypeId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"id\":\"1000\",\"inward\":\"Duplicated by\",\"name\":\"\ Duplicate\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"\ }" schema: $ref: "#/components/schemas/IssueLinkType" description: "Returned if the request is successful." "400": description: "Returned if the issue link type ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * issue linking is disabled.\n * the issue\ \ link type is not found.\n * the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue link type" tags: - "Issue link types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-link-type:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateIssueLinkType" parameters: - description: "The ID of the issue link type." in: "path" name: "issueLinkTypeId" required: true schema: type: "string" requestBody: content: application/json: example: inward: "Duplicated by" name: "Duplicate" outward: "Duplicates" schema: $ref: "#/components/schemas/IssueLinkType" required: true responses: "200": content: application/json: example: "{\"id\":\"1000\",\"inward\":\"Duplicated by\",\"name\":\"\ Duplicate\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"\ }" schema: $ref: "#/components/schemas/IssueLinkType" description: "Returned if the request is successful." "400": description: "Returned if the issue link type ID or the request body are\ \ invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * issue linking is disabled.\n * the issue\ \ link type is not found.\n * the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Update issue link type" tags: - "Issue link types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-link-type:jira" - "write:issue-link-type:jira" state: "Beta" /rest/api/2/issues/archive/export: put: deprecated: false 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" operationId: "exportArchivedIssues" parameters: [] requestBody: content: application/json: example: archivedBy: - "uuid-rep-001" - "uuid-rep-002" archivedDate: dateAfter: "2023-01-01" dateBefore: "2023-01-12" archivedDateRange: dateAfter: "2023-01-01" dateBefore: "2023-01-12" issueTypes: - "10001" - "10002" projects: - "FOO" - "BAR" reporters: - "uuid-rep-001" - "uuid-rep-002" schema: $ref: "#/components/schemas/ArchivedIssuesFilterRequest" description: "You can filter the issues in your request by the `projects`,\ \ `archivedBy`, `archivedDate`, `issueTypes`, and `reporters` fields. All\ \ filters are optional. If you don't provide any filters, you'll get a list\ \ of up to one million archived issues." required: true responses: "202": content: application/json: example: "{\"payload\":\"{projects=[FOO, BAR], reporters=[uuid-rep-001,\ \ uuid-rep-002], issueTypes=[10001, 10002], archivedDate={dateAfterInstant=2023-01-01,\ \ dateBeforeInstant=2023-01-12}, archivedBy=[uuid-rep-001, uuid-rep-002]}\"\ ,\"progress\":0,\"status\":\"ENQUEUED\",\"submittedTime\":1623230887000,\"\ taskId\":\"10990\"}" schema: $ref: "#/components/schemas/ExportArchivedIssuesTaskProgressResponse" description: "Returns the details of your export task. You can use the [get\ \ task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-get)\ \ API to view the progress of your request." "400": content: application/json: example: "[\"Your filter contains invalid values {errorMessage}\"]" description: "Returned when:\n\n * The request is invalid, or the filters\ \ provided are incorrect\n * You requested too many issues for export.\ \ The limit is one million issues per request" "401": content: application/json: example: "{\"errorMessages\":[\"User is not logged in.\"],\"errors\"\ :{}}" description: "Returned if no issues were unarchived because the provided\ \ authentication credentials are either missing or invalid." "403": content: application/json: example: "{\"errorMessages\":[\"User is not an admin.\"],\"errors\"\ :{}}" description: "Returned if no issues were unarchived because the user lacks\ \ the required Jira admin or site admin permissions." "412": content: application/json: example: "{\"errorMessages\":[\"An issue archival task is already running\ \ with ID 1010. To start a new one, cancel the task or wait for it\ \ to finish.\"],\"errors\":{}}" description: "Returned if a request to export archived issues is already\ \ running." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Export archived issue(s)" tags: - "Issues" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue:jira" state: "Beta" x-experimental: true /rest/api/2/issuesecurityschemes: get: deprecated: false 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)." operationId: "getIssueSecuritySchemes" parameters: [] responses: "200": content: application/json: example: "{\"issueSecuritySchemes\":[{\"defaultSecurityLevelId\":10021,\"\ description\":\"Description for the default issue security scheme\"\ ,\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\"\ }]}" schema: $ref: "#/components/schemas/SecuritySchemes" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "Returned if the user does not have permission to administer\ \ issue security schemes." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Get issue security schemes" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-security-level:jira" - "read:issue-security-scheme:jira" state: "Beta" post: deprecated: false 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)." operationId: "createIssueSecurityScheme" parameters: [] requestBody: content: application/json: example: description: "Newly created issue security scheme" levels: - description: "Newly created level" isDefault: true members: - parameter: "administrators" type: "group" name: "New level" name: "New security scheme" schema: $ref: "#/components/schemas/CreateIssueSecuritySchemeDetails" required: true responses: "201": content: application/json: example: "{\"id\":\"10001\"}" schema: $ref: "#/components/schemas/SecuritySchemeId" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 4,000 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create issue security scheme" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/level: get: deprecated: false 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)." operationId: "getSecurityLevels" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - description: "The list of issue security scheme level IDs. To include multiple\ \ issue security levels, separate IDs with an ampersand: `id=10000&id=10001`." in: "query" name: "id" schema: items: type: "string" type: "array" uniqueItems: true - description: "The list of issue security scheme IDs. To include multiple issue\ \ security schemes, separate IDs with an ampersand: `schemeId=10000&schemeId=10001`." in: "query" name: "schemeId" schema: items: type: "string" type: "array" uniqueItems: 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." in: "query" name: "onlyDefault" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :1,\"values\":[{\"description\":\"Only the reporter and internal staff\ \ can see this issue.\",\"id\":\"10021\",\"isDefault\":true,\"issueSecuritySchemeId\"\ :\"10001\",\"name\":\"Reporter Only\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityscheme/level?id=10021\"\ }]}" schema: $ref: "#/components/schemas/PageBeanSecurityLevel" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"-1000 is not a valid value. id must\ \ be zero or a positive integer.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue security levels" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-security-level:jira" - "read:issue-security-scheme:jira" state: "Beta" x-experimental: true /rest/api/2/issuesecurityschemes/level/default: put: deprecated: false description: "Sets default issue security levels for schemes.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "setDefaultLevels" parameters: [] requestBody: content: application/json: example: defaultValues: - defaultLevelId: "20000" issueSecuritySchemeId: "10000" - defaultLevelId: "30000" issueSecuritySchemeId: "12000" schema: $ref: "#/components/schemas/SetDefaultLevelsRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"some-wrong-string is not a valid value.\ \ The issue security scheme ID must be a positive integer.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue resolution isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set default issue security levels" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/level/member: get: deprecated: false 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)." operationId: "getSecurityLevelMembers" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - 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`." in: "query" name: "id" schema: items: type: "string" type: "array" uniqueItems: true - description: "The list of issue security scheme IDs. To include multiple issue\ \ security schemes separate IDs with an ampersand: `schemeId=10000&schemeId=10001`." in: "query" name: "schemeId" schema: items: type: "string" type: "array" uniqueItems: true - description: "The list of issue security level IDs. To include multiple issue\ \ security levels separate IDs with an ampersand: `levelId=10000&levelId=10001`." in: "query" name: "levelId" schema: items: type: "string" type: "array" uniqueItems: 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" in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :3,\"values\":[{\"id\":\"10000\",\"issueSecurityLevelId\":\"20010\"\ ,\"issueSecuritySchemeId\":\"10010\",\"holder\":{\"expand\":\"group\"\ ,\"type\":\"group\"}}]}" schema: $ref: "#/components/schemas/PageBeanSecurityLevelMember" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue security level members" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-security-level:jira" - "read:issue-security-scheme:jira" state: "Beta" x-experimental: true /rest/api/2/issuesecurityschemes/project: get: deprecated: false 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)." operationId: "searchProjectsUsingSecuritySchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - description: "The list of security scheme IDs to be filtered out." in: "query" name: "issueSecuritySchemeId" schema: items: type: "string" type: "array" uniqueItems: true - description: "The list of project IDs to be filtered out." in: "query" name: "projectId" schema: items: type: "string" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"issueSecuritySchemeId\":\"10000\",\"projectId\":\"10000\"\ }" schema: $ref: "#/components/schemas/PageBeanIssueSecuritySchemeToProjectMapping" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the search criteria is invalid.If you specify\ \ the project ID parameter" "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get projects using issue security schemes" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true put: deprecated: false 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)." operationId: "associateSchemesToProjects" parameters: [] requestBody: content: application/json: example: oldToNewSecurityLevelMappings: - newLevelId: "30001" oldLevelId: "30000" projectId: "10000" schemeId: "20000" schema: $ref: "#/components/schemas/AssociateSecuritySchemeWithProjectDetails" required: true responses: "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"some-wrong-string is not a valid value.\ \ The issue security scheme ID must be a positive integer.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the security scheme isn't found." "409": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if a task to remove the issue security level is already\ \ running." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Associate security scheme to project" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/search: get: deprecated: false 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)." operationId: "searchSecuritySchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - description: "The list of issue security scheme IDs. To include multiple issue\ \ security scheme IDs, separate IDs with an ampersand: `id=10000&id=10001`." in: "query" name: "id" schema: items: type: "string" type: "array" uniqueItems: true - description: "The list of project IDs. To include multiple project IDs, separate\ \ IDs with an ampersand: `projectId=10000&projectId=10001`." in: "query" name: "projectId" schema: items: type: "string" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityscheme/10000\"\ ,\"name\":\"Default scheme\",\"description\":\"Default scheme description\"\ ,\"defaultLevel\":10001,\"projectIds\":[10002]}" schema: $ref: "#/components/schemas/PageBeanSecuritySchemeWithProjects" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"-1000 is not a valid value. id must\ \ be zero or a positive integer.\"],\"errors\":{}}" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Search issue security schemes" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-security-level:jira" - "read:issue-security-scheme:jira" state: "Beta" x-experimental: true /rest/api/2/issuesecurityschemes/{id}: get: deprecated: false 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." operationId: "getIssueSecurityScheme" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"defaultSecurityLevelId\":10021,\"description\":\"Description\ \ for the default issue security scheme\",\"id\":10000,\"levels\"\ :[{\"description\":\"Only the reporter and internal staff can see\ \ this issue.\",\"id\":\"10021\",\"name\":\"Reporter Only\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\"\ }],\"name\":\"Default Issue Security Scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\"\ }" schema: $ref: "#/components/schemas/SecurityScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the administrator permission\ \ and the scheme is not used in any project where the user has administrative\ \ permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Get issue security scheme" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-security-level:jira" - "read:issue-security-scheme:jira" state: "Beta" put: deprecated: false description: "Updates the issue security scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateIssueSecurityScheme" parameters: - description: "The ID of the issue security scheme." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: description: "My issue security scheme description" name: "My issue security scheme name" schema: $ref: "#/components/schemas/UpdateIssueSecuritySchemeRequestBean" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 4,000 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue security scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update issue security scheme" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/{issueSecuritySchemeId}/members: get: deprecated: false 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)." operationId: "getIssueSecurityLevelMembers" parameters: - 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." in: "path" name: "issueSecuritySchemeId" required: true schema: format: "int64" type: "integer" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of issue security level IDs. To include multiple issue\ \ security levels separate IDs with ampersand: `issueSecurityLevelId=10000&issueSecurityLevelId=10001`." in: "query" name: "issueSecurityLevelId" schema: items: type: "string" type: "array" uniqueItems: 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :3,\"values\":[{\"id\":10000,\"issueSecurityLevelId\":10020,\"holder\"\ :{\"expand\":\"user\",\"type\":\"user\",\"user\":{\"accountId\":\"\ 5b10a2844c20165700ede21g\",\"active\":true,\"avatarUrls\":{\"16x16\"\ :\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"}}},{\"id\":10001,\"issueSecurityLevelId\"\ :10020,\"holder\":{\"expand\":\"group\",\"parameter\":\"jira-core-users\"\ ,\"type\":\"group\",\"value\":\"9c559b11-6c5d-4f96-992c-a746cabab28b\"\ }},{\"id\":10002,\"issueSecurityLevelId\":10021,\"holder\":{\"type\"\ :\"assignee\"}}]}" schema: $ref: "#/components/schemas/PageBeanIssueSecurityLevelMember" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if no issue security level members are found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue security level members by issue security scheme" tags: - "Issue security level" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:issue-security-level:jira" - "read:project-role:jira" - "read:user:jira" state: "Beta" /rest/api/2/issuesecurityschemes/{schemeId}: delete: deprecated: false description: "Deletes an issue security scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "deleteSecurityScheme" parameters: - description: "The ID of the issue security scheme." in: "path" name: "schemeId" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "\"You can't delete an issue security scheme if any projects\ \ are associated with it.\"" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue security scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete issue security scheme" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/{schemeId}/level: put: deprecated: false 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)." operationId: "addSecurityLevel" parameters: - description: "The ID of the issue security scheme." in: "path" name: "schemeId" required: true schema: type: "string" requestBody: content: application/json: example: levels: - description: "First Level Description" isDefault: true members: - type: "reporter" - parameter: "jira-administrators" type: "group" name: "First Level" schema: $ref: "#/components/schemas/AddSecuritySchemeLevelsRequestBean" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"some-wrong-string is not a valid value.\ \ The issue security scheme ID must be a positive integer.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the security scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Add issue security levels" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/{schemeId}/level/{levelId}: delete: deprecated: false 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)." operationId: "removeLevel" parameters: - description: "The ID of the issue security scheme." in: "path" name: "schemeId" required: true schema: type: "string" - description: "The ID of the issue security level to remove." in: "path" name: "levelId" required: true schema: type: "string" - description: "The ID of the issue security level that will replace the currently\ \ selected level." in: "query" name: "replaceWith" schema: type: "string" responses: "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "400": content: application/json: example: "\"You can't delete an issue security scheme if any projects\ \ are associated with it.\"" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue security level isn't found." "409": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if a task to remove the issue security level is already\ \ running." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove issue security level" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true put: deprecated: false description: "Updates the issue security level.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateSecurityLevel" parameters: - description: "The ID of the issue security scheme level belongs to." in: "path" name: "schemeId" required: true schema: type: "string" - description: "The ID of the issue security level to update." in: "path" name: "levelId" required: true schema: type: "string" requestBody: content: application/json: example: description: "New level description" name: "New level name" schema: $ref: "#/components/schemas/UpdateIssueSecurityLevelDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 4,000 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue security level isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update issue security level" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/{schemeId}/level/{levelId}/member: put: deprecated: false 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)." operationId: "addSecurityLevelMembers" parameters: - description: "The ID of the issue security scheme." in: "path" name: "schemeId" required: true schema: type: "string" - description: "The ID of the issue security level." in: "path" name: "levelId" required: true schema: type: "string" requestBody: content: application/json: example: members: - type: "reporter" - parameter: "jira-administrators" type: "group" schema: $ref: "#/components/schemas/SecuritySchemeMembersRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"some-wrong-string is not a valid value.\ \ The issue security scheme ID must be a positive integer.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the security scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Add issue security level members" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuesecurityschemes/{schemeId}/level/{levelId}/member/{memberId}: delete: deprecated: false 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)." operationId: "removeMemberFromSecurityLevel" parameters: - description: "The ID of the issue security scheme." in: "path" name: "schemeId" required: true schema: type: "string" - description: "The ID of the issue security level." in: "path" name: "levelId" required: true schema: type: "string" - description: "The ID of the issue security level member to be removed." in: "path" name: "memberId" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Issue security scheme with ID 10000\ \ not found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the security scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove member from issue security level" tags: - "Issue security schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/issuetype: get: deprecated: false 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." operationId: "getIssueAllTypes" parameters: [] responses: "200": content: application/json: example: "[{\"avatarId\":1,\"description\":\"A task that needs to be\ \ done.\",\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false},{\"avatarId\":10002,\"description\":\"A problem\ \ with the software.\",\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\"\ ,\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\ \",\",\"id\":\"1\",\"name\":\"Bug\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false}]" schema: items: $ref: "#/components/schemas/IssueTypeDetails" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all issue types for user" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" post: deprecated: false 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)." operationId: "createIssueType" parameters: [] requestBody: content: application/json: example: description: "description" name: "name" type: "standard" schema: $ref: "#/components/schemas/IssueTypeCreateBean" required: true responses: "201": content: application/json: schema: $ref: "#/components/schemas/IssueTypeDetails" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid because:\n\n * no content\ \ is sent.\n * the issue type name exceeds 60 characters.\n * a subtask\ \ issue type is requested on an instance where subtasks are disabled." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "409": description: "Returned if the issue type name is in use." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Create issue type" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type:jira" - "read:avatar:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/issuetype/project: get: deprecated: false 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)." operationId: "getIssueTypesForProject" parameters: - description: "The ID of the project." in: "query" name: "projectId" required: true schema: format: "int64" type: "integer" - description: "The level of the issue type to filter by. Use:\n\n * `-1` for\ \ Subtask.\n * `0` for Base.\n * `1` for Epic." in: "query" name: "level" schema: format: "int32" type: "integer" responses: "200": content: application/json: example: "[{\"avatarId\":10002,\"description\":\"A problem with the\ \ software.\",\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\"\ ,\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\ \",\",\"id\":\"1\",\"name\":\"Bug\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false},{\"avatarId\":1,\"description\":\"A task that\ \ needs to be done.\",\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false}]" schema: items: $ref: "#/components/schemas/IssueTypeDetails" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the project is not found.\n * the user\ \ does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue types for project" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" x-experimental: true /rest/api/2/issuetype/{id}: delete: deprecated: false 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)." operationId: "deleteIssueType" parameters: - description: "The ID of the issue type." in: "path" name: "id" required: true schema: type: "string" - description: "The ID of the replacement issue type." in: "query" name: "alternativeIssueTypeId" schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if any issues cannot be updated with the alternative\ \ issue type." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if:\n\n * the issue type is in use and an alternative\ \ issue type is not specified.\n * the issue type or alternative issue\ \ type is not found." "409": description: "Returned if the issue type is in use and:\n\n * also specified\ \ as the alternative issue type.\n * is a *standard* issue type and the\ \ alternative issue type is a *subtask*." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Delete issue type" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-type:jira" state: "Beta" get: deprecated: false 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)." operationId: "getIssueType" parameters: - description: "The ID of the issue type." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"avatarId\":1,\"description\":\"A task that needs to be\ \ done.\",\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false}" schema: $ref: "#/components/schemas/IssueTypeDetails" description: "Returned if the request is successful." "400": description: "Returned if the issue type ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the issue type is not found.\n * the\ \ user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue type" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" put: deprecated: false description: "Updates the issue type.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateIssueType" parameters: - description: "The ID of the issue type." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: avatarId: 1 description: "description" name: "name" schema: $ref: "#/components/schemas/IssueTypeUpdateBean" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/IssueTypeDetails" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid because:\n\n * no content\ \ is sent.\n * the issue type name exceeds 60 characters.\n * the avatar\ \ is not associated with this issue type." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the issue type is not found." "409": description: "Returned if the issue type name is in use." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Update issue type" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type:jira" - "read:avatar:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/issuetype/{id}/alternatives: get: deprecated: false 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." operationId: "getAlternativeIssueTypes" parameters: - description: "The ID of the issue type." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "[{\"avatarId\":1,\"description\":\"A task that needs to be\ \ done.\",\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false},{\"avatarId\":10002,\"description\":\"A problem\ \ with the software.\",\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\"\ ,\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\ \",\",\"id\":\"1\",\"name\":\"Bug\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false}]" schema: items: $ref: "#/components/schemas/IssueTypeDetails" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the issue type is not found.\n * the\ \ user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get alternative issue types" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/issuetype/{id}/avatar2: post: deprecated: false 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/<\ \ image_type>' \\ --data-binary \"<@/path/to/file/with/your/avatar>\" \\ --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)." operationId: "createIssueTypeAvatar" parameters: - description: "The ID of the issue type." in: "path" name: "id" required: true schema: type: "string" - description: "The X coordinate of the top-left corner of the crop region." in: "query" name: "x" schema: default: 0 format: "int32" type: "integer" - description: "The Y coordinate of the top-left corner of the crop region." in: "query" name: "y" schema: default: 0 format: "int32" type: "integer" - description: "The length of each side of the crop region." in: "query" name: "size" required: true schema: format: "int32" type: "integer" requestBody: content: '*/*': schema: {} required: true responses: "201": content: application/json: example: "{\"id\":\"1000\",\"isDeletable\":false,\"isSelected\":false,\"\ isSystemAvatar\":true,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\"\ ,\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\"\ ,\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\"\ ,\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"\ }}" schema: $ref: "#/components/schemas/Avatar" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * an image isn't included in the request.\n\ \ * the image type is unsupported.\n * the crop parameters extend the\ \ crop area beyond the edge of the image.\n * `cropSize` is missing.\n\ \ * the issue type ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Load issue type avatar" tags: - "Issue types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:avatar:jira" - "write:issue-type:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/issuetype/{issueTypeId}/properties: get: deprecated: false 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." operationId: "getIssueTypePropertyKeys" parameters: - description: "The ID of the issue type." in: "path" name: "issueTypeId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\"\ }]}" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "400": description: "Returned if the issue type ID is invalid." "404": description: "Returned if:\n\n * the issue type is not found.\n * the\ \ user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue type property keys" tags: - "Issue type properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type.property:jira" state: "Beta" /rest/api/2/issuetype/{issueTypeId}/properties/{propertyKey}: delete: deprecated: false 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)." operationId: "deleteIssueTypeProperty" parameters: - description: "The ID of the issue type." in: "path" name: "issueTypeId" required: true schema: type: "string" - 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." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the issue type property is deleted." "400": description: "Returned if the issue type ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the issue type or property is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Delete issue type property" tags: - "Issue type properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-type.property:jira" state: "Beta" get: deprecated: false 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." operationId: "getIssueTypeProperty" parameters: - description: "The ID of the issue type." in: "path" name: "issueTypeId" required: true schema: type: "string" - 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." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\"\ :\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\"\ :\"1m\"}}" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "400": description: "Returned if the issue type ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue type or property is not found or the\ \ user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get issue type property" tags: - "Issue type properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type.property:jira" state: "Beta" put: deprecated: false 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)." operationId: "setIssueTypeProperty" parameters: - description: "The ID of the issue type." in: "path" name: "issueTypeId" required: true schema: type: "string" - description: "The key of the issue type property. The maximum length is 255\ \ characters." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: example: number: 5 string: "string-value" schema: {} description: "The value of the property. The value has to be a valid, non-empty\ \ [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length\ \ of the property value is 32768 bytes." required: true responses: "200": content: application/json: schema: {} description: "Returned if the issue type property is updated." "201": content: application/json: schema: {} description: "Returned if the issue type property is created." "400": description: "Returned if:\n\n * the issue type ID is invalid.\n * a property\ \ value is not provided.\n * the property value JSON content is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to modify the\ \ issue type." "404": description: "Returned if:\n\n * the issue type is not found.\n * the\ \ user does not have the permission view the issue type." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Set issue type property" tags: - "Issue type properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type.property:jira" state: "Beta" /rest/api/2/issuetypescheme: get: deprecated: false 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)." operationId: "getAllIssueTypeSchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of issue type schemes IDs. To include multiple IDs,\ \ provide an ampersand-separated list. For example, `id=10000&id=10001`." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: 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." in: "query" name: "orderBy" schema: default: "id" enum: - "name" - "-name" - "+name" - "id" - "-id" - "+id" type: "string" - 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." in: "query" name: "expand" schema: default: "" type: "string" - description: "String used to perform a case-insensitive partial match with\ \ issue type scheme name." in: "query" name: "queryString" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :3,\"values\":[{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\"\ ,\"description\":\"Default issue type scheme is the list of global\ \ issue types. All newly created issue types will automatically be\ \ added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\"\ :true},{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\"\ ,\"description\":\"A collection of issue types suited to use in a\ \ kanban style project.\",\"projects\":{\"isLast\":true,\"maxResults\"\ :100,\"startAt\":0,\"total\":1,\"values\":[{\"avatarUrls\":{\"16x16\"\ :\"secure/projectavatar?size=xsmall&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"secure/projectavatar?size=medium&pid=10000\",\"48x48\"\ :\"secure/projectavatar?size=large&pid=10000\"},\"id\":\"10000\",\"\ key\":\"EX\",\"name\":\"Example\",\"projectCategory\":{\"description\"\ :\"Project category description\",\"id\":\"10000\",\"name\":\"A project\ \ category\"},\"projectTypeKey\":\"ProjectTypeKey{key='software'}\"\ ,\"self\":\"project/EX\",\"simplified\":false}]}},{\"id\":\"10002\"\ ,\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"\ defaultIssueTypeId\":\"10004\",\"issueTypes\":{\"isLast\":true,\"\ maxResults\":100,\"startAt\":0,\"total\":1,\"values\":[{\"description\"\ :\"Improvement Issue Type\",\"hierarchyLevel\":-1,\"iconUrl\":\"www.example.com\"\ ,\"id\":\"1000L\",\"name\":\"Improvements\",\"subtask\":true}]}}]}" schema: $ref: "#/components/schemas/PageBeanIssueTypeScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all issue type schemes" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type-scheme:jira" state: "Beta" post: deprecated: false description: "Creates an issue type scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createIssueTypeScheme" parameters: [] requestBody: content: application/json: example: defaultIssueTypeId: "10002" description: "A collection of issue types suited to use in a kanban\ \ style project." issueTypeIds: - "10001" - "10002" - "10003" name: "Kanban Issue Type Scheme" schema: $ref: "#/components/schemas/IssueTypeSchemeDetails" required: true responses: "201": content: application/json: example: "{\"issueTypeSchemeId\":\"10010\"}" schema: $ref: "#/components/schemas/IssueTypeSchemeID" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The default issue type ID has to be\ \ present in issue type IDs list.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "409": content: application/json: example: "{\"errorMessages\":[\"The name is used by another scheme.\"\ ],\"errors\":{}}" description: "Returned if the scheme name is used by another scheme." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create issue type scheme" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-scheme:jira" state: "Beta" /rest/api/2/issuetypescheme/mapping: get: deprecated: false 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)." operationId: "getIssueTypeSchemesMapping" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of issue type scheme IDs. To include multiple IDs,\ \ provide an ampersand-separated list. For example, `issueTypeSchemeId=10000&issueTypeSchemeId=10001`." in: "query" name: "issueTypeSchemeId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :4,\"values\":[{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"\ 10000\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10001\"\ },{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10002\"},{\"\ issueTypeSchemeId\":\"10001\",\"issueTypeId\":\"10000\"}]}" schema: $ref: "#/components/schemas/PageBeanIssueTypeSchemeMapping" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue type scheme items" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type-scheme:jira" state: "Beta" /rest/api/2/issuetypescheme/project: get: deprecated: false 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\n\ Only issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "getIssueTypeSchemeForProjects" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of project IDs. To include multiple project IDs, provide\ \ an ampersand-separated list. For example, `projectId=10000&projectId=10001`." in: "query" name: "projectId" required: true schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :3,\"values\":[{\"issueTypeScheme\":{\"id\":\"10000\",\"name\":\"\ Default Issue Type Scheme\",\"description\":\"Default issue type scheme\ \ is the list of global issue types. All newly created issue types\ \ will automatically be added to this scheme.\",\"defaultIssueTypeId\"\ :\"10003\",\"isDefault\":true},\"projectIds\":[\"10000\",\"10001\"\ ]},{\"issueTypeScheme\":{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue\ \ Type Scheme\",\"description\":\"A collection of issue types suited\ \ to use in a kanban style project.\"},\"projectIds\":[\"10002\"]},{\"\ issueTypeScheme\":{\"id\":\"10002\",\"name\":\"HR: Scrum issue type\ \ scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\",\"\ issueTypes\":{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"\ total\":1,\"values\":[{\"description\":\"Improvement Issue Type\"\ ,\"hierarchyLevel\":-1,\"iconUrl\":\"www.example.com\",\"id\":\"1000L\"\ ,\"name\":\"Improvements\",\"subtask\":true}]}},\"projectIds\":[\"\ 10003\",\"10004\",\"10005\"]}]}" schema: $ref: "#/components/schemas/PageBeanIssueTypeSchemeProjects" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue type schemes for projects" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type-scheme:jira" state: "Beta" put: deprecated: false 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)." operationId: "assignIssueTypeSchemeToProject" parameters: [] requestBody: content: application/json: example: issueTypeSchemeId: "10000" projectId: "10000" schema: $ref: "#/components/schemas/IssueTypeSchemeProjectAssociation" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"This issue type scheme can't be assigned\ \ to the project. This is because some issues in this project use\ \ issue types not present in the scheme. Before assigning the scheme\ \ to the project, update the issue types on these issues: 7\"],\"\ errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type scheme was not found.\"\ ],\"errors\":{}}" description: "Returned if the issue type scheme or the project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Assign issue type scheme to project" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-scheme:jira" - "write:project:jira" state: "Beta" /rest/api/2/issuetypescheme/{issueTypeSchemeId}: delete: deprecated: false 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)." operationId: "deleteIssueTypeScheme" parameters: - description: "The ID of the issue type scheme." in: "path" name: "issueTypeSchemeId" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the issue type scheme is deleted." "400": content: application/json: example: "{\"errorMessages\":[\"The default issue type scheme can't\ \ be removed.\"],\"errors\":{}}" description: "Returned if the request is to delete the default issue type\ \ scheme." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type scheme was not found.\"\ ],\"errors\":{}}" description: "Returned if the issue type scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete issue type scheme" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-type-scheme:jira" - "write:project:jira" state: "Beta" put: deprecated: false description: "Updates an issue type scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateIssueTypeScheme" parameters: - description: "The ID of the issue type scheme." in: "path" name: "issueTypeSchemeId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: defaultIssueTypeId: "10002" description: "A collection of issue types suited to use in a kanban\ \ style project." name: "Kanban Issue Type Scheme" schema: $ref: "#/components/schemas/IssueTypeSchemeUpdateDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The default issue type has to be one\ \ of the issue types of the scheme.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type scheme was not found.\"\ ],\"errors\":{}}" description: "Returned if the issue type scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update issue type scheme" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-scheme:jira" state: "Beta" /rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype: put: deprecated: false 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)." operationId: "addIssueTypesToIssueTypeScheme" parameters: - description: "The ID of the issue type scheme." in: "path" name: "issueTypeSchemeId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: issueTypeIds: - "10000" - "10002" - "10003" schema: $ref: "#/components/schemas/IssueTypeIds" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"These issue types were not added because\ \ they are already present in the issue type scheme: 10002, 10003\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"These issue types were not found: 10000,\ \ 10002\"],\"errors\":{}}" description: "Returned if the issue type or the issue type scheme is not\ \ found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Add issue types to issue type scheme" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-scheme:jira" state: "Beta" /rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/move: put: deprecated: false description: "Changes the order of issue types in an issue type scheme.\n\n\ The 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)." operationId: "reorderIssueTypesInIssueTypeScheme" parameters: - description: "The ID of the issue type scheme." in: "path" name: "issueTypeSchemeId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: after: "10008" issueTypeIds: - "10001" - "10004" - "10002" schema: $ref: "#/components/schemas/OrderOfIssueTypes" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The issue type scheme does not include\ \ some of the specified issue types. Issue type IDs missing from the\ \ scheme are: 10007, 10008\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type scheme was not found.\"\ ],\"errors\":{}}" description: "Returned if the issue type scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Change order of issue types" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-scheme:jira" state: "Beta" /rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}: delete: deprecated: false 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)." operationId: "removeIssueTypeFromIssueTypeScheme" parameters: - description: "The ID of the issue type scheme." in: "path" name: "issueTypeSchemeId" required: true schema: format: "int64" type: "integer" - description: "The ID of the issue type." in: "path" name: "issueTypeId" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Can't remove the last standard issue\ \ type from the issue type scheme.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type was not found in the\ \ issue type scheme.\"],\"errors\":{}}" description: "Returned if the issue type scheme is missing or the issue\ \ type is not found in the issue type scheme." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove issue type from issue type scheme" tags: - "Issue type schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-scheme:jira" state: "Beta" /rest/api/2/issuetypescreenscheme: get: deprecated: false 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)." operationId: "getIssueTypeScreenSchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of issue type screen scheme IDs. To include multiple\ \ IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "String used to perform a case-insensitive partial match with\ \ issue type screen scheme name." in: "query" name: "queryString" schema: default: "" type: "string" - 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." in: "query" name: "orderBy" schema: default: "id" enum: - "name" - "-name" - "+name" - "id" - "-id" - "+id" type: "string" - 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." in: "query" name: "expand" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :2,\"values\":[{\"id\":\"1\",\"name\":\"Default Issue Type Screen\ \ Scheme\",\"description\":\"The default issue type screen scheme\"\ },{\"id\":\"10000\",\"name\":\"Office issue type screen scheme\",\"\ description\":\"Managing office projects\",\"projects\":{\"isLast\"\ :true,\"maxResults\":100,\"startAt\":0,\"total\":1,\"values\":[{\"\ avatarUrls\":{\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"32x32\"\ :\"secure/projectavatar?size=medium&pid=10000\",\"48x48\":\"secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"Project category description\",\"id\":\"10000\"\ ,\"name\":\"A project category\"},\"projectTypeKey\":\"ProjectTypeKey{key='software'}\"\ ,\"self\":\"project/EX\",\"simplified\":false}]}}]}" schema: $ref: "#/components/schemas/PageBeanIssueTypeScreenScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue type screen schemes" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type-screen-scheme:jira" state: "Beta" post: deprecated: false description: "Creates an issue type screen scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createIssueTypeScreenScheme" parameters: [] requestBody: content: application/json: example: issueTypeMappings: - issueTypeId: "default" screenSchemeId: "10001" - issueTypeId: "10001" screenSchemeId: "10002" - issueTypeId: "10002" screenSchemeId: "10002" name: "Scrum issue type screen scheme" schema: $ref: "#/components/schemas/IssueTypeScreenSchemeDetails" description: "An issue type screen scheme bean." required: true responses: "201": content: application/json: example: "{\"id\":\"10001\"}" schema: $ref: "#/components/schemas/IssueTypeScreenSchemeId" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"One or more issue type IDs are repeated,\ \ an issue type ID can only be specified once.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"One or more issue type IDs were not\ \ found.\"],\"errors\":{}}" description: "Returned if the issue type or screen scheme is not found." "409": content: application/json: example: "{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least\ \ one of the issue types is a sub-task.\"],\"errors\":{}}" description: "Returned if the issue type is a sub-task, but sub-tasks are\ \ disabled in Jira settings." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create issue type screen scheme" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-screen-scheme:jira" state: "Beta" /rest/api/2/issuetypescreenscheme/mapping: get: deprecated: false 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)." operationId: "getIssueTypeScreenSchemeMappings" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of issue type screen scheme IDs. To include multiple\ \ issue type screen schemes, separate IDs with ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`." in: "query" name: "issueTypeScreenSchemeId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :4,\"values\":[{\"issueTypeId\":\"10000\",\"issueTypeScreenSchemeId\"\ :\"10020\",\"screenSchemeId\":\"10010\"},{\"issueTypeId\":\"10001\"\ ,\"issueTypeScreenSchemeId\":\"10021\",\"screenSchemeId\":\"10010\"\ },{\"issueTypeId\":\"10002\",\"issueTypeScreenSchemeId\":\"10022\"\ ,\"screenSchemeId\":\"10010\"},{\"issueTypeId\":\"default\",\"issueTypeScreenSchemeId\"\ :\"10023\",\"screenSchemeId\":\"10011\"}]}" schema: $ref: "#/components/schemas/PageBeanIssueTypeScreenSchemeItem" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue type screen scheme items" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type-screen-scheme:jira" state: "Beta" /rest/api/2/issuetypescreenscheme/project: get: deprecated: false 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)." operationId: "getIssueTypeScreenSchemeProjectAssociations" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The list of project IDs. To include multiple projects, separate\ \ IDs with ampersand: `projectId=10000&projectId=10001`." in: "query" name: "projectId" required: true schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :1,\"values\":[{\"issueTypeScreenScheme\":{\"id\":\"1\",\"name\":\"\ Default Issue Type Screen Scheme\",\"description\":\"The default issue\ \ type screen scheme\"},\"projectIds\":[\"10000\",\"10001\"]}]}" schema: $ref: "#/components/schemas/PageBeanIssueTypeScreenSchemesProjects" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue type screen schemes for projects" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type-screen-scheme:jira" state: "Beta" put: deprecated: false 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)." operationId: "assignIssueTypeScreenSchemeToProject" parameters: [] requestBody: content: application/json: example: issueTypeScreenSchemeId: "10001" projectId: "10002" schema: $ref: "#/components/schemas/IssueTypeScreenSchemeProjectAssociation" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Only classic projects can have issue\ \ type screen schemes assigned.\"],\"errors\":{}}" description: "Returned if:\n\n * project is not found.\n * issue type\ \ screen scheme is not found.\n * the project is not a classic project." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme was not\ \ found.\"],\"errors\":{}}" description: "Returned if the issue type screen scheme or the project are\ \ missing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Assign issue type screen scheme to project" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-screen-scheme:jira" - "write:project:jira" state: "Beta" /rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}: delete: deprecated: false description: "Deletes an issue type screen scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "deleteIssueTypeScreenScheme" parameters: - description: "The ID of the issue type screen scheme." in: "path" name: "issueTypeScreenSchemeId" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the issue type screen scheme is deleted." "400": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme cannot\ \ be deleted because it is assigned to one or more projects.\"],\"\ errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme was not\ \ found.\"],\"errors\":{}}" description: "Returned if the issue type screen scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete issue type screen scheme" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:issue-type-screen-scheme:jira" state: "Beta" put: deprecated: false description: "Updates an issue type screen scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateIssueTypeScreenScheme" parameters: - description: "The ID of the issue type screen scheme." in: "path" name: "issueTypeScreenSchemeId" required: true schema: type: "string" requestBody: content: application/json: example: description: "Screens for scrum issue types." name: "Scrum scheme" schema: $ref: "#/components/schemas/IssueTypeScreenSchemeUpdateDetails" description: "The issue type screen scheme update details." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme name is\ \ in use.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme was not\ \ found.\"],\"errors\":{}}" description: "Returned if the issue type screen scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update issue type screen scheme" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-screen-scheme:jira" state: "Beta" /rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping: put: deprecated: false 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)." operationId: "appendMappingsForIssueTypeScreenScheme" parameters: - description: "The ID of the issue type screen scheme." in: "path" name: "issueTypeScreenSchemeId" required: true schema: type: "string" requestBody: content: application/json: example: issueTypeMappings: - issueTypeId: "10000" screenSchemeId: "10001" - issueTypeId: "10001" screenSchemeId: "10002" - issueTypeId: "10002" screenSchemeId: "10002" schema: $ref: "#/components/schemas/IssueTypeScreenSchemeMappingDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"A default mapping cannot be added.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme was not\ \ found.\"],\"errors\":{}}" description: "Returned if the issue type screen scheme, issue type, or screen\ \ scheme is not found." "409": content: application/json: example: "{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least\ \ one of the issue types is a sub-task.\"],\"errors\":{}}" description: "Returned if the issue type is a sub-task, but sub-tasks are\ \ disabled in Jira settings." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Append mappings to issue type screen scheme" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-screen-scheme:jira" state: "Beta" /rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/default: put: deprecated: false 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)." operationId: "updateDefaultScreenScheme" parameters: - description: "The ID of the issue type screen scheme." in: "path" name: "issueTypeScreenSchemeId" required: true schema: type: "string" requestBody: content: application/json: example: screenSchemeId: "10010" schema: $ref: "#/components/schemas/UpdateDefaultScreenScheme" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The screenSchemeId has to be provided.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme was not\ \ found.\"],\"errors\":{}}" description: "Returned if the issue type screen scheme or the screen scheme\ \ is not found, or the screen scheme isn't used in classic projects." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update issue type screen scheme default screen scheme" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-screen-scheme:jira" state: "Beta" /rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/remove: post: deprecated: false 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)." operationId: "removeMappingsFromIssueTypeScreenScheme" parameters: - description: "The ID of the issue type screen scheme." in: "path" name: "issueTypeScreenSchemeId" required: true schema: type: "string" requestBody: content: application/json: example: issueTypeIds: - "10000" - "10001" - "10004" schema: $ref: "#/components/schemas/IssueTypeIds" required: true responses: "204": content: application/json: schema: {} description: "Returned if the screen scheme mappings are removed from the\ \ issue type screen scheme." "400": content: application/json: example: "{\"errorMessages\":[\"The issueTypeIds must not contain duplicates.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The issue type screen scheme was not\ \ found.\"],\"errors\":{}}" description: "Returned if the issue type screen scheme or one or more issue\ \ type mappings are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove mappings from issue type screen scheme" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:issue-type-screen-scheme:jira" state: "Beta" /rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/project: get: deprecated: false 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)." operationId: "getProjectsForIssueTypeScreenScheme" parameters: - description: "The ID of the issue type screen scheme." in: "path" name: "issueTypeScreenSchemeId" required: true schema: format: "int64" type: "integer" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - in: "query" name: "query" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :1,\"values\":[{\"avatarUrls\":{\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"32x32\"\ :\"secure/projectavatar?size=medium&pid=10000\",\"48x48\":\"secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"Project category description\",\"id\":\"10000\"\ ,\"name\":\"A project category\"},\"projectTypeKey\":\"ProjectTypeKey{key='software'}\"\ ,\"self\":\"project/EX\",\"simplified\":false}]}" schema: $ref: "#/components/schemas/PageBeanProjectDetails" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue type screen scheme projects" tags: - "Issue type screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" /rest/api/2/jql/autocompletedata: get: deprecated: false 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." operationId: "getAutoComplete" parameters: [] responses: "200": content: application/json: example: "{\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"\ distinct\"],\"visibleFieldNames\":[{\"displayName\":\"summary\",\"\ operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"orderable\":\"true\"\ ,\"searchable\":\"true\",\"types\":[\"java.lang.String\"],\"value\"\ :\"summary\"},{\"auto\":\"true\",\"cfid\":\"cf[10880]\",\"displayName\"\ :\"Sprint - cf[10880]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\"\ ,\"is\",\"is not\"],\"orderable\":\"true\",\"searchable\":\"true\"\ ,\"types\":[\"com.atlassian.greenhopper.service.sprint.Sprint\"],\"\ value\":\"Sprint\"}],\"visibleFunctionNames\":[{\"displayName\":\"\ standardIssueTypes()\",\"isList\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"\ ],\"value\":\"standardIssueTypes()\"},{\"displayName\":\"issuesWithText()\"\ ,\"supportsListAndSingleValueOperators\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"\ ],\"value\":\"issuesWithText()\"}]}" schema: $ref: "#/components/schemas/JQLReferenceData" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get field reference data (GET)" tags: - "JQL" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" state: "Beta" post: deprecated: false 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." operationId: "getAutoCompletePost" parameters: [] requestBody: content: application/json: example: includeCollapsedFields: true projectIds: - 10000 - 10001 - 10002 schema: $ref: "#/components/schemas/SearchAutoCompleteFilter" required: true responses: "200": content: application/json: example: "{\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"\ distinct\"],\"visibleFieldNames\":[{\"displayName\":\"summary\",\"\ operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"orderable\":\"true\"\ ,\"searchable\":\"true\",\"types\":[\"java.lang.String\"],\"value\"\ :\"summary\"},{\"auto\":\"true\",\"cfid\":\"cf[10061]\",\"displayName\"\ :\"Component - cf[10061]\",\"operators\":[\"=\",\"!=\",\"in\",\"not\ \ in\",\"is\",\"is not\"],\"orderable\":\"true\",\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"\ ],\"value\":\"cf[10061]\"},{\"auto\":\"true\",\"cfid\":\"cf[10062]\"\ ,\"displayName\":\"Component - cf[10062]\",\"operators\":[\"=\",\"\ !=\",\"in\",\"not in\",\"is\",\"is not\"],\"orderable\":\"true\",\"\ types\":[\"com.atlassian.jira.issue.customfields.option.Option\"],\"\ value\":\"cf[10062]\"},{\"auto\":\"true\",\"displayName\":\"Component\ \ - Component[Dropdown]\",\"operators\":[\"=\",\"!=\",\"in\",\"not\ \ in\",\"is\",\"is not\"],\"searchable\":\"true\",\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"\ ],\"value\":\"\\\"Component[Dropdown]\\\"\"}],\"visibleFunctionNames\"\ :[{\"displayName\":\"standardIssueTypes()\",\"isList\":\"true\",\"\ types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"],\"value\"\ :\"standardIssueTypes()\"}]}" schema: $ref: "#/components/schemas/JQLReferenceData" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get field reference data (POST)" tags: - "JQL" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" state: "Beta" /rest/api/2/jql/autocompletedata/suggestions: get: deprecated: false 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." operationId: "getFieldAutoCompleteForQueryString" parameters: - description: "The name of the field." in: "query" name: "fieldName" schema: example: "reporter" type: "string" x-showInExample: "true" - description: "The partial field item name entered by the user." in: "query" name: "fieldValue" schema: type: "string" - 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*." in: "query" name: "predicateName" schema: type: "string" - description: "The partial predicate item name entered by the user." in: "query" name: "predicateValue" schema: type: "string" responses: "200": content: application/json: example: "{\"results\":[{\"displayName\":\"ActiveObjects (AO)\"\ ,\"value\":\"ActiveObjects\"},{\"displayName\":\"Atlassian Connect\ \ (AC)\",\"value\":\"Atlassian Connect\"},{\"displayName\"\ :\"Atlassian Connect in Jira (ACJIRA)\",\"value\":\"Atlassian\ \ Connect in Jira\"}]}" schema: $ref: "#/components/schemas/AutoCompleteSuggestions" description: "Returned if the request is successful." "400": description: "Returned if an invalid combination of parameters is passed." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get field auto complete suggestions" tags: - "JQL" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-details:jira" state: "Beta" /rest/api/2/jql/function/computation: get: deprecated: false 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." operationId: "getPrecomputations" parameters: - 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]`" in: "query" name: "functionKey" schema: items: default: "" type: "string" type: "array" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" - 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." in: "query" name: "orderBy" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :1,\"values\":[{\"id\":\"cf75a1b0-4ac6-4bd8-8a50-29a465a96520\",\"\ value\":\"issue in (TEST-1, TEST-2, TEST-3)\",\"functionKey\":\"ari:cloud:ecosystem::extension/00000000-1111-2222-3333-4444444/111111-2222-3333-4444-55555/static/issuesWithText\"\ ,\"field\":\"issue\",\"operator\":\"in\",\"functionName\":\"issuesWithText\"\ ,\"arguments\":[\"Test\"],\"created\":\"2023-10-14T05:25:20.000+0000\"\ ,\"updated\":\"2023-10-14T05:25:20.000+0000\",\"used\":\"2023-10-14T05:25:20.000+0000\"\ },{\"id\":\"2a854f11-d0e1-4260-aea8-64a562a7062a\",\"error\":\"Error\ \ message to be displayed to the user\",\"functionKey\":\"ari:cloud:ecosystem::extension/00000000-1111-2222-3333-4444444/111111-2222-3333-4444-55555/static/issuesWithText\"\ ,\"field\":\"issue\",\"operator\":\"=\",\"functionName\":\"issuesWithText\"\ ,\"arguments\":[\"10001\"],\"created\":\"2023-10-14T05:25:20.000+0000\"\ ,\"updated\":\"2023-10-14T05:25:20.000+0000\",\"used\":\"2023-10-14T05:25:20.000+0000\"\ }]}" schema: $ref: "#/components/schemas/PageBeanJqlFunctionPrecomputationBean" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the request is not authenticated as the app that\ \ provided the function." "404": description: "Returned if the function is not found." security: - basicAuth: [] - OAuth2: [] summary: "Get precomputations (apps)" tags: - "JQL functions (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" x-experimental: true post: deprecated: false 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." operationId: "updatePrecomputations" parameters: [] requestBody: content: application/json: example: values: - id: "f2ef228b-367f-4c6b-bd9d-0d0e96b5bd7b" value: "issue in (TEST-1, TEST-2, TEST-3)" - error: "Error message to be displayed to the user" id: "2a854f11-d0e1-4260-aea8-64a562a7062a" schema: $ref: "#/components/schemas/JqlFunctionPrecomputationUpdateRequestBean" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "403": description: "Returned if the request is not authenticated as the app that\ \ provided the function." "404": description: "Returned if the function is not found." security: - basicAuth: [] - OAuth2: [] summary: "Update precomputations (apps)" tags: - "JQL functions (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" x-experimental: true /rest/api/2/jql/match: post: deprecated: false 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." operationId: "matchIssues" parameters: [] requestBody: content: application/json: example: issueIds: - 10001 - 1000 - 10042 jqls: - "project = FOO" - "issuetype = Bug" - "summary ~ \"some text\" AND project in (FOO, BAR)" schema: $ref: "#/components/schemas/IssuesAndJQLQueries" required: true responses: "200": content: application/json: example: "{\"matches\":[{\"matchedIssues\":[10000,10004],\"errors\"\ :[]},{\"matchedIssues\":[100134,10025,10236],\"errors\":[]},{\"matchedIssues\"\ :[],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[\"Invalid JQL:\ \ broken = value\"]}]}" schema: $ref: "#/components/schemas/IssueMatches" description: "Returned if the request is successful." "400": description: "Returned if `jqls` exceeds the maximum number of JQL queries\ \ or `issueIds` exceeds the maximum number of issue IDs." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Check issues against JQL" tags: - "Issue search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-details:jira" state: "Beta" /rest/api/2/jql/parse: post: deprecated: false 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." operationId: "parseJqlQueries" parameters: - 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." in: "query" name: "validation" required: true schema: default: "strict" enum: - "strict" - "warn" - "none" type: "string" requestBody: content: application/json: example: queries: - "summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy\ \ = currentUser()) AND status CHANGED AFTER startOfMonth(-1M) ORDER\ \ BY updated DESC" - "issue.property[\"spaces here\"].value in (\"Service requests\", Incidents)" - "invalid query" - "summary = test" - "summary in test" - "project = INVALID" - "universe = 42" schema: $ref: "#/components/schemas/JqlQueriesToParse" required: true responses: "200": content: application/json: example: "{\"queries\":[{\"query\":\"summary ~ test AND (labels in (urgent,\ \ blocker) OR lastCommentedBy = currentUser()) AND status CHANGED\ \ AFTER -5d ORDER BY updated DESC\",\"structure\":{\"orderBy\":{\"\ fields\":[{\"direction\":\"desc\",\"field\":{\"encodedName\":\"updated\"\ ,\"name\":\"updated\"}}]},\"where\":{\"clauses\":[{\"field\":{\"encodedName\"\ :\"summary\",\"name\":\"summary\"},\"operand\":{\"encodedValue\":\"\ test\",\"value\":\"test\"},\"operator\":\"~\"},{\"clauses\":[{\"field\"\ :{\"encodedName\":\"labels\",\"name\":\"labels\"},\"operand\":{\"\ encodedOperand\":\"urgent, blocker)\",\"values\":[{\"encodedValue\"\ :\"urgent\",\"value\":\"urgent\"},{\"encodedValue\":\"blocker\",\"\ value\":\"blocker\"}]},\"operator\":\"in\"},{\"field\":{\"encodedName\"\ :\"lastCommentedBy\",\"name\":\"lastCommentedBy\",\"property\":[{\"\ entity\":\"issue\",\"key\":\"propertyKey\",\"path\":\"path.in.property\"\ ,\"type\":\"user\"}]},\"operand\":{\"arguments\":[],\"encodedOperand\"\ :\"currentUser()\",\"function\":\"currentUser\"},\"operator\":\"=\"\ }],\"operator\":\"or\"},{\"field\":{\"encodedName\":\"status\",\"\ name\":\"status\"},\"operator\":\"changed\",\"predicates\":[{\"operand\"\ :{\"arguments\":[\"-1M\"],\"encodedOperand\":\"startOfMonth(-1M)\"\ ,\"function\":\"startOfMonth\"},\"operator\":\"after\"}]}],\"operator\"\ :\"and\"}}},{\"query\":\"issue.property[\\\"spaces here\\\"].value\ \ in (\\\"Service requests\\\", Incidents)\",\"structure\":{\"where\"\ :{\"field\":{\"encodedName\":\"issue.property[\\\"spaces here\\\"\ ].value\",\"name\":\"issue.property[spaces here].value\",\"property\"\ :[{\"entity\":\"issue\",\"key\":\"spaces here\",\"path\":\"value\"\ }]},\"operand\":{\"encodedOperand\":\"(\\\"Service requests\\\", Incidents)\"\ ,\"values\":[{\"encodedValue\":\"\\\"Service requests\\\"\",\"value\"\ :\"Service requests\"},{\"encodedValue\":\"Incidents\",\"value\":\"\ Incidents\"}]},\"operator\":\"in\"}}},{\"errors\":[\"Error in the\ \ JQL Query: Expecting operator but got 'query'. The valid operators\ \ are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN',\ \ 'IS' and 'IS NOT'. (line 1, character 9)\"],\"query\":\"invalid\ \ query\"},{\"errors\":[\"The operator '=' is not supported by the\ \ 'summary' field.\"],\"query\":\"summary = test\"},{\"errors\":[\"\ Operator 'in' does not support the non-list value '\\\"test\\\"' for\ \ field 'summary'.\"],\"query\":\"summary in test\"},{\"errors\":[\"\ The value 'INVALID' does not exist for the field 'project'.\"],\"\ query\":\"project = INVALID\"},{\"errors\":[\"Field 'universe' does\ \ not exist or you do not have permission to view it.\"],\"query\"\ :\"universe = 42\"}]}" schema: $ref: "#/components/schemas/ParsedJqlQueries" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Parse JQL query" tags: - "JQL" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "validate:jql:jira" - "read:jql:jira" state: "Beta" x-experimental: true /rest/api/2/jql/pdcleaner: post: deprecated: false 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." operationId: "migrateQueries" parameters: [] requestBody: content: application/json: example: queryStrings: - "assignee = mia" - "issuetype = Bug AND assignee in (mia) AND reporter in (alana) order\ \ by lastViewed DESC" schema: $ref: "#/components/schemas/JQLPersonalDataMigrationRequest" required: true responses: "200": content: application/json: example: "{\"queriesWithUnknownUsers\":[{\"convertedQuery\":\"assignee\ \ = unknown\",\"originalQuery\":\"assignee = mia\"}],\"queryStrings\"\ :[\"issuetype = Bug AND assignee in (abcde-12345) AND reporter in\ \ (abc551-c4e99) order by lastViewed DESC\"]}" schema: $ref: "#/components/schemas/ConvertedJQLQueries" description: "Returned if the request is successful. Note that the JQL queries\ \ are returned in the same order that they were passed." "400": content: application/json: schema: type: "string" description: "Returned if at least one of the queries cannot be converted.\ \ For example, the JQL has invalid operators or invalid keywords, or the\ \ users in the query cannot be found." "401": content: application/json: schema: type: "string" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Convert user identifiers to account IDs in JQL queries" tags: - "JQL" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:jql:jira" - "validate:jql:jira" state: "Beta" /rest/api/2/jql/sanitize: post: deprecated: false 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)." operationId: "sanitiseJqlQueries" parameters: [] requestBody: content: application/json: example: queries: - query: "project = 'Sample project'" - accountId: "5b10ac8d82e05b22cc7d4ef5" query: "project = 'Sample project'" - accountId: "cda2aa1395ac195d951b3387" query: "project = 'Sample project'" - accountId: "5b10ac8d82e05b22cc7d4ef5" query: "invalid query" schema: $ref: "#/components/schemas/JqlQueriesToSanitize" required: true responses: "200": content: application/json: example: "{\"queries\":[{\"initialQuery\":\"project = 'Sample project'\"\ ,\"sanitizedQuery\":\"project = 12345\"},{\"initialQuery\":\"project\ \ = 'Sample project'\",\"sanitizedQuery\":\"project = 'Sample project'\"\ ,\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"},{\"initialQuery\":\"\ project = 'Sample project'\",\"sanitizedQuery\":\"project = 12345\"\ ,\"accountId\":\"cda2aa1395ac195d951b3387\"},{\"initialQuery\":\"\ non-parsable query\",\"errors\":{\"errorMessages\":[\"Error in the\ \ JQL Query: Expecting operator but got 'query'. The valid operators\ \ are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN',\ \ 'IS' and 'IS NOT'. (line 1, character 9)\"],\"errors\":{}},\"accountId\"\ :\"5b10ac8d82e05b22cc7d4ef5\"}]}" schema: $ref: "#/components/schemas/SanitizedJqlQueries" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The queries has to be provided.\"],\"\ errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Sanitize JQL queries" tags: - "JQL" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:jql:jira" state: "Beta" x-experimental: true /rest/api/2/label: get: deprecated: false description: "Returns a [paginated](#pagination) list of labels." operationId: "getAllLabels" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 1000 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":2,\"startAt\":0,\"total\"\ :100,\"values\":[\"performance\",\"security\"]}" schema: $ref: "#/components/schemas/PageBeanString" description: "Returned if the request is successful." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get all labels" tags: - "Labels" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:label:jira" state: "Beta" /rest/api/2/license/approximateLicenseCount: get: deprecated: false 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)." operationId: "getApproximateLicenseCount" parameters: [] responses: "200": content: application/json: example: "{\"key\":\"license.totalApproximateUserCount\",\"value\":\"\ 1000\"}" schema: $ref: "#/components/schemas/LicenseMetric" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollections" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ license details.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollections" description: "Returned if the user does not have permission to complete\ \ this request." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get approximate license count" tags: - "License metrics" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:license:jira" state: "Beta" x-experimental: true /rest/api/2/license/approximateLicenseCount/product/{applicationKey}: get: deprecated: false 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)." operationId: "getApproximateApplicationLicenseCount" parameters: - description: "The ID of the application, represents a specific version of\ \ Jira." in: "path" name: "applicationKey" required: true schema: enum: - "jira-core" - "jira-product-discovery" - "jira-software" - "jira-servicedesk" type: "string" responses: "200": content: application/json: example: "{\"key\":\"license.jira-software.approximateUserCount\",\"\ value\":\"115\"}" schema: $ref: "#/components/schemas/LicenseMetric" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ license details.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have permission to complete\ \ this request." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get approximate application license count" tags: - "License metrics" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:license:jira" state: "Beta" x-experimental: true /rest/api/2/mypermissions: get: deprecated: false 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." operationId: "getMyPermissions" parameters: - description: "The key of project. Ignored if `projectId` is provided." in: "query" name: "projectKey" schema: type: "string" - description: "The ID of project." in: "query" name: "projectId" schema: type: "string" - description: "The key of the issue. Ignored if `issueId` is provided." in: "query" name: "issueKey" schema: type: "string" - description: "The ID of the issue." in: "query" name: "issueId" schema: type: "string" - 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)." in: "query" name: "permissions" schema: example: "BROWSE_PROJECTS,EDIT_ISSUES" type: "string" x-changes: - announced: "2018-08-01" details: "https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/" effective: "2019-02-01" type: "required" x-showInExample: "true" - in: "query" name: "projectUuid" schema: type: "string" - in: "query" name: "projectConfigurationUuid" schema: type: "string" - description: "The ID of the comment." in: "query" name: "commentId" schema: type: "string" responses: "200": content: application/json: example: "{\"permissions\":{\"EDIT_ISSUES\":{\"description\":\"Ability\ \ to edit issues.\",\"havePermission\":true,\"id\":\"12\",\"key\"\ :\"EDIT_ISSUES\",\"name\":\"Edit Issues\",\"type\":\"PROJECT\"}}}" schema: $ref: "#/components/schemas/Permissions" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if `permissions` is empty, contains an invalid key,\ \ or does not equal BROWSE\\_PROJECTS when commentId is provided." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the project or issue is not found or the user\ \ does not have permission to view the project or issue." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get my permissions" tags: - "Permissions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:permission:jira" state: "Beta" /rest/api/2/mypreferences: delete: deprecated: false 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." operationId: "removePreference" parameters: - description: "The key of the preference." in: "query" name: "key" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the key is not provided or not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete preference" tags: - "Myself" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:user-configuration:jira" state: "Beta" get: deprecated: false 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." operationId: "getPreference" parameters: - description: "The key of the preference." in: "query" name: "key" required: true schema: type: "string" responses: "200": content: application/json: schema: type: "string" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the key is not provided or not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get preference" tags: - "Myself" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user-configuration:jira" state: "Beta" put: deprecated: false 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." operationId: "setPreference" parameters: - description: "The key of the preference. The maximum length is 255 characters." in: "query" name: "key" required: true schema: type: "string" requestBody: content: application/json: schema: type: "string" text/plain: schema: type: "string" description: "The value of the preference as a plain text string. The maximum\ \ length is 255 characters." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the key or value is not provided or invalid." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set preference" tags: - "Myself" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:user-configuration:jira" state: "Beta" /rest/api/2/mypreferences/locale: delete: deprecated: true 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." operationId: "deleteLocale" parameters: [] responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] summary: "Delete locale" tags: - "Myself" x-atlassian-data-security-policy: - app-access-rule-exempt: true get: deprecated: false 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." operationId: "getLocale" parameters: [] responses: "200": content: application/json: example: "{\"locale\":\"en_US\"}" schema: $ref: "#/components/schemas/Locale" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Get locale" tags: - "Myself" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user-configuration:jira" state: "Beta" put: deprecated: true 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." operationId: "setLocale" parameters: [] requestBody: content: application/json: example: locale: "en_US" schema: $ref: "#/components/schemas/Locale" description: "The locale defined in a LocaleBean." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] summary: "Set locale" tags: - "Myself" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/myself: get: deprecated: false description: "Returns details for the current user.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getCurrentUser" parameters: - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":true,\"applicationRoles\":{\"items\":[],\"\ size\":1},\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"}" schema: $ref: "#/components/schemas/User" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Get current user" tags: - "Myself" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:group:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/notificationscheme: get: deprecated: false 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." operationId: "getNotificationSchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - description: "The list of notification schemes IDs to be filtered by" in: "query" name: "id" schema: items: default: "" type: "string" type: "array" uniqueItems: true - description: "The list of projects IDs to be filtered by" in: "query" name: "projectId" schema: items: default: "" type: "string" type: "array" uniqueItems: 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." in: "query" name: "onlyDefault" schema: default: false type: "boolean" - 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" in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":6,\"startAt\":1,\"total\"\ :5,\"values\":[{\"description\":\"description\",\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\"\ ,\"id\":10100,\"name\":\"notification scheme name\",\"notificationSchemeEvents\"\ :[{\"event\":{\"description\":\"Event published when an issue is created\"\ ,\"id\":1,\"name\":\"Issue created\"},\"notifications\":[{\"expand\"\ :\"group\",\"group\":{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\"\ ,\"recipient\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"id\":2,\"\ notificationType\":\"CurrentAssignee\"},{\"expand\":\"projectRole\"\ ,\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\"\ ,\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"recipient\":\"10360\"},{\"emailAddress\"\ :\"rest-developer@atlassian.com\",\"id\":4,\"notificationType\":\"\ EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"recipient\"\ :\"rest-developer@atlassian.com\"},{\"expand\":\"user\",\"id\":5,\"\ notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\"\ ,\"recipient\":\"5b10a2844c20165700ede21g\",\"user\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }},{\"expand\":\"field\",\"field\":{\"clauseNames\":[\"cf[10101]\"\ ,\"New custom field\"],\"custom\":true,\"id\":\"customfield_10101\"\ ,\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"navigable\"\ :true,\"orderable\":true,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:project\"\ ,\"customId\":10101,\"type\":\"project\"},\"searchable\":true,\"untranslatedName\"\ :\"New custom field\"},\"id\":6,\"notificationType\":\"GroupCustomField\"\ ,\"parameter\":\"customfield_10101\",\"recipient\":\"customfield_10101\"\ }]},{\"event\":{\"description\":\"Custom event that is published together\ \ with an issue created event\",\"id\":20,\"name\":\"Custom event\"\ ,\"templateEvent\":{\"description\":\"Event published when an issue\ \ is created\",\"id\":1,\"name\":\"Issue created\"}},\"notifications\"\ :[{\"expand\":\"group\",\"group\":{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\"\ ,\"recipient\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"id\":2,\"\ notificationType\":\"CurrentAssignee\"},{\"expand\":\"projectRole\"\ ,\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\"\ ,\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"recipient\":\"10360\"},{\"emailAddress\"\ :\"rest-developer@atlassian.com\",\"id\":4,\"notificationType\":\"\ EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"recipient\"\ :\"rest-developer@atlassian.com\"},{\"expand\":\"user\",\"id\":5,\"\ notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\"\ ,\"recipient\":\"5b10a2844c20165700ede21g\",\"user\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }},{\"expand\":\"field\",\"field\":{\"clauseNames\":[\"cf[10101]\"\ ,\"New custom field\"],\"custom\":true,\"id\":\"customfield_10101\"\ ,\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"navigable\"\ :true,\"orderable\":true,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:project\"\ ,\"customId\":10101,\"type\":\"project\"},\"searchable\":true,\"untranslatedName\"\ :\"New custom field\"},\"id\":6,\"notificationType\":\"GroupCustomField\"\ ,\"parameter\":\"customfield_10101\",\"recipient\":\"customfield_10101\"\ }]}],\"projects\":[10001,10002],\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\"\ }]}" schema: $ref: "#/components/schemas/PageBeanNotificationScheme" description: "Returned if the request is successful. Only returns notification\ \ schemes that the user has permission to access. An empty list is returned\ \ if the user lacks permission to access all notification schemes." "400": content: application/json: example: "{\"errorMessages\":[\"%20. is not a valid value. id must be\ \ zero or a positive integer.\"],\"errors\":{}}" description: "Returned if the request isn't valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get notification schemes paginated" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:notification-scheme:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" - "read:group:jira" - "read:project-category:jira" - "read:field-configuration:jira" state: "Beta" post: deprecated: false 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)." operationId: "createNotificationScheme" parameters: [] requestBody: content: application/json: example: description: "My new scheme description" name: "My new notification scheme" notificationSchemeEvents: - event: id: "1" notifications: - notificationType: "Group" parameter: "jira-administrators" schema: $ref: "#/components/schemas/CreateNotificationSchemeDetails" required: true responses: "201": content: application/json: example: "{\"id\":\"10001\"}" schema: $ref: "#/components/schemas/NotificationSchemeId" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 4000 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create notification scheme" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/notificationscheme/project: get: deprecated: false 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." operationId: "getNotificationSchemeToProjectMappings" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - description: "The list of notifications scheme IDs to be filtered out" in: "query" name: "notificationSchemeId" schema: items: default: "" type: "string" type: "array" uniqueItems: true - description: "The list of project IDs to be filtered out" in: "query" name: "projectId" schema: items: default: "" type: "string" type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :4,\"values\":[{\"notificationSchemeId\":\"10001\",\"projectId\":\"\ 100001\"}]}" schema: $ref: "#/components/schemas/PageBeanNotificationSchemeAndProjectMappingJsonBean" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if search criteria are invalid, strings vs numbers\ \ for projectId, notificationSchemeId, startAt and maxResult" "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get projects using notification schemes paginated" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:notification-scheme:jira" - "read:project:jira" state: "Beta" /rest/api/2/notificationscheme/{id}: get: deprecated: false 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." operationId: "getNotificationScheme" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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" in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"description\",\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\"\ ,\"id\":10100,\"name\":\"notification scheme name\",\"notificationSchemeEvents\"\ :[{\"event\":{\"description\":\"Event published when an issue is created\"\ ,\"id\":1,\"name\":\"Issue created\"},\"notifications\":[{\"expand\"\ :\"group\",\"group\":{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\"\ ,\"recipient\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"id\":2,\"\ notificationType\":\"CurrentAssignee\"},{\"expand\":\"projectRole\"\ ,\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\"\ ,\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"recipient\":\"10360\"},{\"emailAddress\"\ :\"rest-developer@atlassian.com\",\"id\":4,\"notificationType\":\"\ EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"recipient\"\ :\"rest-developer@atlassian.com\"},{\"expand\":\"user\",\"id\":5,\"\ notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\"\ ,\"recipient\":\"5b10a2844c20165700ede21g\",\"user\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }},{\"expand\":\"field\",\"field\":{\"clauseNames\":[\"cf[10101]\"\ ,\"New custom field\"],\"custom\":true,\"id\":\"customfield_10101\"\ ,\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"navigable\"\ :true,\"orderable\":true,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:project\"\ ,\"customId\":10101,\"type\":\"project\"},\"searchable\":true,\"untranslatedName\"\ :\"New custom field\"},\"id\":6,\"notificationType\":\"GroupCustomField\"\ ,\"parameter\":\"customfield_10101\",\"recipient\":\"customfield_10101\"\ }]},{\"event\":{\"description\":\"Custom event that is published together\ \ with an issue created event\",\"id\":20,\"name\":\"Custom event\"\ ,\"templateEvent\":{\"description\":\"Event published when an issue\ \ is created\",\"id\":1,\"name\":\"Issue created\"}},\"notifications\"\ :[{\"expand\":\"group\",\"group\":{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\"\ ,\"recipient\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"id\":2,\"\ notificationType\":\"CurrentAssignee\"},{\"expand\":\"projectRole\"\ ,\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\"\ ,\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"recipient\":\"10360\"},{\"emailAddress\"\ :\"rest-developer@atlassian.com\",\"id\":4,\"notificationType\":\"\ EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"recipient\"\ :\"rest-developer@atlassian.com\"},{\"expand\":\"user\",\"id\":5,\"\ notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\"\ ,\"recipient\":\"5b10a2844c20165700ede21g\",\"user\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }},{\"expand\":\"field\",\"field\":{\"clauseNames\":[\"cf[10101]\"\ ,\"New custom field\"],\"custom\":true,\"id\":\"customfield_10101\"\ ,\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"navigable\"\ :true,\"orderable\":true,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:project\"\ ,\"customId\":10101,\"type\":\"project\"},\"searchable\":true,\"untranslatedName\"\ :\"New custom field\"},\"id\":6,\"notificationType\":\"GroupCustomField\"\ ,\"parameter\":\"customfield_10101\",\"recipient\":\"customfield_10101\"\ }]}],\"projects\":[10001,10002],\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\"\ }" schema: $ref: "#/components/schemas/NotificationScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the notification scheme is not found or the user\ \ does not have permission to view it." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get notification scheme" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:notification-scheme:jira" - "read:project:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" - "read:field-configuration:jira" - "read:group:jira" - "read:project-category:jira" state: "Beta" put: deprecated: false description: "Updates a notification scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateNotificationScheme" parameters: - description: "The ID of the notification scheme." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: description: "My updated notification scheme description" name: "My updated notification scheme" schema: $ref: "#/components/schemas/UpdateNotificationSchemeDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 4000 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Notification scheme with ID 10000 not\ \ found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the notification scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update notification scheme" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/notificationscheme/{id}/notification: put: deprecated: false 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)." operationId: "addNotifications" parameters: - description: "The ID of the notification scheme." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: notificationSchemeEvents: - event: id: "1" notifications: - notificationType: "Group" parameter: "jira-administrators" schema: $ref: "#/components/schemas/AddNotificationsDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Event type with ID 2 not found.\"],\"\ errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Notification scheme with ID 10001 not\ \ found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the notification scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Add notifications to notification scheme" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/notificationscheme/{notificationSchemeId}: delete: deprecated: false description: "Deletes a notification scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "deleteNotificationScheme" parameters: - description: "The ID of the notification scheme." in: "path" name: "notificationSchemeId" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"You can’t delete the default notification\ \ scheme.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Notification scheme with ID 10000 not\ \ found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the notification scheme isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete notification scheme" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/notificationscheme/{notificationSchemeId}/notification/{notificationId}: delete: deprecated: false description: "Removes a notification from a notification scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "removeNotificationFromNotificationScheme" parameters: - description: "The ID of the notification scheme." in: "path" name: "notificationSchemeId" required: true schema: type: "string" - description: "The ID of the notification." in: "path" name: "notificationId" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Notification scheme with ID 10000 not\ \ found.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if either the notification scheme or notification\ \ isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Remove notification from notification scheme" tags: - "Issue notification schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/permissions: get: deprecated: false 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." operationId: "getAllPermissions" parameters: [] responses: "200": content: application/json: example: "{\"permissions\":{\"BULK_CHANGE\":{\"description\":\"Ability\ \ to modify a collection of issues at once. For example, resolve multiple\ \ issues in one step.\",\"key\":\"BULK_CHANGE\",\"name\":\"Bulk Change\"\ ,\"type\":\"GLOBAL\"}}}" schema: $ref: "#/components/schemas/Permissions" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Get all permissions" tags: - "Permissions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:permission:jira" state: "Beta" /rest/api/2/permissions/check: post: deprecated: false 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." operationId: "getBulkPermissions" parameters: [] requestBody: content: application/json: example: accountId: "5b10a2844c20165700ede21g" globalPermissions: - "ADMINISTER" projectPermissions: - issues: - 10010 - 10011 - 10012 - 10013 - 10014 permissions: - "EDIT_ISSUES" projects: - 10001 schema: $ref: "#/components/schemas/BulkPermissionsRequestBean" description: "Details of the permissions to check." required: true responses: "200": content: application/json: example: "{\"globalPermissions\":[\"ADMINISTER\"],\"projectPermissions\"\ :[{\"issues\":[10010,10013,10014],\"permission\":\"EDIT_ISSUES\",\"\ projects\":[10001]}]}" schema: $ref: "#/components/schemas/BulkPermissionGrants" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[],\"errors\":{\"PERMISSION_123\":\"Unrecognized\ \ permission\"}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if:\n\n * `projectPermissions` is provided without\ \ at least one project permission being provided.\n * an invalid global\ \ permission is provided in the global permissions list.\n * an invalid\ \ project permission is provided in the project permissions list.\n *\ \ more than 1000 valid project IDs or more than 1000 valid issue IDs\ \ are provided.\n * an invalid account ID is provided." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can perform\ \ this operation.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: [] - {} summary: "Get bulk permissions" tags: - "Permissions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: - "read:permission:jira" state: "Beta" /rest/api/2/permissions/project: post: deprecated: false 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." operationId: "getPermittedProjects" parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/PermissionsKeysBean" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/PermittedProjects" description: "Returned if the request is successful." "400": description: "Returned if a project permission is not found." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get permitted projects" tags: - "Permissions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:permission:jira" - "read:project:jira" state: "Beta" /rest/api/2/permissionscheme: get: deprecated: false 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\n\ The `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." operationId: "getAllPermissionSchemes" parameters: - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"permissionSchemes\":[{\"description\":\"description\",\"\ id\":10000,\"name\":\"Example permission scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\"\ }]}" schema: $ref: "#/components/schemas/PermissionSchemes" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get all permission schemes" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission-scheme:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" post: deprecated: false 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)." operationId: "createPermissionScheme" parameters: - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: description: "description" name: "Example permission scheme" permissions: - holder: parameter: "jira-core-users" type: "group" value: "ca85fac0-d974-40ca-a615-7af99c48d24f" permission: "ADMINISTER_PROJECTS" schema: $ref: "#/components/schemas/PermissionScheme" description: "The permission scheme to create." required: true responses: "201": content: application/json: example: "{\"description\":\"description\",\"id\":10000,\"name\":\"\ Example permission scheme\",\"permissions\":[{\"holder\":{\"expand\"\ :\"group\",\"parameter\":\"jira-core-users\",\"type\":\"group\",\"\ value\":\"ca85fac0-d974-40ca-a615-7af99c48d24f\"},\"id\":10000,\"\ permission\":\"ADMINISTER_PROJECTS\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\"\ }],\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\"\ }" schema: $ref: "#/components/schemas/PermissionScheme" description: "Returned if the permission scheme is created." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or the feature is not available in the Jira plan." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create permission scheme" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:permission-scheme:jira" - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission-scheme:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/permissionscheme/{schemeId}: delete: deprecated: false description: "Deletes a permission scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "deletePermissionScheme" parameters: - description: "The ID of the permission scheme being deleted." in: "path" name: "schemeId" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the permission scheme is deleted." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the permission scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete permission scheme" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:permission-scheme:jira" state: "Beta" get: deprecated: false description: "Returns a permission scheme.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getPermissionScheme" parameters: - description: "The ID of the permission scheme to return." in: "path" name: "schemeId" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"description\",\"id\":10000,\"name\":\"\ Example permission scheme\",\"permissions\":[{\"holder\":{\"expand\"\ :\"group\",\"parameter\":\"jira-core-users\",\"type\":\"group\",\"\ value\":\"ca85fac0-d974-40ca-a615-7af99c48d24f\"},\"id\":10000,\"\ permission\":\"ADMINISTER_PROJECTS\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\"\ }],\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\"\ }" schema: $ref: "#/components/schemas/PermissionScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the permission scheme is not found or the user\ \ does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get permission scheme" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission-scheme:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" put: deprecated: false 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)." operationId: "updatePermissionScheme" parameters: - description: "The ID of the permission scheme to update." in: "path" name: "schemeId" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: description: "description" name: "Example permission scheme" permissions: - holder: parameter: "jira-core-users" type: "group" value: "ca85fac0-d974-40ca-a615-7af99c48d24f" permission: "ADMINISTER_PROJECTS" schema: $ref: "#/components/schemas/PermissionScheme" required: true responses: "200": content: application/json: example: "{\"description\":\"description\",\"id\":10000,\"name\":\"\ Example permission scheme\",\"permissions\":[{\"holder\":{\"expand\"\ :\"group\",\"parameter\":\"jira-core-users\",\"type\":\"group\",\"\ value\":\"ca85fac0-d974-40ca-a615-7af99c48d24f\"},\"id\":10000,\"\ permission\":\"ADMINISTER_PROJECTS\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\"\ }],\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\"\ }" schema: $ref: "#/components/schemas/PermissionScheme" description: "Returned if the scheme is updated." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if:\n\n * the user does not have the necessary permission\ \ to update permission schemes.\n * the Jira instance is Jira Core Free\ \ or Jira Software Free. Permission schemes cannot be updated on free\ \ plans." "404": description: "Returned if the permission scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update permission scheme" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:permission-scheme:jira" - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission-scheme:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/permissionscheme/{schemeId}/permission: get: deprecated: false description: "Returns all permission grants for a permission scheme.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getPermissionSchemeGrants" parameters: - description: "The ID of the permission scheme." in: "path" name: "schemeId" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"expand\":\"user,group,projectRole,field,all\",\"permissions\"\ :[{\"holder\":{\"expand\":\"group\",\"parameter\":\"jira-core-users\"\ ,\"type\":\"group\",\"value\":\"ca85fac0-d974-40ca-a615-7af99c48d24f\"\ },\"id\":10000,\"permission\":\"ADMINISTER_PROJECTS\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\"\ }]}" schema: $ref: "#/components/schemas/PermissionGrants" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the permission schemes is not found or the user\ \ does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get permission scheme grants" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" state: "Beta" post: deprecated: false description: "Creates a permission grant in a permission scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createPermissionGrant" parameters: - description: "The ID of the permission scheme in which to create a new permission\ \ grant." in: "path" name: "schemeId" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: holder: parameter: "jira-core-users" type: "group" value: "ca85fac0-d974-40ca-a615-7af99c48d24f" permission: "ADMINISTER_PROJECTS" schema: $ref: "#/components/schemas/PermissionGrant" description: "The permission grant to create." required: true responses: "201": content: application/json: example: "{\"holder\":{\"expand\":\"group\",\"parameter\":\"jira-core-users\"\ ,\"type\":\"group\",\"value\":\"ca85fac0-d974-40ca-a615-7af99c48d24f\"\ },\"id\":10000,\"permission\":\"ADMINISTER_PROJECTS\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\"\ }" schema: $ref: "#/components/schemas/PermissionGrant" description: "Returned if the scheme permission is created." "400": description: "Returned if the value for expand is invalid or the same permission\ \ grant is present." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create permission grant" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" - "write:permission:jira" state: "Beta" /rest/api/2/permissionscheme/{schemeId}/permission/{permissionId}: delete: deprecated: false 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)." operationId: "deletePermissionSchemeEntity" parameters: - description: "The ID of the permission scheme to delete the permission grant\ \ from." in: "path" name: "schemeId" required: true schema: format: "int64" type: "integer" - description: "The ID of the permission grant to delete." in: "path" name: "permissionId" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the permission grant is deleted." "400": description: "Returned if permission grant with the provided ID is not found." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete permission scheme grant" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:permission:jira" state: "Beta" get: deprecated: false description: "Returns a permission grant.\n\n**[Permissions](#permissions) required:**\ \ Permission to access Jira." operationId: "getPermissionSchemeGrant" parameters: - description: "The ID of the permission scheme." in: "path" name: "schemeId" required: true schema: format: "int64" type: "integer" - description: "The ID of the permission grant." in: "path" name: "permissionId" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"holder\":{\"expand\":\"group\",\"parameter\":\"jira-core-users\"\ ,\"type\":\"group\",\"value\":\"ca85fac0-d974-40ca-a615-7af99c48d24f\"\ },\"id\":10000,\"permission\":\"ADMINISTER_PROJECTS\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\"\ }" schema: $ref: "#/components/schemas/PermissionGrant" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the permission scheme or permission grant is not\ \ found or the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get permission scheme grant" tags: - "Permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" state: "Beta" /rest/api/2/priority: get: deprecated: true description: "Returns the list of all issue priorities.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getPriorities" parameters: [] responses: "200": content: application/json: example: "[{\"description\":\"Major loss of function.\",\"iconUrl\"\ :\"https://your-domain.atlassian.net/images/icons/priorities/major.png\"\ ,\"id\":\"1\",\"name\":\"Major\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\"\ ,\"statusColor\":\"#009900\"},{\"description\":\"Very little impact.\"\ ,\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\"\ ,\"id\":\"2\",\"name\":\"Trivial\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/5\"\ ,\"statusColor\":\"#cfcfcf\"}]" schema: items: $ref: "#/components/schemas/Priority" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get priorities" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:priority:jira" state: "Beta" x-changes: - announced: "2022-10-11" details: "https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-762" effective: "2023-04-11" type: "removed" post: deprecated: false description: "Creates an issue priority.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createPriority" parameters: [] requestBody: content: application/json: example: description: "My priority description" iconUrl: "images/icons/priorities/major.png" name: "My new priority" statusColor: "#ABCDEF" schema: $ref: "#/components/schemas/CreatePriorityDetails" required: true responses: "201": content: application/json: example: "{\"id\":\"10001\"}" schema: $ref: "#/components/schemas/PriorityId" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 255 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ issue type screen schemes.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create priority" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/priority/default: put: deprecated: false description: "Sets default issue priority.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "setDefaultPriority" parameters: [] requestBody: content: application/json: example: id: "3" schema: $ref: "#/components/schemas/SetDefaultPriorityRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The id has to be provided.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Priority with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue priority isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set default priority" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/priority/move: put: deprecated: false description: "Changes the order of issue priorities.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "movePriorities" parameters: [] requestBody: content: application/json: example: after: "10003" ids: - "10004" - "10005" schema: $ref: "#/components/schemas/ReorderIssuePriorities" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The ids must contain no more than 1,000\ \ items.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Priority with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue priority isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Move priorities" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/priority/search: get: deprecated: false 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." operationId: "searchPriorities" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - description: "The list of priority IDs. To include multiple IDs, provide an\ \ ampersand-separated list. For example, `id=2&id=3`." in: "query" name: "id" schema: items: default: "" type: "string" type: "array" - description: "The list of projects IDs. To include multiple IDs, provide an\ \ ampersand-separated list. For example, `projectId=10010&projectId=10111`." in: "query" name: "projectId" schema: items: default: "" type: "string" type: "array" - description: "The name of priority to search for." in: "query" name: "priorityName" schema: default: "" type: "string" - description: "Whether only the default priority is returned." in: "query" name: "onlyDefault" schema: default: false type: "boolean" - description: "Use `schemes` to return the associated priority schemes for\ \ each priority. Limited to returning first 15 priority schemes per priority." in: "query" name: "expand" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :2,\"values\":[{\"description\":\"Major loss of function.\",\"iconUrl\"\ :\"https://your-domain.atlassian.net/images/icons/priorities/major.png\"\ ,\"id\":\"1\",\"isDefault\":true,\"name\":\"Major\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\"\ ,\"statusColor\":\"#009900\"},{\"description\":\"Very little impact.\"\ ,\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\"\ ,\"id\":\"2\",\"isDefault\":false,\"name\":\"Trivial\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/priority/5\",\"statusColor\"\ :\"#cfcfcf\"}]}" schema: $ref: "#/components/schemas/PageBeanPriority" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Search priorities" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/priority/{id}: delete: deprecated: true 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)." operationId: "deletePriority" parameters: - description: "The ID of the issue priority." in: "path" name: "id" required: true schema: type: "string" - description: "The ID of the issue priority that will replace the currently\ \ selected resolution." in: "query" name: "replaceWith" required: true schema: type: "string" responses: "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The newPriority has to be provided.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Priority with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue priority isn't found." "409": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if a task to delete the issue priority is already\ \ running." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete priority" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-changes: - announced: "2023-07-18" details: "https://developer.atlassian.com/changelog/#CHANGE-1066" effective: "2023-12-01" type: "removed" x-experimental: true get: deprecated: false description: "Returns an issue priority.\n\n**[Permissions](#permissions) required:**\ \ Permission to access Jira." operationId: "getPriority" parameters: - description: "The ID of the issue priority." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"Major loss of function.\",\"iconUrl\":\"\ https://your-domain.atlassian.net/images/icons/priorities/major.png\"\ ,\"id\":\"1\",\"name\":\"Major\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\"\ ,\"statusColor\":\"#009900\"}" schema: $ref: "#/components/schemas/Priority" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if the issue priority isn't found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get priority" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:priority:jira" state: "Beta" put: deprecated: false description: "Updates an issue priority.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updatePriority" parameters: - description: "The ID of the issue priority." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: description: "My updated priority description" iconUrl: "images/icons/priorities/minor.png" name: "My updated priority" statusColor: "#123456" schema: $ref: "#/components/schemas/UpdatePriorityDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 255 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Priority with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue priority isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update priority" tags: - "Issue priorities" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/project: get: deprecated: true 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." operationId: "getAllProjects" parameters: - 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." in: "query" name: "expand" schema: type: "string" - 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." in: "query" name: "recent" schema: format: "int32" type: "integer" - description: "A list of project properties to return for the project. This\ \ parameter accepts a comma-separated list." in: "query" name: "properties" schema: items: default: "" type: "string" type: "array" responses: "200": content: application/json: example: "[{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":1619069825000,\"\ totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"CLASSIC\"},{\"avatarUrls\":{\"16x16\"\ :\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\"\ },\"id\":\"10001\",\"insight\":{\"lastIssueUpdateTime\":1619069825000,\"\ totalIssueCount\":100},\"key\":\"ABC\",\"name\":\"Alphabetical\",\"\ projectCategory\":{\"description\":\"First Project Category\",\"id\"\ :\"10000\",\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\"\ ,\"simplified\":false,\"style\":\"CLASSIC\"}]" schema: items: $ref: "#/components/schemas/Project" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all projects" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:project:jira" - "read:project.property:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type-hierarchy:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" x-changes: - announced: "2018-10-19" details: "https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/" effective: "2019-04-19" type: "removed" post: deprecated: false 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)." operationId: "createProject" parameters: [] requestBody: content: application/json: example: assigneeType: "PROJECT_LEAD" avatarId: 10200 categoryId: 10120 description: "Cloud migration initiative" issueSecurityScheme: 10001 key: "EX" leadAccountId: "5b10a0effa615349cb016cd8" name: "Example" notificationScheme: 10021 permissionScheme: 10011 projectTemplateKey: "com.atlassian.jira-core-project-templates:jira-core-simplified-process-control" projectTypeKey: "business" url: "http://atlassian.com" schema: $ref: "#/components/schemas/CreateProjectDetails" description: "The JSON representation of the project being created." required: true responses: "201": content: application/json: example: "{\"id\":10010,\"key\":\"EX\",\"self\":\"https://your-domain.atlassian.net/jira/rest/api/2/project/10042\"\ }" schema: $ref: "#/components/schemas/ProjectIdentifiers" description: "Returned if the project is created." "400": description: "Returned if the request is not valid and the project could\ \ not be created." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to create projects." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Create project" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:project:jira" - "read:project:jira" state: "Beta" /rest/api/2/project/recent: get: deprecated: false 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)." operationId: "getRecent" parameters: - 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." in: "query" name: "expand" schema: type: "string" - description: "EXPERIMENTAL. A list of project properties to return for the\ \ project. This parameter accepts a comma-separated list. Invalid property\ \ names are ignored." in: "query" name: "properties" schema: items: $ref: "#/components/schemas/StringList" type: "array" responses: "200": content: application/json: example: "[{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":1619069825000,\"\ totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"CLASSIC\"},{\"avatarUrls\":{\"16x16\"\ :\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\"\ },\"id\":\"10001\",\"insight\":{\"lastIssueUpdateTime\":1619069825000,\"\ totalIssueCount\":100},\"key\":\"ABC\",\"name\":\"Alphabetical\",\"\ projectCategory\":{\"description\":\"First Project Category\",\"id\"\ :\"10000\",\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\"\ ,\"simplified\":false,\"style\":\"CLASSIC\"}]" schema: items: $ref: "#/components/schemas/Project" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get recent projects" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:project:jira" - "read:project.property:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type-hierarchy:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" x-experimental: true /rest/api/2/project/search: get: deprecated: false 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)." operationId: "searchProjects" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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." in: "query" name: "orderBy" schema: default: "key" enum: - "category" - "-category" - "+category" - "key" - "-key" - "+key" - "name" - "-name" - "+name" - "owner" - "-owner" - "+owner" - "issueCount" - "-issueCount" - "+issueCount" - "lastIssueUpdatedDate" - "-lastIssueUpdatedDate" - "+lastIssueUpdatedDate" - "archivedDate" - "+archivedDate" - "-archivedDate" - "deletedDate" - "+deletedDate" - "-deletedDate" type: "string" - 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." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: 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." in: "query" name: "keys" schema: items: default: "" type: "string" type: "array" uniqueItems: true - description: "Filter the results using a literal string. Projects with a matching\ \ `key` or `name` are returned (case insensitive)." in: "query" name: "query" schema: type: "string" - 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`." in: "query" name: "typeKey" schema: type: "string" - 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." in: "query" name: "categoryId" schema: format: "int64" type: "integer" - 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." in: "query" name: "action" schema: default: "view" enum: - "view" - "browse" - "edit" - "create" type: "string" - 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." in: "query" name: "expand" schema: type: "string" - 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." in: "query" name: "status" schema: items: default: "live" enum: - "live" - "archived" - "deleted" type: "string" type: "array" - description: "EXPERIMENTAL. A list of project properties to return for the\ \ project. This parameter accepts a comma-separated list." in: "query" name: "properties" schema: items: $ref: "#/components/schemas/StringList" type: "array" - 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`." in: "query" name: "propertyQuery" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":2,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/search?startAt=2&maxResults=2\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/search?startAt=0&maxResults=2\"\ ,\"startAt\":0,\"total\":7,\"values\":[{\"avatarUrls\":{\"16x16\"\ :\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},{\"avatarUrls\":{\"16x16\"\ :\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\"\ },\"id\":\"10001\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"ABC\",\"name\":\"Alphabetical\"\ ,\"projectCategory\":{\"description\":\"First Project Category\",\"\ id\":\"10000\",\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\"\ ,\"simplified\":false,\"style\":\"classic\"}]}" schema: $ref: "#/components/schemas/PageBeanProject" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if no projects matching the search criteria are found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get projects paginated" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:project:jira" - "read:project.property:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type-hierarchy:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/project/type: get: deprecated: false 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." operationId: "getAllProjectTypes" parameters: [] responses: "200": content: application/json: example: "[{\"color\":\"#FFFFFF\",\"descriptionI18nKey\":\"jira.project.type.business.description\"\ ,\"formattedKey\":\"Business\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\"\ ,\"key\":\"business\"},{\"color\":\"#AAAAAA\",\"descriptionI18nKey\"\ :\"jira.project.type.software.description\",\"formattedKey\":\"Software\"\ ,\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\"\ ,\"key\":\"software\"}]" schema: items: $ref: "#/components/schemas/ProjectType" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all project types" tags: - "Project types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-type:jira" state: "Beta" /rest/api/2/project/type/accessible: get: deprecated: false description: "Returns all [project types](https://confluence.atlassian.com/x/Var1Nw)\ \ with a valid license." operationId: "getAllAccessibleProjectTypes" parameters: [] responses: "200": content: application/json: example: "[{\"color\":\"#FFFFFF\",\"descriptionI18nKey\":\"jira.project.type.business.description\"\ ,\"formattedKey\":\"Business\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\"\ ,\"key\":\"business\"},{\"color\":\"#AAAAAA\",\"descriptionI18nKey\"\ :\"jira.project.type.software.description\",\"formattedKey\":\"Software\"\ ,\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\"\ ,\"key\":\"software\"}]" schema: items: $ref: "#/components/schemas/ProjectType" type: "array" description: "Returned if the request is successful." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get licensed project types" tags: - "Project types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-type:jira" state: "Beta" /rest/api/2/project/type/{projectTypeKey}: get: deprecated: false description: "Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).\n\ \nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions)\ \ required:** None." operationId: "getProjectTypeByKey" parameters: - description: "The key of the project type." in: "path" name: "projectTypeKey" required: true schema: enum: - "software" - "service_desk" - "business" - "product_discovery" type: "string" responses: "200": content: application/json: example: "{\"color\":\"#FFFFFF\",\"descriptionI18nKey\":\"jira.project.type.business.description\"\ ,\"formattedKey\":\"Business\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\"\ ,\"key\":\"business\"}" schema: $ref: "#/components/schemas/ProjectType" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if the project type is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project type by key" tags: - "Project types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-type:jira" state: "Beta" /rest/api/2/project/type/{projectTypeKey}/accessible: get: deprecated: false 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." operationId: "getAccessibleProjectTypeByKey" parameters: - description: "The key of the project type." in: "path" name: "projectTypeKey" required: true schema: enum: - "software" - "service_desk" - "business" - "product_discovery" type: "string" responses: "200": content: application/json: example: "{\"color\":\"#FFFFFF\",\"descriptionI18nKey\":\"jira.project.type.business.description\"\ ,\"formattedKey\":\"Business\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\"\ ,\"key\":\"business\"}" schema: $ref: "#/components/schemas/ProjectType" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project type is not accessible to the user." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get accessible project type by key" tags: - "Project types" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-type:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}: delete: deprecated: false 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)." operationId: "deleteProject" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: example: "10001" type: "string" - description: "Whether this project is placed in the Jira recycle bin where\ \ it will be available for restoration." in: "query" name: "enableUndo" schema: default: true type: "boolean" responses: "204": description: "Returned if the project is deleted." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have permission to delete it." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Delete project" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:project:jira" state: "Beta" get: deprecated: false 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." operationId: "getProject" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" - description: "A list of project properties to return for the project. This\ \ parameter accepts a comma-separated list." in: "query" name: "properties" schema: items: default: "" type: "string" type: "array" responses: "200": content: application/json: example: "{\"assigneeType\":\"PROJECT_LEAD\",\"avatarUrls\":{\"16x16\"\ :\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"components\":[{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }],\"description\":\"This project was created as an example for REST.\"\ ,\"email\":\"from-jira@example.com\",\"id\":\"10000\",\"insight\"\ :{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\",\"totalIssueCount\"\ :100},\"issueTypes\":[{\"avatarId\":1,\"description\":\"A task that\ \ needs to be done.\",\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false},{\"avatarId\":10002,\"description\":\"A problem\ \ with the software.\",\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\"\ ,\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\ \",\",\"id\":\"1\",\"name\":\"Bug\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false}],\"key\":\"EX\",\"lead\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"name\":\"Example\",\"projectCategory\":{\"description\":\"First\ \ Project Category\",\"id\":\"10000\",\"name\":\"FIRST\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"properties\":{\"propertyKey\":\"propertyValue\"},\"roles\":{\"\ Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\",\"url\":\"https://www.example.com\"\ ,\"versions\":[]}" schema: $ref: "#/components/schemas/Project" description: "Returned if successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:project:jira" - "read:project.property:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type-hierarchy:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" put: deprecated: false 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)" operationId: "updateProject" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: example: "10001" type: "string" - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: assigneeType: "PROJECT_LEAD" avatarId: 10200 categoryId: 10120 description: "Cloud migration initiative" issueSecurityScheme: 10001 key: "EX" leadAccountId: "5b10a0effa615349cb016cd8" name: "Example" notificationScheme: 10021 permissionScheme: 10011 url: "http://atlassian.com" schema: $ref: "#/components/schemas/UpdateProjectDetails" description: "The project details to be updated." required: true responses: "200": content: application/json: example: "{\"assigneeType\":\"PROJECT_LEAD\",\"avatarUrls\":{\"16x16\"\ :\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"components\":[{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }],\"description\":\"This project was created as an example for REST.\"\ ,\"email\":\"from-jira@example.com\",\"id\":\"10000\",\"insight\"\ :{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\",\"totalIssueCount\"\ :100},\"issueTypes\":[{\"avatarId\":1,\"description\":\"A task that\ \ needs to be done.\",\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false},{\"avatarId\":10002,\"description\":\"A problem\ \ with the software.\",\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\"\ ,\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\ \",\",\"id\":\"1\",\"name\":\"Bug\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false}],\"key\":\"EX\",\"lead\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"name\":\"Example\",\"projectCategory\":{\"description\":\"First\ \ Project Category\",\"id\":\"10000\",\"name\":\"FIRST\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"properties\":{\"propertyKey\":\"propertyValue\"},\"roles\":{\"\ Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\",\"url\":\"https://www.example.com\"\ ,\"versions\":[]}" schema: $ref: "#/components/schemas/Project" description: "Returned if the project is updated." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if:\n\n * the user does not have the necessary permission\ \ to update project details.\n * the permission scheme is being changed\ \ and the Jira instance is Jira Core Free or Jira Software Free. Permission\ \ schemes cannot be changed on free plans." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Update project" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:project:jira" - "read:project.property:jira" - "read:user:jira" - "write:project:jira" - "write:project.avatar:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type-hierarchy:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/archive: post: deprecated: false 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)." operationId: "archiveProject" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permissions." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Archive project" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/avatar: put: deprecated: false 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)." operationId: "updateProjectAvatar" parameters: - description: "The ID or (case-sensitive) key of the project." in: "path" name: "projectIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: id: "10010" schema: $ref: "#/components/schemas/Avatar" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to administer\ \ the project." "404": description: "Returned if the project or avatar is not found or the user\ \ does not have permission to view the project." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Set project avatar" tags: - "Project avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project.avatar:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/avatar/{id}: delete: deprecated: false 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)." operationId: "deleteProjectAvatar" parameters: - description: "The project ID or (case-sensitive) key." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The ID of the avatar." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the avatar is a system avatar or the user does\ \ not have permission to administer the project." "404": description: "Returned if the project or avatar is not found or the user\ \ does not have permission to view the project." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Delete project avatar" tags: - "Project avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project.avatar:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/avatar2: post: deprecated: false 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/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\"\ \ `\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)." operationId: "createProjectAvatar" parameters: - description: "The ID or (case-sensitive) key of the project." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The X coordinate of the top-left corner of the crop region." in: "query" name: "x" schema: default: 0 format: "int32" type: "integer" - description: "The Y coordinate of the top-left corner of the crop region." in: "query" name: "y" schema: default: 0 format: "int32" type: "integer" - description: "The length of each side of the crop region." in: "query" name: "size" schema: default: 0 format: "int32" type: "integer" requestBody: content: '*/*': schema: {} required: true responses: "201": content: application/json: example: "{\"id\":\"1010\",\"isDeletable\":true,\"isSelected\":false,\"\ isSystemAvatar\":false}" schema: $ref: "#/components/schemas/Avatar" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * an image isn't included in the request.\n\ \ * the image type is unsupported.\n * the crop parameters extend the\ \ crop area beyond the edge of the image." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to administer\ \ the project or an anonymous call is made to the operation." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view the project." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Load project avatar" tags: - "Project avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project.avatar:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/avatars: get: deprecated: false 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." operationId: "getAllProjectAvatars" parameters: - description: "The ID or (case-sensitive) key of the project." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"custom\":[{\"id\":\"1010\",\"isDeletable\":true,\"isSelected\"\ :false,\"isSystemAvatar\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"\ }}],\"system\":[{\"id\":\"1000\",\"isDeletable\":false,\"isSelected\"\ :false,\"isSystemAvatar\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"\ }}]}" schema: $ref: "#/components/schemas/ProjectAvatars" description: "Returned if request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view the project." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all project avatars" tags: - "Project avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project.avatar:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/classification-level/default: delete: deprecated: false 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)." operationId: "removeDefaultProjectClassification" parameters: - description: "The project ID or project key (case-sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Remove the default data classification level from a project" tags: - "Project classification levels" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project:jira" state: "Beta" x-experimental: true get: deprecated: false 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)." operationId: "getDefaultProjectClassification" parameters: - description: "The project ID or project key (case-sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"classification\":{\"id\":\"ari:cloud:platform::classification-tag/5bfa70f7-4af1-44f5-9e12-1ce185f15a38\"\ ,\"status\":\"published\",\"name\":\"Restricted\",\"rank\":1,\"description\"\ :\"Data we hold that would be very damaging and would cause loss of\ \ trust with customers and present legal risk if mishandled\",\"guideline\"\ :\"Access to data must be restricted to only individuals who need\ \ access in order to perform their job duties.\",\"color\":\"RED\"\ }}" schema: {} description: "Returned if the request is successful." "401": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get the default data classification level of a project" tags: - "Project classification levels" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" state: "Beta" x-experimental: true put: deprecated: false 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)." operationId: "updateDefaultProjectClassification" parameters: - description: "The project ID or project key (case-sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" requestBody: content: application/json: example: id: "ari:cloud:platform::classification-tag/dec24c48-5073-4c25-8fef-9d81a992c30c" schema: $ref: "#/components/schemas/UpdateDefaultProjectClassificationBean" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Update the default data classification level of a project" tags: - "Project classification levels" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project:jira" state: "Beta" x-experimental: true /rest/api/2/project/{projectIdOrKey}/component: get: deprecated: false 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." operationId: "getProjectComponentsPaginated" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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." in: "query" name: "orderBy" schema: enum: - "description" - "-description" - "+description" - "issueCount" - "-issueCount" - "+issueCount" - "lead" - "-lead" - "+lead" - "name" - "-name" - "+name" type: "string" - 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`." in: "query" name: "componentSource" schema: default: "jira" enum: - "jira" - "compass" - "auto" type: "string" - description: "Filter the results using a literal string. Components with a\ \ matching `name` or `description` are returned (case insensitive)." in: "query" name: "query" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":2,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/component?startAt=2&maxResults=2\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/component?startAt=0&maxResults=2\"\ ,\"startAt\":0,\"total\":7,\"values\":[{\"assignee\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"active\"\ :false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"componentBean\":{\"ari\":\"\ ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ },\"description\":\"This is a Jira component\",\"id\":\"10000\",\"\ isAssigneeTypeValid\":false,\"issueCount\":1,\"lead\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"active\"\ :false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ },{\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"componentBean\":{\"ari\":\"\ ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-11ee-4e70-be56-0242ac120002/fdb3fdec-4e70-11ee-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a another\ \ Jira component\",\"id\":\"10050\",\"isAssigneeTypeValid\":false,\"\ lead\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"PXA\",\"project\":\"PROJECTKEY\",\"projectId\":10000,\"realAssignee\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ },\"description\":\"This is a another Jira component\",\"id\":\"10050\"\ ,\"isAssigneeTypeValid\":false,\"issueCount\":5,\"lead\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"active\"\ :false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"name\":\"PXA\",\"project\":\"PROJECTKEY\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }]}" schema: $ref: "#/components/schemas/PageBeanComponentWithIssueCount" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project components paginated" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:project.component:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/components: get: deprecated: false 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." operationId: "getProjectComponents" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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`." in: "query" name: "componentSource" schema: default: "jira" enum: - "jira" - "compass" - "auto" type: "string" responses: "200": content: application/json: example: "[{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ },{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-11ee-4e70-be56-0242ac120002/fdb3fdec-4e70-11ee-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a another\ \ Jira component\",\"id\":\"10050\",\"isAssigneeTypeValid\":false,\"\ lead\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"PXA\",\"project\":\"PROJECTKEY\",\"projectId\":10000,\"realAssignee\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }]" schema: items: $ref: "#/components/schemas/ProjectComponent" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project components" tags: - "Project components" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:project.component:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/delete: post: deprecated: false 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)." operationId: "deleteProjectAsynchronously" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Delete project asynchronously" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:project:jira" - "write:project.property:jira" state: "Beta" x-experimental: true /rest/api/2/project/{projectIdOrKey}/features: get: deprecated: false description: "Returns the list of features for a project." operationId: "getFeaturesForProject" parameters: - description: "The ID or (case-sensitive) key of the project." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"features\":[{\"feature\":\"jsw.classic.roadmap\",\"imageUri\"\ :\"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-roadmap-feature.svg\"\ ,\"localisedDescription\":\"Your roadmap is an optimized location\ \ to create and manage your epics.\",\"localisedName\":\"Roadmap\"\ ,\"prerequisites\":[],\"projectId\":10001,\"state\":\"ENABLED\",\"\ toggleLocked\":true},{\"feature\":\"jsw.classic.backlog\",\"imageUri\"\ :\"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-backlog-feature.svg\"\ ,\"localisedDescription\":\"Plan and prioritize work in a dedicated\ \ space. To enable and configure the backlog for each board, go to\ \ board settings.\",\"localisedName\":\"Backlog\",\"prerequisites\"\ :[],\"projectId\":10001,\"state\":\"ENABLED\",\"toggleLocked\":true}]}" schema: $ref: "#/components/schemas/ContainerForProjectFeatures" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get project features" tags: - "Project features" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project.feature:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/features/{featureKey}: put: deprecated: false description: "Sets the state of a project feature." operationId: "toggleFeatureForProject" parameters: - description: "The ID or (case-sensitive) key of the project." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The key of the feature." in: "path" name: "featureKey" required: true schema: type: "string" requestBody: content: application/json: example: state: "ENABLED" schema: $ref: "#/components/schemas/ProjectFeatureState" description: "Details of the feature state change." required: true responses: "200": content: application/json: example: "{\"features\":[{\"feature\":\"jsw.classic.roadmap\",\"imageUri\"\ :\"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-roadmap-feature.svg\"\ ,\"localisedDescription\":\"Your roadmap is an optimized location\ \ to create and manage your epics.\",\"localisedName\":\"Roadmap\"\ ,\"prerequisites\":[],\"projectId\":10001,\"state\":\"ENABLED\",\"\ toggleLocked\":true},{\"feature\":\"jsw.classic.backlog\",\"imageUri\"\ :\"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-backlog-feature.svg\"\ ,\"localisedDescription\":\"Plan and prioritize work in a dedicated\ \ space. To enable and configure the backlog for each board, go to\ \ board settings.\",\"localisedName\":\"Backlog\",\"prerequisites\"\ :[],\"projectId\":10001,\"state\":\"ENABLED\",\"toggleLocked\":true}]}" schema: $ref: "#/components/schemas/ContainerForProjectFeatures" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." "404": description: "Returned if the project or project feature is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Set project feature state" tags: - "Project features" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project.feature:jira" - "read:project.feature:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/properties: get: deprecated: false 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." operationId: "getProjectPropertyKeys" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\"\ }]}" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "Returned if the user does not have permission to view the\ \ project." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project property keys" tags: - "Project properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project.property:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/properties/{propertyKey}: delete: deprecated: false 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." operationId: "deleteProjectProperty" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the project property is deleted." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "Returned if the user does not have permission to administer\ \ the project." "404": description: "Returned if the project or property is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Delete project property" tags: - "Project properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project.property:jira" state: "Beta" get: deprecated: false 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." operationId: "getProjectProperty" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\"\ :\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\"\ :\"1m\"}}" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "Returned if the user does not have permission to view the\ \ project." "404": description: "Returned if the project or property is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project property" tags: - "Project properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project.property:jira" state: "Beta" put: deprecated: false 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." operationId: "setProjectProperty" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The key of the project property. The maximum length is 255 characters." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: example: number: 5 string: "string-value" schema: {} description: "The value of the property. The value has to be a valid, non-empty\ \ [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length\ \ of the property value is 32768 bytes." required: true responses: "200": content: application/json: schema: {} description: "Returned if the project property is updated." "201": content: application/json: schema: {} description: "Returned if the project property is created." "400": description: "Returned if the project key or id is invalid." "401": description: "Returned if the authentication credentials are incorrect." "403": description: "Returned if the user does not have permission to administer\ \ the project." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Set project property" tags: - "Project properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project.property:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/restore: post: deprecated: false 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." operationId: "restore" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"assigneeType\":\"PROJECT_LEAD\",\"avatarUrls\":{\"16x16\"\ :\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"components\":[{\"ari\":\"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002\"\ ,\"assignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"assigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira\ \ component\",\"id\":\"10000\",\"isAssigneeTypeValid\":false,\"lead\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"metadata\":{\"icon\":\"https://www.example.com/icon.png\"},\"\ name\":\"Component 1\",\"project\":\"HSP\",\"projectId\":10000,\"\ realAssignee\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"realAssigneeType\":\"PROJECT_LEAD\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\"\ }],\"description\":\"This project was created as an example for REST.\"\ ,\"email\":\"from-jira@example.com\",\"id\":\"10000\",\"insight\"\ :{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\",\"totalIssueCount\"\ :100},\"issueTypes\":[{\"avatarId\":1,\"description\":\"A task that\ \ needs to be done.\",\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\ \",\",\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"subtask\":false},{\"avatarId\":10002,\"description\":\"A problem\ \ with the software.\",\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\"\ ,\"hierarchyLevel\":0,\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\ \",\",\"id\":\"1\",\"name\":\"Bug\",\"scope\":{\"project\":{\"id\"\ :\"10000\"},\"type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\"\ ,\"subtask\":false}],\"key\":\"EX\",\"lead\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"name\":\"Example\",\"projectCategory\":{\"description\":\"First\ \ Project Category\",\"id\":\"10000\",\"name\":\"FIRST\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"properties\":{\"propertyKey\":\"propertyValue\"},\"roles\":{\"\ Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\",\"url\":\"https://www.example.com\"\ ,\"versions\":[]}" schema: $ref: "#/components/schemas/Project" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Restore deleted or archived project" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:project:jira" - "read:project.property:jira" - "read:user:jira" - "write:project:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type-hierarchy:jira" - "read:project-category:jira" - "read:project-version:jira" - "read:project.component:jira" state: "Beta" x-experimental: true /rest/api/2/project/{projectIdOrKey}/role: get: deprecated: false 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)." operationId: "getProjectRoles" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"Administrators\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10002\"\ ,\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10000\"\ ,\"Users\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10001\"\ }" schema: additionalProperties: format: "uri" type: "string" type: "object" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing or if the user lacks administrative permissions for the project." "404": description: "Returned if the project is not found or or if the user does\ \ not have administrative permissions for the project." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project roles for project" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-role:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/role/{id}: delete: deprecated: false 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)." operationId: "deleteActor" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The user account ID of the user to remove from the project role." in: "query" name: "user" schema: example: "5b10ac8d82e05b22cc7d4ef5" type: "string" x-showInExample: "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." in: "query" name: "group" schema: type: "string" - description: "The ID of the group to remove from the project role. This parameter\ \ cannot be used with the `group` parameter." in: "query" name: "groupId" schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "404": description: "Returned if:\n\n * the project or project role is not found.\n\ \ * the calling user does not have administrative permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Delete actors from project role" tags: - "Project role actors" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project-role:jira" state: "Beta" get: deprecated: false 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)." operationId: "getProjectRole" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "Exclude inactive users." in: "query" name: "excludeInactiveUsers" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\",\"name\":\"\ jira-developers\"},\"displayName\":\"jira-developers\",\"id\":10240,\"\ name\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\"\ ,\"user\":\"jira-developers\"},{\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ },\"displayName\":\"Mia Krystof\",\"id\":10241,\"type\":\"atlassian-user-role-actor\"\ }],\"description\":\"A project role that represents developers in\ \ a project\",\"id\":10360,\"name\":\"Developers\",\"scope\":{\"project\"\ :{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"},\"\ type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the project or project role is not found.\n\ \ * the user does not have administrative permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project role for project" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" post: deprecated: false 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)." operationId: "addActorUsers" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: groupId: - "952d12c3-5b5b-4d04-bb32-44d383afc4b2" schema: $ref: "#/components/schemas/ActorsMap" description: "The groups or users to associate with the project role for this\ \ project. Provide the user account ID, group name, or group ID. As a group's\ \ name can change, use of group ID is recommended." required: true responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\",\"name\":\"\ jira-developers\"},\"displayName\":\"jira-developers\",\"id\":10240,\"\ name\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\"\ ,\"user\":\"jira-developers\"},{\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ },\"displayName\":\"Mia Krystof\",\"id\":10241,\"type\":\"atlassian-user-role-actor\"\ }],\"description\":\"A project role that represents developers in\ \ a project\",\"id\":10360,\"name\":\"Developers\",\"scope\":{\"project\"\ :{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"},\"\ type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful. The complete list of\ \ actors for the project is returned.\n\nFor example, the cURL request\ \ above adds a group, *jira-developers*. For the response below to be\ \ returned as a result of that request, the user *Mia Krystof* would have\ \ previously been added as a `user` actor for this project." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing or if the calling user lacks administrative permissions for\ \ the project." "404": description: "Returned if:\n\n * the project is not found.\n * the user\ \ or group is not found.\n * the group or user is not active." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Add actors to project role" tags: - "Project role actors" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "write:project-role:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" put: deprecated: false 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)." operationId: "setActors" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: categorisedActors: atlassian-group-role-actor-id: - "952d12c3-5b5b-4d04-bb32-44d383afc4b2" atlassian-user-role-actor: - "12345678-9abc-def1-2345-6789abcdef12" schema: $ref: "#/components/schemas/ProjectRoleActorsUpdateBean" description: "The groups or users to associate with the project role for this\ \ project. Provide the user account ID, group name, or group ID. As a group's\ \ name can change, use of group ID is recommended." required: true responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\",\"name\":\"\ jira-developers\"},\"displayName\":\"jira-developers\",\"id\":10240,\"\ name\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\"\ ,\"user\":\"jira-developers\"},{\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ },\"displayName\":\"Mia Krystof\",\"id\":10241,\"type\":\"atlassian-user-role-actor\"\ }],\"description\":\"A project role that represents developers in\ \ a project\",\"id\":10360,\"name\":\"Developers\",\"scope\":{\"project\"\ :{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"},\"\ type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful. The complete list of\ \ actors for the project is returned." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing or if the calling user lacks administrative permissions for\ \ the project." "404": description: "Returned if:\n\n * the project is not found.\n * a user\ \ or group is not found.\n * a group or user is not active." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Set actors for project role" tags: - "Project role actors" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "write:project-role:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/roledetails: get: deprecated: false 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." operationId: "getProjectRoleDetails" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "Whether the roles should be filtered to include only those the\ \ user is assigned to." in: "query" name: "currentMember" schema: default: false type: "boolean" - in: "query" name: "excludeConnectAddons" schema: default: false type: "boolean" responses: "200": content: application/json: example: "[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"admin\":false,\"\ default\":true,\"roleConfigurable\":true,\"translatedName\":\"Developers\"\ }]" schema: items: $ref: "#/components/schemas/ProjectRoleDetails" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or if the user does not\ \ have the necessary permissions for the project." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project role details" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-category:jira" - "read:project-role:jira" - "read:project:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/statuses: get: deprecated: false 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." operationId: "getAllStatuses" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "[{\"id\":\"3\",\"name\":\"Task\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\"\ ,\"statuses\":[{\"description\":\"The issue is currently being worked\ \ on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\"\ ,\"id\":\"10000\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\"\ },{\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\"\ ,\"id\":\"5\",\"name\":\"Closed\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\"\ }],\"subtask\":false}]" schema: items: $ref: "#/components/schemas/IssueTypeWithStatus" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all statuses for project" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-status:jira" - "read:issue-type:jira" - "read:status:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/version: get: deprecated: false 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." operationId: "getProjectVersionsPaginated" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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." in: "query" name: "orderBy" schema: enum: - "description" - "-description" - "+description" - "name" - "-name" - "+name" - "releaseDate" - "-releaseDate" - "+releaseDate" - "sequence" - "-sequence" - "+sequence" - "startDate" - "-startDate" - "+startDate" type: "string" - description: "Filter the results using a literal string. Versions with matching\ \ `name` or `description` are returned (case insensitive)." in: "query" name: "query" schema: type: "string" - 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`." in: "query" name: "status" schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":2,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/version?startAt=2&maxResults=2\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/version?startAt=0&maxResults=2\"\ ,\"startAt\":0,\"total\":7,\"values\":[{\"archived\":false,\"description\"\ :\"An excellent version\",\"id\":\"10000\",\"name\":\"New Version\ \ 1\",\"overdue\":true,\"projectId\":10000,\"releaseDate\":\"2010-07-06\"\ ,\"released\":true,\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\"\ ,\"userReleaseDate\":\"6/Jul/2010\"},{\"archived\":false,\"description\"\ :\"Minor Bugfix version\",\"id\":\"10010\",\"issuesStatusForFixVersion\"\ :{\"done\":100,\"inProgress\":20,\"toDo\":10,\"unmapped\":0},\"name\"\ :\"Next Version\",\"overdue\":false,\"projectId\":10000,\"released\"\ :false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10010\"\ }]}" schema: $ref: "#/components/schemas/PageBeanVersion" description: "Returned if the request is successful." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project versions paginated" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-version:jira" state: "Beta" /rest/api/2/project/{projectIdOrKey}/versions: get: deprecated: false 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." operationId: "getProjectVersions" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectIdOrKey" required: true schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "[{\"archived\":false,\"description\":\"An excellent version\"\ ,\"id\":\"10000\",\"name\":\"New Version 1\",\"overdue\":true,\"projectId\"\ :10000,\"releaseDate\":1278385482288,\"releaseDateSet\":false,\"released\"\ :true,\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\"\ ,\"startDateSet\":false,\"userReleaseDate\":\"6/Jul/2010\"},{\"archived\"\ :false,\"description\":\"Minor Bugfix version\",\"id\":\"10010\",\"\ issuesStatusForFixVersion\":{\"done\":100,\"inProgress\":20,\"toDo\"\ :10,\"unmapped\":0},\"name\":\"Next Version\",\"overdue\":false,\"\ projectId\":10000,\"releaseDateSet\":false,\"released\":false,\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/version/10010\",\"\ startDateSet\":false}]" schema: items: $ref: "#/components/schemas/Version" type: "array" description: "Returned if the request is successful." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project versions" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-version:jira" state: "Beta" /rest/api/2/project/{projectId}/email: get: deprecated: false 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." operationId: "getProjectEmail" parameters: - description: "The project ID." in: "path" name: "projectId" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"emailAddress\":\"jira@example.customdomain.com\",\"emailAddressStatus\"\ :[\"Email address or domain not verified.\"]}" schema: $ref: "#/components/schemas/ProjectEmailAddress" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to read project." "404": description: "Returned if the project or project's sender email address\ \ is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Get project's sender email" tags: - "Project email" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project.email:jira" state: "Beta" put: deprecated: false 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)" operationId: "updateProjectEmail" parameters: - description: "The project ID." in: "path" name: "projectId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: emailAddress: "jira@example.atlassian.net" schema: $ref: "#/components/schemas/ProjectEmailAddress" description: "The project's sender email address to be set." required: true responses: "204": content: application/json: schema: {} description: "Returned if the project's sender email address is successfully\ \ set." "400": description: "Returned if the request is not valid, if the email address\ \ is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to administer\ \ the project." "404": description: "Returned if the project is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Set project's sender email" tags: - "Project email" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project.email:jira" state: "Beta" /rest/api/2/project/{projectId}/hierarchy: get: deprecated: false 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." operationId: "getHierarchy" parameters: - description: "The ID of the project." in: "path" name: "projectId" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"hierarchy\":[{\"issueTypes\":[{\"avatarId\":10324,\"entityId\"\ :\"ce32639b-8911-4689-81da-65681f451516\",\"id\":10008,\"name\":\"\ Story\"},{\"avatarId\":10324,\"entityId\":\"ffdbced5-fbfc-4370-a848-94e2ce3751af\"\ ,\"id\":10001,\"name\":\"Bug\"}],\"level\":0,\"name\":\"Base\"},{\"\ issueTypes\":[{\"avatarId\":10179,\"entityId\":\"80f20d47-34dc-4680-8937-936b7e762a35\"\ ,\"id\":10007,\"name\":\"Epic\"}],\"level\":1,\"name\":\"Epic\"},{\"\ issueTypes\":[{\"avatarId\":10573,\"entityId\":\"210b4879-15cc-414c-9746-f8f6b6be0a72\"\ ,\"id\":10009,\"name\":\"Subtask\"}],\"level\":-1,\"name\":\"Subtask\"\ }],\"projectId\":10030}" schema: $ref: "#/components/schemas/ProjectIssueTypeHierarchy" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user does not\ \ have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get project issue type hierarchy" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-type:jira" - "read:issue-type-hierarchy:jira" state: "Beta" /rest/api/2/project/{projectKeyOrId}/issuesecuritylevelscheme: get: deprecated: false 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)." operationId: "getProjectIssueSecurityScheme" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectKeyOrId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"defaultSecurityLevelId\":10021,\"description\":\"Description\ \ for the default issue security scheme\",\"id\":10000,\"levels\"\ :[{\"description\":\"Only the reporter and internal staff can see\ \ this issue.\",\"id\":\"10021\",\"name\":\"Reporter Only\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\"\ }],\"name\":\"Default Issue Security Scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\"\ }" schema: $ref: "#/components/schemas/SecurityScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the project is visible to the user but the user\ \ doesn't have administrative permissions." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get project issue security scheme" tags: - "Project permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-security-level:jira" - "read:issue-security-scheme:jira" state: "Beta" /rest/api/2/project/{projectKeyOrId}/notificationscheme: get: deprecated: false 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)." operationId: "getNotificationSchemeForProject" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectKeyOrId" required: true schema: type: "string" - 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" in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"description\",\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\"\ ,\"id\":10100,\"name\":\"notification scheme name\",\"notificationSchemeEvents\"\ :[{\"event\":{\"description\":\"Event published when an issue is created\"\ ,\"id\":1,\"name\":\"Issue created\"},\"notifications\":[{\"expand\"\ :\"group\",\"group\":{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\"\ ,\"recipient\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"id\":2,\"\ notificationType\":\"CurrentAssignee\"},{\"expand\":\"projectRole\"\ ,\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\"\ ,\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"recipient\":\"10360\"},{\"emailAddress\"\ :\"rest-developer@atlassian.com\",\"id\":4,\"notificationType\":\"\ EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"recipient\"\ :\"rest-developer@atlassian.com\"},{\"expand\":\"user\",\"id\":5,\"\ notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\"\ ,\"recipient\":\"5b10a2844c20165700ede21g\",\"user\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }},{\"expand\":\"field\",\"field\":{\"clauseNames\":[\"cf[10101]\"\ ,\"New custom field\"],\"custom\":true,\"id\":\"customfield_10101\"\ ,\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"navigable\"\ :true,\"orderable\":true,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:project\"\ ,\"customId\":10101,\"type\":\"project\"},\"searchable\":true,\"untranslatedName\"\ :\"New custom field\"},\"id\":6,\"notificationType\":\"GroupCustomField\"\ ,\"parameter\":\"customfield_10101\",\"recipient\":\"customfield_10101\"\ }]},{\"event\":{\"description\":\"Custom event that is published together\ \ with an issue created event\",\"id\":20,\"name\":\"Custom event\"\ ,\"templateEvent\":{\"description\":\"Event published when an issue\ \ is created\",\"id\":1,\"name\":\"Issue created\"}},\"notifications\"\ :[{\"expand\":\"group\",\"group\":{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"\ ,\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ },\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\"\ ,\"recipient\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"id\":2,\"\ notificationType\":\"CurrentAssignee\"},{\"expand\":\"projectRole\"\ ,\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\"\ ,\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ ,\"name\":\"Developers\",\"id\":10360,\"description\":\"A project\ \ role that represents developers in a project\",\"actors\":[{\"actorGroup\"\ :{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"},\"displayName\"\ :\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\",\"\ type\":\"atlassian-group-role-actor\"},{\"actorUser\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\"},\"displayName\":\"Mia Krystof\",\"\ id\":10241,\"type\":\"atlassian-user-role-actor\"}],\"scope\":{\"\ project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"\ },\"type\":\"PROJECT\"}},\"recipient\":\"10360\"},{\"emailAddress\"\ :\"rest-developer@atlassian.com\",\"id\":4,\"notificationType\":\"\ EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"recipient\"\ :\"rest-developer@atlassian.com\"},{\"expand\":\"user\",\"id\":5,\"\ notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\"\ ,\"recipient\":\"5b10a2844c20165700ede21g\",\"user\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }},{\"expand\":\"field\",\"field\":{\"clauseNames\":[\"cf[10101]\"\ ,\"New custom field\"],\"custom\":true,\"id\":\"customfield_10101\"\ ,\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"navigable\"\ :true,\"orderable\":true,\"schema\":{\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:project\"\ ,\"customId\":10101,\"type\":\"project\"},\"searchable\":true,\"untranslatedName\"\ :\"New custom field\"},\"id\":6,\"notificationType\":\"GroupCustomField\"\ ,\"parameter\":\"customfield_10101\",\"recipient\":\"customfield_10101\"\ }]}],\"projects\":[10001,10002],\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\"\ }" schema: $ref: "#/components/schemas/NotificationScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project is not found or the user is not an\ \ administrator." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get project notification scheme" tags: - "Projects" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-category:jira" - "read:project-role:jira" - "read:project:jira" - "read:user:jira" - "read:group:jira" - "read:field:jira" - "read:avatar:jira" - "read:field-configuration:jira" - "read:notification-scheme:jira" state: "Beta" /rest/api/2/project/{projectKeyOrId}/permissionscheme: get: deprecated: false 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)." operationId: "getAssignedPermissionScheme" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectKeyOrId" required: true schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"description\",\"id\":10000,\"name\":\"\ Example permission scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\"\ }" schema: $ref: "#/components/schemas/PermissionScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have permission to view the\ \ project's configuration." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view the project." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get assigned permission scheme" tags: - "Project permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission-scheme:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" put: deprecated: false 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)" operationId: "assignPermissionScheme" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectKeyOrId" required: true schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: id: 10000 schema: $ref: "#/components/schemas/IdBean" required: true responses: "200": content: application/json: example: "{\"description\":\"description\",\"id\":10000,\"name\":\"\ Example permission scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\"\ }" schema: $ref: "#/components/schemas/PermissionScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if:\n\n * the user does not have the necessary permission\ \ to edit the project's configuration.\n * the Jira instance is Jira\ \ Core Free or Jira Software Free. Permission schemes cannot be assigned\ \ to projects on free plans." "404": description: "Returned if the project or permission scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Assign permission scheme" tags: - "Project permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:field:jira" - "read:group:jira" - "read:permission-scheme:jira" - "read:permission:jira" - "read:project-role:jira" - "read:user:jira" - "write:project:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/project/{projectKeyOrId}/securitylevel: get: deprecated: false 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." operationId: "getSecurityLevelsForProject" parameters: - description: "The project ID or project key (case sensitive)." in: "path" name: "projectKeyOrId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"levels\":[{\"description\":\"Only the reporter and internal\ \ staff can see this issue.\",\"id\":\"100000\",\"name\":\"Reporter\ \ Only\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/100000\"\ },{\"description\":\"Only internal staff can see this issue.\",\"\ id\":\"100001\",\"name\":\"Staff Only\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/100001\"\ }]}" schema: $ref: "#/components/schemas/ProjectIssueSecurityLevels" description: "Returned if the request is successful." "404": description: "Returned if the project is not found or the user does not\ \ have permission to view it." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get project issue security levels" tags: - "Project permission schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-security-level:jira" state: "Beta" /rest/api/2/projectCategory: get: deprecated: false description: "Returns all project categories.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getAllProjectCategories" parameters: [] responses: "200": content: application/json: example: "[{\"description\":\"First Project Category\",\"id\":\"10000\"\ ,\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },{\"description\":\"Second Project Category\",\"id\":\"10001\",\"\ name\":\"SECOND\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10001\"\ }]" schema: items: $ref: "#/components/schemas/ProjectCategory" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get all project categories" tags: - "Project categories" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-category:jira" state: "Beta" post: deprecated: false description: "Creates a project category.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createProjectCategory" parameters: [] requestBody: content: application/json: example: description: "Created Project Category" name: "CREATED" schema: $ref: "#/components/schemas/ProjectCategory" required: true responses: "201": content: application/json: example: "{\"description\":\"Created Project Category\",\"id\":\"10100\"\ ,\"name\":\"CREATED\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10100\"\ }" schema: $ref: "#/components/schemas/ProjectCategory" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `name` is not provided or exceeds 255\ \ characters.\n * `description` exceeds 1000 characters." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "409": description: "Returned if the project category name is in use." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Create project category" tags: - "Project categories" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project-category:jira" - "read:project-category:jira" state: "Beta" /rest/api/2/projectCategory/{id}: delete: deprecated: false description: "Deletes a project category.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "removeProjectCategory" parameters: - description: "ID of the project category to delete." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the project category is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Delete project category" tags: - "Project categories" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project-category:jira" state: "Beta" get: deprecated: false description: "Returns a project category.\n\n**[Permissions](#permissions) required:**\ \ Permission to access Jira." operationId: "getProjectCategoryById" parameters: - description: "The ID of the project category." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"description\":\"First Project Category\",\"id\":\"10000\"\ ,\"name\":\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ }" schema: $ref: "#/components/schemas/ProjectCategory" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project category is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get project category by ID" tags: - "Project categories" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-category:jira" state: "Beta" put: deprecated: false description: "Updates a project category.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateProjectCategory" parameters: - in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: description: "Updated Project Category" name: "UPDATED" schema: $ref: "#/components/schemas/ProjectCategory" required: true responses: "200": content: application/json: example: "{\"description\":\"Updated Project Category\",\"id\":\"10100\"\ ,\"name\":\"UPDATED\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10100\"\ }" schema: $ref: "#/components/schemas/UpdatedProjectCategory" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `name` has been modified and exceeds 255\ \ characters.\n * `description` has been modified and exceeds 1000 characters." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the project category is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Update project category" tags: - "Project categories" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project-category:jira" - "write:project-category:jira" state: "Beta" /rest/api/2/projectvalidate/key: get: deprecated: false description: "Validates a project key by confirming the key is a valid string\ \ and not in use.\n\n**[Permissions](#permissions) required:** None." operationId: "validateProjectKey" parameters: - description: "The project key." in: "query" name: "key" schema: example: "HSP" type: "string" x-showInExample: "true" responses: "200": content: application/json: example: "{\"errorMessages\":[],\"errors\":{\"projectKey\":\"A project\ \ with that project key already exists.\"}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Validate project key" tags: - "Project key and name validation" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" state: "Beta" /rest/api/2/projectvalidate/validProjectKey: get: deprecated: false 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." operationId: "getValidProjectKey" parameters: - description: "The project key." in: "query" name: "key" schema: example: "HSP" type: "string" x-showInExample: "true" responses: "200": content: application/json: example: "\"VPNE\"" schema: type: "string" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] summary: "Get valid project key" tags: - "Project key and name validation" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/projectvalidate/validProjectName: get: deprecated: false 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." operationId: "getValidProjectName" parameters: - description: "The project name." in: "query" name: "name" required: true schema: type: "string" responses: "200": content: application/json: example: "\"Valid Project Name Example\"" schema: type: "string" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if a valid project name cannot be generated." security: - basicAuth: [] summary: "Get valid project name" tags: - "Project key and name validation" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/resolution: get: deprecated: true description: "Returns a list of all issue resolution values.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getResolutions" parameters: [] responses: "200": content: application/json: example: "[{\"description\":\"A fix for this issue is checked into the\ \ tree and tested.\",\"id\":\"10000\",\"name\":\"Fixed\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/resolution/1\"},{\"\ description\":\"This is what it is supposed to do.\",\"id\":\"10001\"\ ,\"name\":\"Works as designed\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/resolution/3\"\ }]" schema: items: $ref: "#/components/schemas/Resolution" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get resolutions" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:resolution:jira" state: "Beta" x-changes: - announced: "2022-10-20" details: "https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-767" effective: "2023-04-20" type: "removed" post: deprecated: false description: "Creates an issue resolution.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createResolution" parameters: [] requestBody: content: application/json: example: description: "My resolution description" name: "My new resolution" schema: $ref: "#/components/schemas/CreateResolutionDetails" required: true responses: "201": content: application/json: example: "{\"id\":\"10001\"}" schema: $ref: "#/components/schemas/ResolutionId" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 255 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create resolution" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/resolution/default: put: deprecated: false description: "Sets default issue resolution.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "setDefaultResolution" parameters: [] requestBody: content: application/json: example: id: "3" schema: $ref: "#/components/schemas/SetDefaultResolutionRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The id has to be provided.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Priority with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue resolution isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set default resolution" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/resolution/move: put: deprecated: false description: "Changes the order of issue resolutions.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "moveResolutions" parameters: [] requestBody: content: application/json: example: after: "10002" ids: - "10000" - "10001" schema: $ref: "#/components/schemas/ReorderIssueResolutionsRequest" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The IDs must contain no more than 1,000\ \ items.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Resolution with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue resolution isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Move resolutions" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/resolution/search: get: deprecated: false 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." operationId: "searchResolutions" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: "0" type: "string" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: "50" type: "string" - description: "The list of resolutions IDs to be filtered out" in: "query" name: "id" schema: items: default: "" type: "string" type: "array" - description: "When set to true, return default only, when IDs provided, if\ \ none of them is default, return empty page. Default value is false" in: "query" name: "onlyDefault" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :1,\"values\":[{\"description\":\"This is what it is supposed to do.\"\ ,\"id\":\"10001\",\"isDefault\":true,\"name\":\"Works as designed\"\ }]}" schema: $ref: "#/components/schemas/PageBeanResolutionJsonBean" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Search resolutions" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:resolution:jira" state: "Beta" x-experimental: true /rest/api/2/resolution/{id}: delete: deprecated: false 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)." operationId: "deleteResolution" parameters: - description: "The ID of the issue resolution." in: "path" name: "id" required: true schema: type: "string" - description: "The ID of the issue resolution that will replace the currently\ \ selected resolution." in: "query" name: "replaceWith" required: true schema: default: "" type: "string" responses: "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The id has to be provided.\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Priority with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue resolution isn't found." "409": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if a task to delete the issue resolution is already\ \ running." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete resolution" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true get: deprecated: false description: "Returns an issue resolution value.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getResolution" parameters: - description: "The ID of the issue resolution value." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"A fix for this issue is checked into the\ \ tree and tested.\",\"id\":\"10000\",\"name\":\"Fixed\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/resolution/1\"}" schema: $ref: "#/components/schemas/Resolution" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue resolution value is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get resolution" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:resolution:jira" state: "Beta" put: deprecated: false description: "Updates an issue resolution.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "updateResolution" parameters: - description: "The ID of the issue resolution." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: description: "My updated resolution description" name: "My updated resolution" schema: $ref: "#/components/schemas/UpdateResolutionDetails" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The length of the description must not\ \ exceed 255 characters.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request isn't valid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"You are not authorized to perform this\ \ action. Administrator privileges are required.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user doesn't have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Resolution with ID 10000 not found.\"\ ],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the issue resolution isn't found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update resolution" tags: - "Issue resolutions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/role: get: deprecated: false 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)." operationId: "getAllProjectRoles" parameters: [] responses: "200": content: application/json: example: "[{\"actors\":[{\"actorGroup\":{\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\",\"name\":\"\ jira-developers\"},\"displayName\":\"jira-developers\",\"id\":10240,\"\ name\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\"\ ,\"user\":\"jira-developers\"},{\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ },\"displayName\":\"Mia Krystof\",\"id\":10241,\"type\":\"atlassian-user-role-actor\"\ }],\"description\":\"A project role that represents developers in\ \ a project\",\"id\":10360,\"name\":\"Developers\",\"scope\":{\"project\"\ :{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"},\"\ type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }]" schema: items: $ref: "#/components/schemas/ProjectRole" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all project roles" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" post: deprecated: false 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)." operationId: "createProjectRole" parameters: [] requestBody: content: application/json: example: description: "A project role that represents developers in a project" name: "Developers" schema: $ref: "#/components/schemas/CreateUpdateRoleRequestBean" required: true responses: "200": content: application/json: example: "{\"description\":\"A project role that represents developers\ \ in a project\",\"id\":10360,\"name\":\"Developers\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid. The `name` cannot be\ \ empty or start or end with whitespace." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "409": description: "Returned if a project role with the provided name already\ \ exists." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create project role" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project:jira" - "write:project-role:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project-role:jira" state: "Beta" /rest/api/2/role/{id}: delete: deprecated: false 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)." operationId: "deleteProjectRole" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the project role that will replace the one being deleted." in: "query" name: "swap" schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the request is invalid or if the replacement project\ \ role is not found." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "404": description: "Returned if the project role being deleted is not found." "409": description: "Returned if the project role being deleted is in use and a\ \ replacement project role is not specified in the request." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete project role" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:project-role:jira" state: "Beta" get: deprecated: false 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)." operationId: "getProjectRoleById" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\",\"name\":\"\ jira-developers\"},\"displayName\":\"jira-developers\",\"id\":10240,\"\ name\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\"\ ,\"user\":\"jira-developers\"},{\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ },\"displayName\":\"Mia Krystof\",\"id\":10241,\"type\":\"atlassian-user-role-actor\"\ }],\"description\":\"A project role that represents developers in\ \ a project\",\"id\":10360,\"name\":\"Developers\",\"scope\":{\"project\"\ :{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"},\"\ type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "404": description: "Returned if the project role is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get project role by ID" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" post: deprecated: false description: "Updates either the project role's name or its description.\n\n\ You 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)." operationId: "partialUpdateProjectRole" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: description: "A project role that represents developers in a project" name: "Developers" schema: $ref: "#/components/schemas/CreateUpdateRoleRequestBean" required: true responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\",\"name\":\"\ jira-developers\"},\"displayName\":\"jira-developers\",\"id\":10240,\"\ name\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\"\ ,\"user\":\"jira-developers\"},{\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ },\"displayName\":\"Mia Krystof\",\"id\":10241,\"type\":\"atlassian-user-role-actor\"\ }],\"description\":\"A project role that represents developers in\ \ a project\",\"id\":10360,\"name\":\"Developers\",\"scope\":{\"project\"\ :{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"},\"\ type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "404": description: "Returned if the project role is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Partial update project role" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project:jira" - "write:project-role:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project-role:jira" state: "Beta" put: deprecated: false 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)." operationId: "fullyUpdateProjectRole" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: description: "A project role that represents developers in a project" name: "Developers" schema: $ref: "#/components/schemas/CreateUpdateRoleRequestBean" required: true responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"displayName\":\"jira-developers\"\ ,\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\",\"name\":\"\ jira-developers\"},\"displayName\":\"jira-developers\",\"id\":10240,\"\ name\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\"\ ,\"user\":\"jira-developers\"},{\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ },\"displayName\":\"Mia Krystof\",\"id\":10241,\"type\":\"atlassian-user-role-actor\"\ }],\"description\":\"A project role that represents developers in\ \ a project\",\"id\":10360,\"name\":\"Developers\",\"scope\":{\"project\"\ :{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"},\"\ type\":\"PROJECT\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\"\ }" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid. The `name` cannot be\ \ empty or start or end with whitespace." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "404": description: "Returned if the project role is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Fully update project role" tags: - "Project roles" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project:jira" - "write:project-role:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project-role:jira" state: "Beta" /rest/api/2/role/{id}/actors: delete: deprecated: false 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)." operationId: "deleteProjectRoleActorsFromRole" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The user account ID of the user to remove as a default actor." in: "query" name: "user" schema: example: "5b10ac8d82e05b22cc7d4ef5" type: "string" x-showInExample: "true" - description: "The group ID of the group to be removed as a default actor.\ \ This parameter cannot be used with the `group` parameter." in: "query" name: "groupId" schema: type: "string" - 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." in: "query" name: "group" schema: type: "string" responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"name\":\"jira-developers\"\ ,\"displayName\":\"jira-developers\",\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"\ },\"displayName\":\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\"\ ,\"type\":\"atlassian-group-role-actor\"}]}" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "404": description: "Returned if the project role is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete default actors from project role" tags: - "Project role actors" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:project-role:jira" - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" get: deprecated: false 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)." operationId: "getProjectRoleActorsForRole" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"name\":\"jira-developers\"\ ,\"displayName\":\"jira-developers\",\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"\ },\"displayName\":\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\"\ ,\"type\":\"atlassian-group-role-actor\"}]}" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "404": description: "Returned if the project role is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get default actors for project role" tags: - "Project role actors" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" post: deprecated: false 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)." operationId: "addProjectRoleActorsToRole" parameters: - 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." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: user: - "admin" schema: $ref: "#/components/schemas/ActorInputBean" required: true responses: "200": content: application/json: example: "{\"actors\":[{\"actorGroup\":{\"name\":\"jira-developers\"\ ,\"displayName\":\"jira-developers\",\"groupId\":\"952d12c3-5b5b-4d04-bb32-44d383afc4b2\"\ },\"displayName\":\"jira-developers\",\"id\":10240,\"name\":\"jira-developers\"\ ,\"type\":\"atlassian-group-role-actor\"}]}" schema: $ref: "#/components/schemas/ProjectRole" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have administrative permissions." "404": description: "Returned if the project role is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Add default actors to project role" tags: - "Project role actors" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:group:jira" - "read:project-role:jira" - "read:project:jira" - "write:project-role:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" /rest/api/2/screens: get: deprecated: false 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)." operationId: "getScreens" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" - description: "The list of screen IDs. To include multiple IDs, provide an\ \ ampersand-separated list. For example, `id=10000&id=10001`." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "String used to perform a case-insensitive partial match with\ \ screen name." in: "query" name: "queryString" schema: default: "" type: "string" - description: "The scope filter string. To filter by multiple scope, provide\ \ an ampersand-separated list. For example, `scope=GLOBAL&scope=PROJECT`." in: "query" name: "scope" schema: items: default: "" enum: - "GLOBAL" - "TEMPLATE" - "PROJECT" type: "string" type: "array" uniqueItems: true - description: "[Order](#ordering) the results by a field:\n\n * `id` Sorts\ \ by screen ID.\n * `name` Sorts by screen name." in: "query" name: "orderBy" schema: enum: - "name" - "-name" - "+name" - "id" - "-id" - "+id" type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/screens\"\ ,\"startAt\":0,\"total\":3,\"values\":[{\"id\":1,\"name\":\"Default\ \ Screen\",\"description\":\"Provides for the update all system fields.\"\ },{\"id\":2,\"name\":\"Workflow Screen\",\"description\":\"This screen\ \ is used in the workflow and enables you to assign issues.\"},{\"\ id\":3,\"name\":\"Resolve Issue Screen\",\"description\":\"Offers\ \ the ability to set resolution, change fix versions, and assign an\ \ issue.\"}]}" schema: $ref: "#/components/schemas/PageBeanScreen" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Get screens" tags: - "Screens" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:screen:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" post: deprecated: false description: "Creates a screen with a default field tab.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createScreen" parameters: [] requestBody: content: application/json: example: description: "Enables changes to resolution and linked issues." name: "Resolve Security Issue Screen" schema: $ref: "#/components/schemas/ScreenDetails" required: true responses: "201": content: application/json: example: "{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"\ description\":\"Enables changes to resolution and linked issues.\"\ }" schema: $ref: "#/components/schemas/Screen" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The name is used by another screen.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ screens.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Create screen" tags: - "Screens" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:screen:jira" - "write:screen:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" x-experimental: true /rest/api/2/screens/addToDefault/{fieldId}: post: deprecated: false 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)." operationId: "addFieldToDefaultScreen" parameters: - description: "The ID of the field." in: "path" name: "fieldId" required: true schema: type: "string" responses: "200": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the field it not found or the field is already\ \ present." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Add field to default screen" tags: - "Screens" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:screen:jira" - "write:screen:jira" state: "Beta" /rest/api/2/screens/tabs: get: deprecated: false 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)." operationId: "getBulkScreenTabs" parameters: - description: "The list of screen IDs. To include multiple screen IDs, provide\ \ an ampersand-separated list. For example, `screenId=10000&screenId=10001`." in: "query" name: "screenId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "The list of tab IDs. To include multiple tab IDs, provide an\ \ ampersand-separated list. For example, `tabId=10000&tabId=10001`." in: "query" name: "tabId" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: true - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page. The maximum\ \ number is 100," in: "query" name: "maxResult" schema: default: 100 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :2,\"values\":[{\"screenId\":10000,\"tabId\":10001,\"tabName\":\"\ My Custom Tab 1\"},{\"screenId\":10001,\"tabId\":10002,\"tabName\"\ :\"My Custom Tab 2\"}]}" description: "Returned if the request is successful." "400": description: "Returned if the screen ID or the tab ID is empty." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Get bulk screen tabs" tags: - "Screen tabs" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screen-tab:jira" state: "Beta" x-experimental: true /rest/api/2/screens/{screenId}: delete: deprecated: false 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." operationId: "deleteScreen" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The screen is used in a screen scheme.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ screens.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The screen was not found.\"],\"errors\"\ :{}}" description: "Returned if the screen is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Delete screen" tags: - "Screens" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:screen:jira" state: "Beta" x-experimental: true put: deprecated: false 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)." operationId: "updateScreen" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: description: "Enables changes to resolution and linked issues for accessibility\ \ related issues." name: "Resolve Accessibility Issue Screen" schema: $ref: "#/components/schemas/UpdateScreenDetails" required: true responses: "200": content: application/json: example: "{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"\ description\":\"Enables changes to resolution and linked issues.\"\ }" schema: $ref: "#/components/schemas/Screen" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The name is used by another screen.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can manage\ \ screens.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The screen was not found.\"],\"errors\"\ :{}}" description: "Returned if the screen is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Update screen" tags: - "Screens" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:screen:jira" - "write:screen:jira" - "read:avatar:jira" - "read:project-category:jira" state: "Beta" x-experimental: true /rest/api/2/screens/{screenId}/availableFields: get: deprecated: false 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)." operationId: "getAvailableScreenFields" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ScreenableField" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Get available screen fields" tags: - "Screens" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screen-field:jira" - "read:screenable-field:jira" state: "Beta" /rest/api/2/screens/{screenId}/tabs: get: deprecated: false 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." operationId: "getAllScreenTabs" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The key of the project." in: "query" name: "projectKey" schema: type: "string" responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ScreenableTab" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the screen ID is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Get all screen tabs" tags: - "Screen tabs" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screen-tab:jira" state: "Beta" post: deprecated: false description: "Creates a tab for a screen.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "addScreenTab" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: name: "Fields Tab" schema: $ref: "#/components/schemas/ScreenableTab" required: true responses: "200": content: application/json: example: "{\"id\":10000,\"name\":\"Fields Tab\"}" schema: $ref: "#/components/schemas/ScreenableTab" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Create screen tab" tags: - "Screen tabs" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screen-tab:jira" - "write:screen-tab:jira" state: "Beta" /rest/api/2/screens/{screenId}/tabs/{tabId}: delete: deprecated: false description: "Deletes a screen tab.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "deleteScreenTab" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The ID of the screen tab." in: "path" name: "tabId" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen or screen tab is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Delete screen tab" tags: - "Screen tabs" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:screen-tab:jira" state: "Beta" put: deprecated: false description: "Updates the name of a screen tab.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "renameScreenTab" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The ID of the screen tab." in: "path" name: "tabId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: schema: $ref: "#/components/schemas/ScreenableTab" required: true responses: "200": content: application/json: example: "{\"id\":10000,\"name\":\"Fields Tab\"}" schema: $ref: "#/components/schemas/ScreenableTab" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen or screen tab is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Update screen tab" tags: - "Screen tabs" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screen-tab:jira" - "write:screen-tab:jira" state: "Beta" /rest/api/2/screens/{screenId}/tabs/{tabId}/fields: get: deprecated: false 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." operationId: "getAllScreenTabFields" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The ID of the screen tab." in: "path" name: "tabId" required: true schema: format: "int64" type: "integer" - description: "The key of the project." in: "query" name: "projectKey" schema: type: "string" responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ScreenableField" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen or screen tab is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Get all screen tab fields" tags: - "Screen tab fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screenable-field:jira" state: "Beta" post: deprecated: false description: "Adds a field to a screen tab.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "addScreenTabField" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The ID of the screen tab." in: "path" name: "tabId" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: fieldId: "summary" schema: $ref: "#/components/schemas/AddFieldBean" required: true responses: "200": content: application/json: example: "{\"id\":\"summary\",\"name\":\"Summary\"}" schema: $ref: "#/components/schemas/ScreenableField" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen, screen tab, or field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Add screen tab field" tags: - "Screen tab fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screenable-field:jira" - "write:screenable-field:jira" state: "Beta" /rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}: delete: deprecated: false description: "Removes a field from a screen tab.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "removeScreenTabField" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The ID of the screen tab." in: "path" name: "tabId" required: true schema: format: "int64" type: "integer" - description: "The ID of the field." in: "path" name: "id" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen, screen tab, or field is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Remove screen tab field" tags: - "Screen tab fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:screenable-field:jira" state: "Beta" /rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}/move: post: deprecated: false 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)." operationId: "moveScreenTabField" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The ID of the screen tab." in: "path" name: "tabId" required: true schema: format: "int64" type: "integer" - description: "The ID of the field." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: schema: $ref: "#/components/schemas/MoveFieldBean" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen, screen tab, or field is not found\ \ or the field can't be moved to the requested position." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Move screen tab field" tags: - "Screen tab fields" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:screenable-field:jira" state: "Beta" /rest/api/2/screens/{screenId}/tabs/{tabId}/move/{pos}: post: deprecated: false description: "Moves a screen tab.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "moveScreenTab" parameters: - description: "The ID of the screen." in: "path" name: "screenId" required: true schema: format: "int64" type: "integer" - description: "The ID of the screen tab." in: "path" name: "tabId" required: true schema: format: "int64" type: "integer" - description: "The position of tab. The base index is 0." in: "path" name: "pos" required: true schema: format: "int32" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the screen or screen tab is not found or the position\ \ is invalid." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Move screen tab" tags: - "Screen tabs" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:screen:jira" state: "Beta" /rest/api/2/screenscheme: get: deprecated: false description: "Returns a [paginated](#pagination) list of screen schemes.\n\n\ Only screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "getScreenSchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 25 format: "int32" type: "integer" - description: "The list of screen scheme IDs. To include multiple IDs, provide\ \ an ampersand-separated list. For example, `id=10000&id=10001`." in: "query" name: "id" schema: items: format: "int64" type: "integer" type: "array" uniqueItems: 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." in: "query" name: "expand" schema: default: "" type: "string" - description: "String used to perform a case-insensitive partial match with\ \ screen scheme name." in: "query" name: "queryString" schema: default: "" type: "string" - description: "[Order](#ordering) the results by a field:\n\n * `id` Sorts\ \ by screen scheme ID.\n * `name` Sorts by screen scheme name." in: "query" name: "orderBy" schema: enum: - "name" - "-name" - "+name" - "id" - "-id" - "+id" type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/screenscheme?maxResults=25&startAt=0\"\ ,\"startAt\":0,\"total\":2,\"values\":[{\"id\":10010,\"name\":\"Employee\ \ screen scheme\",\"description\":\"Manage employee data\",\"screens\"\ :{\"default\":10017,\"edit\":10019,\"create\":10019,\"view\":10020},\"\ issueTypeScreenSchemes\":{\"isLast\":true,\"maxResults\":100,\"startAt\"\ :0,\"total\":1,\"values\":[{\"id\":\"10000\",\"name\":\"Office issue\ \ type screen scheme\",\"description\":\"Managing office projects\"\ }]}},{\"id\":10032,\"name\":\"Office screen scheme\",\"description\"\ :\"Manage office data\",\"screens\":{\"default\":10020}}]}" schema: $ref: "#/components/schemas/PageBeanScreenScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Get screen schemes" tags: - "Screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:screen-scheme:jira" - "read:issue-type-screen-scheme:jira" state: "Beta" post: deprecated: false description: "Creates a screen scheme.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createScreenScheme" parameters: [] requestBody: content: application/json: example: description: "Manage employee data" name: "Employee screen scheme" screens: default: 10017 edit: 10019 view: 10020 schema: $ref: "#/components/schemas/ScreenSchemeDetails" required: true responses: "201": content: application/json: example: "{\"id\":10001}" schema: $ref: "#/components/schemas/ScreenSchemeId" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The name is used by another scheme.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"One or more screens assigned to screen\ \ types was not found.\"],\"errors\":{}}" description: "Returned if a screen used as one of the screen types in the\ \ screen scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create screen scheme" tags: - "Screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:screen-scheme:jira" state: "Beta" /rest/api/2/screenscheme/{screenSchemeId}: delete: deprecated: false 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)." operationId: "deleteScreenScheme" parameters: - description: "The ID of the screen scheme." in: "path" name: "screenSchemeId" required: true schema: type: "string" responses: "204": description: "Returned if the screen scheme is deleted." "400": content: application/json: example: "{\"errorMessages\":[\"The screen scheme cannot be deleted\ \ as it is in use in an issue type screen scheme.\"],\"errors\":{}}" description: "Returned if the screen scheme is used in an issue type screen\ \ scheme." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"The screen scheme was not found.\"],\"\ errors\":{}}" description: "Returned if the screen scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Delete screen scheme" tags: - "Screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:screen-scheme:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateScreenScheme" parameters: - description: "The ID of the screen scheme." in: "path" name: "screenSchemeId" required: true schema: type: "string" requestBody: content: application/json: example: name: "Employee screen scheme v2" screens: create: "10019" default: "10018" schema: $ref: "#/components/schemas/UpdateScreenSchemeDetails" description: "The screen scheme update details." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The name is used by another scheme.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ screen schemes.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The screen scheme was not found.\"],\"\ errors\":{}}" description: "Returned if the screen scheme or a screen used as one of the\ \ screen types is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update screen scheme" tags: - "Screen schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:screen-scheme:jira" state: "Beta" /rest/api/2/search: get: deprecated: false 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\n\ This 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." operationId: "searchForIssuesUsingJql" parameters: - 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." in: "query" name: "jql" schema: example: "project = HSP" type: "string" x-showInExample: "true" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - 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." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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." in: "query" name: "validateQuery" schema: default: "strict" enum: - "strict" - "warn" - "none" - "true" - "false" type: "string" - 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." in: "query" name: "fields" schema: items: default: "*navigable" type: "string" type: "array" - 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." in: "query" name: "expand" schema: type: "string" - 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." in: "query" name: "properties" schema: items: type: "string" type: "array" - description: "Reference fields by their key (rather than ID)." in: "query" name: "fieldsByKeys" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\"\ ,\"fields\":{\"watcher\":{\"isWatching\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\"\ ,\"watchCount\":1,\"watchers\":[{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }]},\"attachment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"content\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10001\"\ ,\"created\":\"2023-06-24T19:24:50.000+0000\",\"filename\":\"debuglog.txt\"\ ,\"id\":10001,\"mimeType\":\"text/plain\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\"\ ,\"size\":2460}],\"sub-tasks\":[{\"id\":\"10000\",\"outwardIssue\"\ :{\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/ED-2\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"Parent\",\"name\":\"\",\"outward\"\ :\"Sub-task\"}}],\"description\":\"Main order flow broken\",\"project\"\ :{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\"\ :\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}],\"issuelinks\":[{\"id\":\"10001\",\"outwardIssue\":{\"fields\"\ :{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/PR-2\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"depends on\",\"name\":\"Dependent\"\ ,\"outward\":\"is depended by\"}},{\"id\":\"10002\",\"inwardIssue\"\ :{\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/PR-3\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"depends on\",\"name\":\"Dependent\"\ ,\"outward\":\"is depended by\"}}],\"worklog\":[{\"author\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"comment\":\"I did some work here.\",\"id\":\"100028\",\"issueId\"\ :\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\"\ ,\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\"\ ,\"timeSpentSeconds\":12000,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"type\":\"\ group\",\"value\":\"jira-developers\"}}],\"updated\":1,\"timetracking\"\ :{\"originalEstimate\":\"10m\",\"originalEstimateSeconds\":600,\"\ remainingEstimate\":\"3m\",\"remainingEstimateSeconds\":200,\"timeSpent\"\ :\"6m\",\"timeSpentSeconds\":400}},\"id\":\"10002\",\"key\":\"ED-1\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\"\ }],\"maxResults\":50,\"startAt\":0,\"total\":1,\"warningMessages\"\ :[\"The value 'bar' does not exist for the field 'foo'.\"]}" schema: $ref: "#/components/schemas/SearchResults" description: "Returned if the request is successful." "400": description: "Returned if the JQL query is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Search for issues using JQL (GET)" tags: - "Issue search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-details:jira" - "read:audit-log:jira" - "read:avatar:jira" - "read:field-configuration:jira" - "read:issue-meta:jira" state: "Beta" post: deprecated: false 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." operationId: "searchForIssuesUsingJqlPost" parameters: [] requestBody: content: application/json: example: expand: - "names" - "schema" - "operations" fields: - "summary" - "status" - "assignee" fieldsByKeys: false jql: "project = HSP" maxResults: 15 startAt: 0 schema: $ref: "#/components/schemas/SearchRequestBean" description: "A JSON object containing the search request." required: true responses: "200": content: application/json: example: "{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\"\ ,\"fields\":{\"watcher\":{\"isWatching\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\"\ ,\"watchCount\":1,\"watchers\":[{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ }]},\"attachment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"accountType\":\"atlassian\",\"active\":false,\"avatarUrls\":{\"\ 16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"content\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10001\"\ ,\"created\":\"2023-06-24T19:24:50.000+0000\",\"filename\":\"debuglog.txt\"\ ,\"id\":10001,\"mimeType\":\"text/plain\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\"\ ,\"size\":2460}],\"sub-tasks\":[{\"id\":\"10000\",\"outwardIssue\"\ :{\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/ED-2\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"Parent\",\"name\":\"\",\"outward\"\ :\"Sub-task\"}}],\"description\":\"Main order flow broken\",\"project\"\ :{\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"insight\":{\"lastIssueUpdateTime\":\"2021-04-22T05:37:05.000+0000\"\ ,\"totalIssueCount\":100},\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"First Project Category\",\"id\":\"10000\",\"name\"\ :\"FIRST\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\"\ },\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\"\ ,\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\"\ :\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"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.\",\"created\":\"2021-01-17T12:34:00.000+0000\",\"id\":\"\ 10000\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\"\ ,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\"\ :false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"\ }}],\"issuelinks\":[{\"id\":\"10001\",\"outwardIssue\":{\"fields\"\ :{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/PR-2\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"depends on\",\"name\":\"Dependent\"\ ,\"outward\":\"is depended by\"}},{\"id\":\"10002\",\"inwardIssue\"\ :{\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\"\ ,\"name\":\"Open\"}},\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/issue/PR-3\"},\"type\"\ :{\"id\":\"10000\",\"inward\":\"depends on\",\"name\":\"Dependent\"\ ,\"outward\":\"is depended by\"}}],\"worklog\":[{\"author\":{\"accountId\"\ :\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"\ Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"comment\":\"I did some work here.\",\"id\":\"100028\",\"issueId\"\ :\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\"\ ,\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\"\ ,\"timeSpentSeconds\":12000,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"type\":\"\ group\",\"value\":\"jira-developers\"}}],\"updated\":1,\"timetracking\"\ :{\"originalEstimate\":\"10m\",\"originalEstimateSeconds\":600,\"\ remainingEstimate\":\"3m\",\"remainingEstimateSeconds\":200,\"timeSpent\"\ :\"6m\",\"timeSpentSeconds\":400}},\"id\":\"10002\",\"key\":\"ED-1\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\"\ }],\"maxResults\":50,\"startAt\":0,\"total\":1,\"warningMessages\"\ :[\"The value 'bar' does not exist for the field 'foo'.\"]}" schema: $ref: "#/components/schemas/SearchResults" description: "Returned if the request is successful." "400": description: "Returned if the JQL query is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Search for issues using JQL (POST)" tags: - "Issue search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-details:jira" - "read:field.default-value:jira" - "read:field.option:jira" - "read:field:jira" - "read:group:jira" state: "Beta" /rest/api/2/search/id: post: deprecated: false 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." operationId: "searchForIssuesIds" parameters: [] requestBody: content: application/json: example: jql: "project = HSP" maxResults: 1000 nextPageToken: "EgQIlMIC" schema: $ref: "#/components/schemas/IdSearchRequestBean" description: "A JSON object containing the search request." required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/IdSearchResults" description: "Returned if the request is successful." "400": description: "Returned if the JQL query is invalid." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Search issue IDs using JQL" tags: - "Issue search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-details:jira" - "read:field.default-value:jira" - "read:field.option:jira" - "read:field:jira" - "read:group:jira" state: "Beta" x-experimental: true /rest/api/2/securitylevel/{id}: get: deprecated: false 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." operationId: "getIssueSecurityLevel" parameters: - description: "The ID of the issue security level." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"Only the reporter and internal staff can\ \ see this issue.\",\"id\":\"10021\",\"name\":\"Reporter Only\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\"\ }" schema: $ref: "#/components/schemas/SecurityLevel" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if the issue security level is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Get issue security level" tags: - "Issue security level" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:issue-security-level:jira" - "read:project-role:jira" - "read:user:jira" state: "Beta" /rest/api/2/serverInfo: get: deprecated: false description: "Returns information about the Jira instance.\n\nThis operation\ \ can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\ \ None." operationId: "getServerInfo" parameters: [] responses: "200": content: application/json: example: "{\"baseUrl\":\"https://your-domain.atlassian.net\",\"buildDate\"\ :\"2020-03-26T22:20:59.000+0000\",\"buildNumber\":582,\"defaultLocale\"\ :{\"locale\":\"en_AU\"},\"displayUrl\":\"https://instance.jira.your-domain.com\"\ ,\"displayUrlServicedeskHelpCenter\":\"https://instance.help.your-domain.com\"\ ,\"scmInfo\":\"1f51473f5c7b75c1a69a0090f4832cdc5053702a\",\"serverTime\"\ :\"2020-03-31T16:43:50.000+0000\",\"serverTimeZone\":\"Australia/Sydney\"\ ,\"serverTitle\":\"My Jira instance\",\"version\":\"1001.0.0-SNAPSHOT\"\ ,\"versionNumbers\":[5,0,0]}" schema: $ref: "#/components/schemas/ServerInformation" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." security: - basicAuth: [] - OAuth2: [] - {} summary: "Get Jira instance info" tags: - "Server info" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" /rest/api/2/settings/columns: get: deprecated: false description: "Returns the default issue navigator columns.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "getIssueNavigatorDefaultColumns" parameters: [] responses: "200": content: application/json: example: "[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"\ Summary\",\"value\":\"summary\"}]" schema: items: $ref: "#/components/schemas/ColumnItem" type: "array" description: "Returned if the request is successful." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] summary: "Get issue navigator default columns" tags: - "Issue navigator settings" x-atlassian-data-security-policy: - app-access-rule-exempt: true put: deprecated: false 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\n\ A 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)." operationId: "setIssueNavigatorDefaultColumns" parameters: [] requestBody: content: '*/*': schema: $ref: "#/components/schemas/ColumnRequestBody" multipart/form-data: schema: $ref: "#/components/schemas/ColumnRequestBody" description: "A navigable field value." required: true responses: "200": description: "Returned if the request is successful." "400": description: "Returned if invalid parameters are passed." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if a navigable field value is not found." security: - basicAuth: [] summary: "Set issue navigator default columns" tags: - "Issue navigator settings" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/status: get: deprecated: false description: "Returns a list of all statuses associated with active workflows.\n\ \nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions)\ \ required:** None." operationId: "getStatuses" parameters: [] responses: "200": content: application/json: example: "[{\"description\":\"The issue is currently being worked on.\"\ ,\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\"\ ,\"id\":\"10000\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\"\ ,\"statusCategory\":{\"colorName\":\"yellow\",\"id\":1,\"key\":\"\ in-flight\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\"\ }},{\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\"\ ,\"id\":\"5\",\"name\":\"Closed\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\"\ ,\"statusCategory\":{\"colorName\":\"green\",\"id\":9,\"key\":\"completed\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\"\ }}]" schema: items: $ref: "#/components/schemas/StatusDetails" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all statuses" tags: - "Workflow statuses" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:status:jira" state: "Beta" /rest/api/2/status/{idOrName}: get: deprecated: false 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." operationId: "getStatus" parameters: - description: "The ID or name of the status." in: "path" name: "idOrName" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"description\":\"The issue is currently being worked on.\"\ ,\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\"\ ,\"id\":\"10000\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\"\ ,\"statusCategory\":{\"colorName\":\"yellow\",\"id\":1,\"key\":\"\ in-flight\",\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\"\ }}" schema: $ref: "#/components/schemas/StatusDetails" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the status is not found.\n * the status\ \ is not associated with a workflow.\n * the user does not have the required\ \ permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get status" tags: - "Workflow statuses" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:status:jira" state: "Beta" /rest/api/2/statuscategory: get: deprecated: false description: "Returns a list of all status categories.\n\n**[Permissions](#permissions)\ \ required:** Permission to access Jira." operationId: "getStatusCategories" parameters: [] responses: "200": content: application/json: example: "[{\"colorName\":\"yellow\",\"id\":1,\"key\":\"in-flight\"\ ,\"name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\"\ },{\"colorName\":\"green\",\"id\":9,\"key\":\"completed\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\"\ }]" schema: items: $ref: "#/components/schemas/StatusCategory" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get all status categories" tags: - "Workflow status categories" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:status:jira" state: "Beta" /rest/api/2/statuscategory/{idOrKey}: get: deprecated: false 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." operationId: "getStatusCategory" parameters: - description: "The ID or key of the status category." in: "path" name: "idOrKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"colorName\":\"yellow\",\"id\":1,\"key\":\"in-flight\",\"\ name\":\"In Progress\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\"\ }" schema: $ref: "#/components/schemas/StatusCategory" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the status category is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get status category" tags: - "Workflow status categories" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:status:jira" state: "Beta" /rest/api/2/statuses: delete: deprecated: false 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)" operationId: "deleteStatusesById" parameters: - 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`" in: "query" name: "id" required: true schema: items: type: "string" type: "array" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The name is too long, maxSize=255\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk delete Statuses" tags: - "Status" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" get: deprecated: false 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)" operationId: "getStatusesById" parameters: - 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." in: "query" name: "expand" schema: type: "string" - 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`" in: "query" name: "id" required: true schema: items: type: "string" type: "array" responses: "200": content: application/json: example: "[{\"description\":\"The issue is resolved\",\"id\":\"1000\"\ ,\"name\":\"Finished\",\"scope\":{\"project\":{\"id\":\"1\"},\"type\"\ :\"PROJECT\"},\"statusCategory\":\"DONE\",\"usages\":[{\"issueTypes\"\ :[\"10002\"],\"project\":{\"id\":\"1\"}}],\"workflowUsages\":[{\"\ workflowId\":\"545d80a3-91ff-4949-8b0d-a2bc484e70e5\",\"workflowName\"\ :\"Workflow 1\"}]}]" schema: items: $ref: "#/components/schemas/JiraStatus" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk get statuses" tags: - "Status" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow:jira" state: "Beta" post: deprecated: false 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)" operationId: "createStatuses" parameters: [] requestBody: content: application/json: example: scope: project: id: "1" type: "PROJECT" statuses: - description: "The issue is resolved" name: "Finished" statusCategory: "DONE" schema: $ref: "#/components/schemas/StatusCreateRequest" description: "Details of the statuses being created and their scope." required: true responses: "200": content: application/json: example: "[{\"description\":\"The issue is resolved\",\"id\":\"1000\"\ ,\"name\":\"Finished\",\"scope\":{\"project\":{\"id\":\"1\"},\"type\"\ :\"PROJECT\"},\"statusCategory\":\"DONE\",\"usages\":[],\"workflowUsages\"\ :[]}]" schema: items: $ref: "#/components/schemas/JiraStatus" type: "array" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The name is too long, maxSize=255\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." "409": description: "Returned if another workflow configuration update task is\ \ ongoing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk create statuses" tags: - "Status" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" put: deprecated: false 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)" operationId: "updateStatuses" parameters: [] requestBody: content: application/json: example: statuses: - description: "The issue is resolved" id: "1000" name: "Finished" statusCategory: "DONE" schema: $ref: "#/components/schemas/StatusUpdateRequest" description: "The list of statuses that will be updated." required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"The name is too long, maxSize=255\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." "409": description: "Returned if another workflow configuration update task is\ \ ongoing." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk update statuses" tags: - "Status" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" /rest/api/2/statuses/search: get: deprecated: false 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)" operationId: "search" parameters: - 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." in: "query" name: "expand" schema: type: "string" - description: "The project the status is part of or null for global statuses." in: "query" name: "projectId" schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 200 format: "int32" type: "integer" - description: "Term to match status names against or null to search for all\ \ statuses in the search scope." in: "query" name: "searchString" schema: maxLength: 255 type: "string" - description: "Category of the status to filter by. The supported values are:\ \ `TODO`, `IN_PROGRESS`, and `DONE`." in: "query" name: "statusCategory" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":2,\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/statuses/search?startAt=2&maxResults=2\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuses/search?startAt=0&maxResults=2\"\ ,\"startAt\":0,\"total\":5,\"values\":[{\"description\":\"The issue\ \ is resolved\",\"id\":\"1000\",\"name\":\"Finished\",\"scope\":{\"\ project\":{\"id\":\"1\"},\"type\":\"PROJECT\"},\"statusCategory\"\ :\"DONE\",\"usages\":[{\"issueTypes\":[\"10002\"],\"project\":{\"\ id\":\"1\"}}],\"workflowUsages\":[{\"workflowId\":\"545d80a3-91ff-4949-8b0d-a2bc484e70e5\"\ ,\"workflowName\":\"Workflow 1\"}]}]}" schema: $ref: "#/components/schemas/PageOfStatuses" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Search statuses paginated" tags: - "Status" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow:jira" state: "Beta" /rest/api/2/task/{taskId}: get: deprecated: false 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." operationId: "getTask" parameters: - description: "The ID of the task." in: "path" name: "taskId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/2/task/1\"\ ,\"id\":\"1\",\"description\":\"Task description\",\"status\":\"COMPLETE\"\ ,\"result\":\"the task result, this may be any JSON\",\"submittedBy\"\ :10000,\"progress\":100,\"elapsedRuntime\":156,\"submitted\":1501708132800,\"\ started\":1501708132900,\"finished\":1501708133000,\"lastUpdate\"\ :1501708133000}" schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the task is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get task" tags: - "Tasks" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" /rest/api/2/task/{taskId}/cancel: post: deprecated: false 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." operationId: "cancelTask" parameters: - description: "The ID of the task." in: "path" name: "taskId" required: true schema: type: "string" responses: "202": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: schema: items: type: "string" type: "array" description: "Returned if cancellation of the task is not possible." "401": content: application/json: schema: items: type: "string" type: "array" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: items: type: "string" type: "array" description: "Returned if the user does not have the necessary permission." "404": content: application/json: schema: items: type: "string" type: "array" description: "Returned if the task is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Cancel task" tags: - "Tasks" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:async-task:jira" state: "Beta" x-experimental: true /rest/api/2/uiModifications: get: deprecated: false description: "Gets UI modifications. UI modifications can only be retrieved\ \ by Forge apps.\n\n**[Permissions](#permissions) required:** None." operationId: "getUiModifications" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :3,\"values\":[{\"id\":\"d7dbda8a-6239-4b63-8e13-a5ef975c8e61\",\"\ name\":\"Reveal Story Points\",\"description\":\"Reveals Story Points\ \ field when any Sprint is selected.\",\"self\":\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d7dbda8a-6239-4b63-8e13-a5ef975c8e61\"\ ,\"data\":\"{field: 'Story Points', config: {hidden: false}}\",\"\ contexts\":[{\"id\":\"1533537a-bda3-4ac6-8481-846128cd9ef4\",\"projectId\"\ :\"10000\",\"issueTypeId\":\"10000\",\"viewType\":\"GIC\",\"isAvailable\"\ :true},{\"id\":\"c016fefa-6eb3-40c9-8596-4c4ef273e67c\",\"projectId\"\ :\"10000\",\"issueTypeId\":\"10001\",\"viewType\":\"IssueView\",\"\ isAvailable\":true}]},{\"id\":\"e4fe8db5-f82f-416b-a3aa-b260b55da577\"\ ,\"name\":\"Set Assignee\",\"description\":\"Sets the Assignee field\ \ automatically.\",\"self\":\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/e4fe8db5-f82f-416b-a3aa-b260b55da577\"\ ,\"contexts\":[{\"id\":\"8b3740f9-8780-4958-8228-69dcfbda11d9\",\"\ projectId\":\"10000\",\"issueTypeId\":\"10000\",\"viewType\":\"GIC\"\ ,\"isAvailable\":true}]},{\"id\":\"1453f993-79ce-4389-a36d-eb72d5c85dd6\"\ ,\"name\":\"Hide Labels\",\"description\":\"Hides Labels if any component\ \ is provided.\",\"self\":\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/1453f993-79ce-4389-a36d-eb72d5c85dd6\"\ ,\"contexts\":[]},{\"id\":\"d3f4097e-8d8e-451e-9fb6-27c3c8c3bfff\"\ ,\"name\":\"Wildcard example\",\"description\":\"This context is applied\ \ to all issue types\",\"self\":\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d3f4097e-8d8e-451e-9fb6-27c3c8c3bfff\"\ ,\"contexts\":[{\"id\":\"521f2181-5d5e-46ea-9fc9-871bbf245b8b\",\"\ projectId\":\"10000\",\"issueTypeId\":null,\"viewType\":\"GIC\",\"\ isAvailable\":true}]}]}" schema: $ref: "#/components/schemas/PageBeanUiModificationDetails" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the request is not from a Forge app." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get UI modifications" tags: - "UI modifications (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true post: deprecated: false 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." operationId: "createUiModification" parameters: [] requestBody: content: application/json: example: contexts: - issueTypeId: "10000" projectId: "10000" viewType: "GIC" - issueTypeId: "10001" projectId: "10000" viewType: "IssueView" - issueTypeId: "10002" projectId: "10000" viewType: null data: "{field: 'Story Points', config: {hidden: false}}" description: "Reveals Story Points field when any Sprint is selected." name: "Reveal Story Points" schema: $ref: "#/components/schemas/CreateUiModificationDetails" description: "Details of the UI modification." required: true responses: "201": content: application/json: example: "{\"id\":\"d7dbda8a-6239-4b63-8e13-a5ef975c8e61\",\"self\"\ :\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d7dbda8a-6239-4b63-8e13-a5ef975c8e61\"\ }" schema: $ref: "#/components/schemas/UiModificationIdentifiers" description: "Returned if the UI modification is created." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the request is not from a Forge app." "404": content: application/json: example: "{\"details\":{\"issueTypesNotFound\":{\"10001\":[\"10000\"\ ,\"10001\"]},\"projectNotFound\":[\"10000\"]},\"errorMessages\":[\"\ Project with ID '10000' was not found.\",\"Project with ID '10001'.\ \ The following issue types were not found: [10000, 10001]\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/DetailedErrorCollection" description: "Returned if a project or an issue type in the context are\ \ not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Create UI modification" tags: - "UI modifications (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/uiModifications/{uiModificationId}: delete: deprecated: false 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." operationId: "deleteUiModification" parameters: - description: "The ID of the UI modification." in: "path" name: "uiModificationId" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the UI modification is deleted." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the request is not from a Forge app." "404": description: "Returned if the UI modification is not found." security: - basicAuth: [] - OAuth2: [] summary: "Delete UI modification" tags: - "UI modifications (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true put: deprecated: false 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." operationId: "updateUiModification" parameters: - description: "The ID of the UI modification." in: "path" name: "uiModificationId" required: true schema: type: "string" requestBody: content: application/json: example: contexts: - issueTypeId: "10000" projectId: "10000" viewType: "GIC" - issueTypeId: "10001" projectId: "10000" viewType: "IssueView" data: "{field: 'Story Points', config: {hidden: true}}" name: "Updated Reveal Story Points" schema: $ref: "#/components/schemas/UpdateUiModificationDetails" description: "Details of the UI modification." required: true responses: "204": content: application/json: schema: {} description: "Returned if the UI modification is updated." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the request is not from a Forge app." "404": content: application/json: example: "{\"details\":{\"issueTypesNotFound\":{\"10001\":[\"10000\"\ ,\"10001\"]},\"projectNotFound\":[\"10000\"]},\"errorMessages\":[\"\ Project with ID '10000' was not found.\",\"Project with ID '10001'.\ \ The following issue types were not found: [10000, 10001]\"],\"errors\"\ :{}}" schema: $ref: "#/components/schemas/DetailedErrorCollection" description: "Returned if the UI modification, a project or an issue type\ \ in the context are not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Update UI modification" tags: - "UI modifications (apps)" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/universal_avatar/type/{type}/owner/{entityId}: get: deprecated: false 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." operationId: "getAvatars" parameters: - description: "The avatar type." in: "path" name: "type" required: true schema: enum: - "project" - "issuetype" type: "string" - description: "The ID of the item the avatar is associated with." in: "path" name: "entityId" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"custom\":[{\"id\":\"1010\",\"isDeletable\":true,\"isSelected\"\ :false,\"isSystemAvatar\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"\ }}],\"system\":[{\"id\":\"1000\",\"isDeletable\":false,\"isSelected\"\ :false,\"isSystemAvatar\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\"\ ,\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\"\ ,\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\"\ ,\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"\ }}]}" schema: $ref: "#/components/schemas/Avatars" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the avatar type is invalid, the associated item\ \ ID is missing, or the item is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Get avatars" tags: - "Avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:avatar:jira" state: "Beta" post: deprecated: false 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/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\"\ \ `\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)." operationId: "storeAvatar" parameters: - description: "The avatar type." in: "path" name: "type" required: true schema: enum: - "project" - "issuetype" type: "string" - description: "The ID of the item the avatar is associated with." in: "path" name: "entityId" required: true schema: type: "string" - description: "The X coordinate of the top-left corner of the crop region." in: "query" name: "x" schema: default: 0 format: "int32" type: "integer" - description: "The Y coordinate of the top-left corner of the crop region." in: "query" name: "y" schema: default: 0 format: "int32" type: "integer" - description: "The length of each side of the crop region." in: "query" name: "size" required: true schema: default: 0 format: "int32" type: "integer" requestBody: content: '*/*': schema: {} required: true responses: "201": content: application/json: example: "{\"id\":\"1000\",\"isDeletable\":false,\"isSelected\":false,\"\ isSystemAvatar\":true,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\"\ ,\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\"\ ,\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\"\ ,\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"\ }}" schema: $ref: "#/components/schemas/Avatar" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * an image isn't included in the request.\n\ \ * the image type is unsupported.\n * the crop parameters extend the\ \ crop area beyond the edge of the image." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permissions." "404": description: "Returned if the avatar type is invalid, the associated item\ \ ID is missing, or the item is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Load avatar" tags: - "Avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:avatar:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}: delete: deprecated: false 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)." operationId: "deleteAvatar" parameters: - description: "The avatar type." in: "path" name: "type" required: true schema: enum: - "project" - "issuetype" type: "string" - description: "The ID of the item the avatar is associated with." in: "path" name: "owningObjectId" required: true schema: type: "string" - description: "The ID of the avatar." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "403": description: "Returned if the user does not have permission to delete the\ \ avatar, the avatar is not deletable." "404": description: "Returned if the avatar type, associated item ID, or avatar\ \ ID is invalid." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" - {} summary: "Delete avatar" tags: - "Avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:avatar:jira" state: "Beta" /rest/api/2/universal_avatar/view/type/{type}: get: deprecated: false description: "Returns the default project or issue type avatar image.\n\nThis\ \ operation can be accessed anonymously.\n\n**[Permissions](#permissions)\ \ required:** None." operationId: "getAvatarImageByType" parameters: - description: "The icon type of the avatar." in: "path" name: "type" required: true schema: enum: - "issuetype" - "project" type: "string" x-showInExample: "true" - description: "The size of the avatar image. If not provided the default size\ \ is returned." in: "query" name: "size" schema: enum: - "xsmall" - "small" - "medium" - "large" - "xlarge" type: "string" x-showInExample: "true" - description: "The format to return the avatar image in. If not provided the\ \ original content format is returned." in: "query" name: "format" schema: enum: - "png" - "svg" type: "string" x-showInExample: "true" responses: "200": content: '*/*': {} application/json: schema: $ref: "#/components/schemas/StreamingResponseBody" image/png: {} image/svg+xml: {} description: "Returned if the request is successful." "401": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the authentication credentials are incorrect." "403": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the user does not have the necessary permission." "404": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if an avatar is not found or an avatar matching the\ \ requested size is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get avatar image by type" tags: - "Avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:avatar:jira" state: "Beta" x-experimental: true /rest/api/2/universal_avatar/view/type/{type}/avatar/{id}: get: deprecated: false 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." operationId: "getAvatarImageByID" parameters: - description: "The icon type of the avatar." in: "path" name: "type" required: true schema: enum: - "issuetype" - "project" type: "string" x-showInExample: "true" - description: "The ID of the avatar." in: "path" name: "id" required: true schema: format: "int64" type: "integer" x-showInExample: "true" - description: "The size of the avatar image. If not provided the default size\ \ is returned." in: "query" name: "size" schema: enum: - "xsmall" - "small" - "medium" - "large" - "xlarge" type: "string" x-showInExample: "true" - description: "The format to return the avatar image in. If not provided the\ \ original content format is returned." in: "query" name: "format" schema: enum: - "png" - "svg" type: "string" x-showInExample: "true" responses: "200": content: '*/*': {} application/json: schema: $ref: "#/components/schemas/StreamingResponseBody" image/png: {} image/svg+xml: {} description: "Returned if the request is successful." "400": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the request is not valid." "401": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the authentication credentials are incorrect." "403": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the user does not have the necessary permission." "404": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if an avatar is not found or an avatar matching the\ \ requested size is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get avatar image by ID" tags: - "Avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:avatar:jira" state: "Beta" x-experimental: true /rest/api/2/universal_avatar/view/type/{type}/owner/{entityId}: get: deprecated: false 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." operationId: "getAvatarImageByOwner" parameters: - description: "The icon type of the avatar." in: "path" name: "type" required: true schema: enum: - "issuetype" - "project" type: "string" x-showInExample: "true" - description: "The ID of the project or issue type the avatar belongs to." in: "path" name: "entityId" required: true schema: type: "string" x-showInExample: "true" - description: "The size of the avatar image. If not provided the default size\ \ is returned." in: "query" name: "size" schema: enum: - "xsmall" - "small" - "medium" - "large" - "xlarge" type: "string" x-showInExample: "true" - description: "The format to return the avatar image in. If not provided the\ \ original content format is returned." in: "query" name: "format" schema: enum: - "png" - "svg" type: "string" x-showInExample: "true" responses: "200": content: '*/*': {} application/json: schema: $ref: "#/components/schemas/StreamingResponseBody" image/png: {} image/svg+xml: {} description: "Returned if the request is successful." "400": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the request is not valid." "401": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the authentication credentials are incorrect." "403": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if the user does not have the necessary permission." "404": content: '*/*': example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" application/json: schema: $ref: "#/components/schemas/ErrorCollection" image/png: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" image/svg+xml: example: "{\"errorMessages\":[\"Human readable error message\"],\"errors\"\ :{}}" description: "Returned if an avatar is not found or an avatar matching the\ \ requested size is not found." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get avatar image by owner" tags: - "Avatars" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:avatar:jira" state: "Beta" x-experimental: true /rest/api/2/user: delete: deprecated: false 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))." operationId: "removeUser" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" required: true schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" - 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." in: "query" name: "key" schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": description: "Returned if the user cannot be removed." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the user is not found." security: - basicAuth: [] - {} summary: "Delete user" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true get: deprecated: false 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)." operationId: "getUser" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.\ \ Required." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" - 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." in: "query" name: "key" schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":true,\"applicationRoles\":{\"items\":[],\"\ size\":1},\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"}" schema: $ref: "#/components/schemas/User" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the calling user does not have the *Browse users\ \ and groups* global permission." "404": description: "Returned if the user is not found." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Get user" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:group:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" post: deprecated: false 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)." operationId: "createUser" parameters: [] requestBody: content: application/json: example: emailAddress: "mia@atlassian.com" schema: $ref: "#/components/schemas/NewUserDetails" description: "Details about the user to be created." required: true responses: "201": content: application/json: example: "{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":true,\"applicationRoles\":{\"items\":[],\"\ size\":1},\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"}" schema: $ref: "#/components/schemas/User" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid or the number of licensed\ \ users is exceeded." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - {} summary: "Create user" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/api/2/user/assignable/multiProjectSearch: get: deprecated: false 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." operationId: "findBulkAssignableUsers" parameters: - 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." in: "query" name: "query" schema: example: "query" type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" - description: "A query string that is matched exactly against user `accountId`.\ \ Required, unless `query` is specified." in: "query" name: "accountId" schema: maxLength: 128 type: "string" - description: "A list of project keys (case sensitive). This parameter accepts\ \ a comma-separated list." in: "query" name: "projectKeys" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },{\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\"\ },\"displayName\":\"Emma Richards\",\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\"\ }]" schema: items: $ref: "#/components/schemas/User" type: "array" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `projectKeys` is missing.\n * `query`\ \ or `accountId` is missing.\n * `query` and `accountId` are provided." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if one or more of the projects is not found." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Find users assignable to projects" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:project:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/user/assignable/search: get: deprecated: false 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)" operationId: "findAssignableUsers" parameters: - 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." in: "query" name: "query" schema: example: "query" type: "string" x-showInExample: "true" - description: "The sessionId of this request. SessionId is the same until the\ \ assignee is set." in: "query" name: "sessionId" schema: type: "string" - 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." in: "query" name: "username" schema: type: "string" - description: "A query string that is matched exactly against user `accountId`.\ \ Required, unless `query` is specified." in: "query" name: "accountId" schema: maxLength: 128 type: "string" - description: "The project ID or project key (case sensitive). Required, unless\ \ `issueKey` is specified." in: "query" name: "project" schema: type: "string" - description: "The key of the issue. Required, unless `project` is specified." in: "query" name: "issueKey" schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - 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." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The ID of the transition." in: "query" name: "actionDescriptorId" schema: format: "int32" type: "integer" - in: "query" name: "recommend" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":true,\"applicationRoles\":{\"items\":[],\"\ size\":1},\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"}" schema: items: $ref: "#/components/schemas/User" type: "array" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `issueKey` or `project` is missing.\n\ \ * `query` or `accountId` is missing.\n * `query` and `accountId` are\ \ provided." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the project, issue, or transition is not found." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Find users assignable to issues" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:issue:jira" - "read:project:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/user/bulk: get: deprecated: false 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." operationId: "bulkGetUsers" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 10 format: "int32" type: "integer" - 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." in: "query" name: "username" schema: items: type: "string" type: "array" - 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." in: "query" name: "key" schema: items: type: "string" type: "array" - description: "The account ID of a user. To specify multiple users, pass multiple\ \ `accountId` parameters. For example, `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`." in: "query" name: "accountId" required: true schema: example: "5b10ac8d82e05b22cc7d4ef5" items: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" maxLength: 128 type: "array" x-showInExample: "true" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":100,\"startAt\":0,\"total\"\ :1,\"values\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":true,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"}]}" schema: $ref: "#/components/schemas/PageBeanUser" description: "Returned if the request is successful." "400": description: "Returned if `accountID` is missing." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Bulk get users" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:application-role:jira" - "read:group:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" x-experimental: true /rest/api/2/user/bulk/migration: get: deprecated: false 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." operationId: "bulkGetUsersMigration" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 10 format: "int32" type: "integer" - 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." in: "query" name: "username" schema: items: type: "string" type: "array" - 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." in: "query" name: "key" schema: items: type: "string" type: "array" responses: "200": content: application/json: example: "[{\"username\":\"mia\",\"accountId\":\"5b10a2844c20165700ede21g\"\ },{\"username\":\"emma\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"\ }]" schema: items: $ref: "#/components/schemas/UserMigrationBean" type: "array" description: "Returned if the request is successful." "400": description: "Returned if `key` or `username`" "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Get account IDs for users" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" state: "Beta" x-experimental: true /rest/api/2/user/columns: delete: deprecated: false 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." operationId: "resetUserColumns" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or is not accessing their user record." security: - basicAuth: [] - {} summary: "Reset user default columns" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true get: deprecated: false 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." operationId: "getUserDefaultColumns" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ColumnItem" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or is not accessing their user record." "404": description: "Returned if the requested user is not found." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Get user default columns" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user.columns:jira" - "read:filter.column:jira" state: "Beta" put: deprecated: false 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." operationId: "setUserColumns" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "true" requestBody: content: '*/*': schema: $ref: "#/components/schemas/UserColumnRequestBody" multipart/form-data: schema: $ref: "#/components/schemas/UserColumnRequestBody" description: "The ID of a column to set. To set multiple columns, send multiple\ \ `columns` parameters." required: true responses: "200": content: application/json: schema: {} description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or is not accessing their user record." "404": description: "Returned if the requested user is not found." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." "500": description: "Returned if an invalid issue table column ID is sent." security: - basicAuth: [] - {} summary: "Set user default columns" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/user/email: get: deprecated: false 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)." operationId: "getUserEmail" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`." in: "query" name: "accountId" required: true schema: maxLength: 128 type: "string" responses: "200": content: application/json: example: "name@example.com" schema: $ref: "#/components/schemas/UnrestrictedUserEmail" description: "Returned if the request is successful." "400": description: "Returned if the calling app is not approved to use this API." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing from the request (for example if a user is trying to access\ \ this API)." "404": description: "Returned if a user with the given `accountId` doesn't exist" "503": description: "Indicates the API is not currently enabled" security: - basicAuth: [] summary: "Get user email" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/user/email/bulk: get: deprecated: false 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)." operationId: "getUserEmailBulk" parameters: - 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)." in: "query" name: "accountId" required: true schema: items: maxLength: 128 type: "string" maxLength: 128 type: "array" responses: "200": content: application/json: schema: $ref: "#/components/schemas/UnrestrictedUserEmail" description: "Returned if the request is successful." "400": description: "Returned if the calling app is not approved to use this API." "401": description: "Returned if the authentication credentials are incorrect,\ \ or missing from the request (for example if a user is trying to access\ \ this API)." "503": description: "Indicates the API is not currently enabled." security: - basicAuth: [] summary: "Get user email bulk" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/user/groups: get: deprecated: false 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)." operationId: "getUserGroups" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" required: true schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" - 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." in: "query" name: "key" schema: type: "string" responses: "200": content: application/json: example: "{\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"name\"\ :\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625\"\ }" schema: items: $ref: "#/components/schemas/GroupName" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the calling user does not have the *Browse users\ \ and groups* global permission." "404": description: "Returned if the user is not found." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Get user groups" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" state: "Beta" /rest/api/2/user/permission/search: get: deprecated: false 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." operationId: "findUsersWithAllPermissions" parameters: - 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." in: "query" name: "query" schema: example: "query" type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" - description: "A query string that is matched exactly against user `accountId`.\ \ Required, unless `query` is specified." in: "query" name: "accountId" schema: maxLength: 128 type: "string" - 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" in: "query" name: "permissions" required: true schema: type: "string" - description: "The issue key for the issue." in: "query" name: "issueKey" schema: type: "string" - description: "The project key for the project (case sensitive)." in: "query" name: "projectKey" schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },{\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\"\ },\"displayName\":\"Emma Richards\",\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\"\ }]" schema: items: $ref: "#/components/schemas/User" type: "array" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `issueKey` or `projectKey` is missing.\n\ \ * `query` or `accountId` is missing.\n * `query` and `accountId` are\ \ provided.\n * `permissions` is empty or contains an invalid entry." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the issue or project is not found." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Find users with permissions" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:issue:jira" - "read:project:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/user/picker: get: deprecated: false 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." operationId: "findUsersForPicker" parameters: - 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*." in: "query" name: "query" required: true schema: type: "string" - description: "The maximum number of items to return. The total number of matched\ \ users is returned in `total`." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "Include the URI to the user's avatar." in: "query" name: "showAvatar" schema: default: false type: "boolean" - 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." in: "query" name: "exclude" schema: items: type: "string" type: "array" - 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`." in: "query" name: "excludeAccountIds" schema: items: type: "string" type: "array" - in: "query" name: "avatarSize" schema: type: "string" - in: "query" name: "excludeConnectUsers" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"header\":\"Showing 20 of 25 matching groups\",\"total\"\ :25,\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"displayName\":\"Mia Krystof\",\"html\":\"Mia Krystof\ \ - mia@example.com (mia)\",\"key\"\ :\"mia\",\"name\":\"mia\"}]}" schema: $ref: "#/components/schemas/FoundUsers" description: "Returned if the request is successful." "400": description: "Returned if `exclude` and `excludeAccountIds` are provided." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Find users for picker" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" state: "Beta" /rest/api/2/user/properties: get: deprecated: false 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." operationId: "getUserPropertyKeys" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "userKey" schema: type: "string" - 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." in: "query" name: "username" schema: type: "string" responses: "200": content: application/json: example: "{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\"\ }]}" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "400": description: "Returned if `accountId` is missing." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or is not accessing their user record." "404": description: "Returned if the user is not found." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Get user property keys" tags: - "User properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user.property:jira" state: "Beta" /rest/api/2/user/properties/{propertyKey}: delete: deprecated: false 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." operationId: "deleteUserProperty" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "userKey" schema: type: "string" - 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." in: "query" name: "username" schema: type: "string" - description: "The key of the user's property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the user property is deleted." "400": description: "Returned if `accountId` is missing." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or is not accessing their user record." "404": description: "Returned if the user or the property is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Delete user property" tags: - "User properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "delete:user.property:jira" state: "Beta" get: deprecated: false 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." operationId: "getUserProperty" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "userKey" schema: type: "string" - 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." in: "query" name: "username" schema: type: "string" - description: "The key of the user's property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\"\ :\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\"\ :\"1m\"}}" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "400": description: "Returned if `accountId` is missing." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or is not accessing their user record." "404": description: "Returned if the user is not found." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Get user property" tags: - "User properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user.property:jira" state: "Beta" put: deprecated: false 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." operationId: "setUserProperty" parameters: - description: "The account ID of the user, which uniquely identifies the user\ \ across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*." in: "query" name: "accountId" schema: example: "5b10ac8d82e05b22cc7d4ef5" maxLength: 128 type: "string" x-showInExample: "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." in: "query" name: "userKey" schema: type: "string" - 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." in: "query" name: "username" schema: type: "string" - description: "The key of the user's property. The maximum length is 255 characters." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: schema: {} description: "The value of the property. The value has to be a valid, non-empty\ \ [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length\ \ of the property value is 32768 bytes." required: true responses: "200": content: application/json: schema: {} description: "Returned if the user property is updated." "201": content: application/json: schema: {} description: "Returned if the user property is created." "400": description: "Returned if `accountId` is missing." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission\ \ or is not accessing their user record." "404": description: "Returned if the user is not found." "405": description: "Returned if the property key is not specified." security: - basicAuth: [] - OAuth2: - "write:jira-work" summary: "Set user property" tags: - "User properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:user.property:jira" state: "Beta" /rest/api/2/user/search: get: deprecated: false 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." operationId: "findUsers" parameters: - 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." in: "query" name: "query" schema: example: "query" type: "string" x-showInExample: "true" - in: "query" name: "username" schema: type: "string" - description: "A query string that is matched exactly against a user `accountId`.\ \ Required, unless `query` or `property` is specified." in: "query" name: "accountId" schema: maxLength: 128 type: "string" - description: "The index of the first item to return in a page of filtered\ \ results (page offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - 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." in: "query" name: "property" schema: type: "string" responses: "200": content: application/json: example: "[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },{\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\"\ },\"displayName\":\"Emma Richards\",\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\"\ }]" schema: items: $ref: "#/components/schemas/User" type: "array" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `accountId`, `query` or `property` is\ \ missing.\n * `query` and `accountId` are provided.\n * `property`\ \ parameter is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Find users" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:user.property:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/user/search/query: get: deprecated: false 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\n\ The 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\"`" operationId: "findUsersByQuery" parameters: - description: "The search query." in: "query" name: "query" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" responses: "200": content: application/json: schema: $ref: "#/components/schemas/PageBeanUser" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the query is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." "408": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the search is timed out." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Find users by query" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:issue:jira" - "read:issue.vote:jira" - "read:issue.watcher:jira" - "read:project:jira" - "read:user:jira" - "read:user.property:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/user/search/query/key: get: deprecated: false 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\n\ The 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\"`" operationId: "findUserKeysByQuery" parameters: - description: "The search query." in: "query" name: "query" required: true schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResult" schema: default: 100 format: "int32" type: "integer" responses: "200": content: application/json: schema: $ref: "#/components/schemas/PageBeanUserKey" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the query is invalid." "401": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." "408": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the search is timed out." security: - basicAuth: [] - OAuth2: - "read:jira-user" summary: "Find user keys by query" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:issue:jira" - "read:issue.vote:jira" - "read:issue.watcher:jira" - "read:project:jira" - "read:user.property:jira" - "read:user:jira" state: "Beta" /rest/api/2/user/viewissue/search: get: deprecated: false 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." operationId: "findUsersWithBrowsePermission" parameters: - 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." in: "query" name: "query" schema: example: "query" type: "string" x-showInExample: "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." in: "query" name: "username" schema: type: "string" - description: "A query string that is matched exactly against user `accountId`.\ \ Required, unless `query` is specified." in: "query" name: "accountId" schema: maxLength: 128 type: "string" - description: "The issue key for the issue. Required, unless `projectKey` is\ \ specified." in: "query" name: "issueKey" schema: type: "string" - description: "The project key for the project (case sensitive). Required,\ \ unless `issueKey` is specified." in: "query" name: "projectKey" schema: type: "string" - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },{\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\"\ },\"displayName\":\"Emma Richards\",\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\"\ }]" schema: items: $ref: "#/components/schemas/User" type: "array" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * `issueKey` or `projectKey` is missing.\n\ \ * `query` or `accountId` is missing.\n * `query` and `accountId` are\ \ provided." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the issue or project is not found." "429": description: "Returned if the rate limit is exceeded. User search endpoints\ \ share a collective rate limit for the tenant, in addition to Jira's\ \ normal rate limiting you may receive a rate limit for user search. Please\ \ respect the Retry-After header." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Find users with browse permission" tags: - "User search" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:issue:jira" - "read:project:jira" - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/users: get: deprecated: false 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)." operationId: "getAllUsersDefault" parameters: - description: "The index of the first item to return." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },{\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\"\ },\"displayName\":\"Emma Richards\",\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\"\ }]" schema: items: $ref: "#/components/schemas/User" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "403": description: "Returned if the user doesn't have the necessary permission." "409": description: "Returned if the request takes longer than 10 seconds or is\ \ interrupted." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Get all users default" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/users/search: get: deprecated: false 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)." operationId: "getAllUsers" parameters: - description: "The index of the first item to return." in: "query" name: "startAt" schema: default: 0 format: "int32" type: "integer" - description: "The maximum number of items to return." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\"\ :\"atlassian\",\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"key\":\"\",\"name\":\"\",\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },{\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\"\ ,\"active\":false,\"avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\"\ },\"displayName\":\"Emma Richards\",\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\"\ }]" schema: items: $ref: "#/components/schemas/User" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "403": description: "Returned if the user doesn't have the necessary permission." "409": description: "Returned if the request takes longer than 10 seconds or is\ \ interrupted." security: - basicAuth: [] - OAuth2: - "read:jira-user" - {} summary: "Get all users" tags: - "Users" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-user" state: "Current" - scheme: "OAuth2" scopes: - "read:user:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" state: "Beta" /rest/api/2/version: post: deprecated: false 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." operationId: "createVersion" parameters: [] requestBody: content: application/json: example: archived: false description: "An excellent version" name: "New Version 1" projectId: 10000 releaseDate: "2010-07-06" released: true schema: $ref: "#/components/schemas/Version" required: true responses: "201": content: application/json: example: "{\"archived\":false,\"description\":\"An excellent version\"\ ,\"id\":\"10000\",\"name\":\"New Version 1\",\"project\":\"PXA\",\"\ projectId\":10000,\"releaseDate\":\"2010-07-06\",\"released\":true,\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\"\ ,\"userReleaseDate\":\"6/Jul/2010\"}" schema: $ref: "#/components/schemas/Version" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the project is not found.\n * the user\ \ does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Create version" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project-version:jira" - "read:project-version:jira" state: "Beta" /rest/api/2/version/{id}: delete: deprecated: true 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\n\ This 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." operationId: "deleteVersion" parameters: - description: "The ID of the version." in: "path" name: "id" required: true schema: type: "string" - 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." in: "query" name: "moveFixIssuesTo" schema: type: "string" - 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." in: "query" name: "moveAffectedIssuesTo" schema: type: "string" responses: "204": description: "Returned if the version is deleted." "400": description: "Returned if the request is invalid." "401": description: "Returned if:\n\n * the authentication credentials are incorrect.\n\ \ * the user does not have the required permissions." "404": description: "Returned if the version is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Delete version" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project-version:jira" state: "Beta" get: deprecated: false 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." operationId: "getVersion" parameters: - description: "The ID of the version." in: "path" name: "id" required: true schema: type: "string" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"archived\":false,\"description\":\"An excellent version\"\ ,\"id\":\"10000\",\"name\":\"New Version 1\",\"overdue\":true,\"projectId\"\ :10000,\"releaseDate\":\"2010-07-06\",\"released\":true,\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/version/10000\",\"userReleaseDate\"\ :\"6/Jul/2010\"}" schema: $ref: "#/components/schemas/Version" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the version is not found or the user does not\ \ have the necessary permission." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get version" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-version:jira" state: "Beta" put: deprecated: false 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." operationId: "updateVersion" parameters: - description: "The ID of the version." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: archived: false description: "An excellent version" id: "10000" name: "New Version 1" overdue: true projectId: 10000 releaseDate: "2010-07-06" released: true self: "https://your-domain.atlassian.net/rest/api/~ver~/version/10000" userReleaseDate: "6/Jul/2010" schema: $ref: "#/components/schemas/Version" required: true responses: "200": content: application/json: example: "{\"archived\":false,\"description\":\"An excellent version\"\ ,\"id\":\"10000\",\"name\":\"New Version 1\",\"project\":\"PXA\",\"\ projectId\":10000,\"releaseDate\":\"2010-07-06\",\"released\":true,\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\"\ ,\"userReleaseDate\":\"6/Jul/2010\"}" schema: $ref: "#/components/schemas/Version" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * the request is invalid.\n * the user\ \ does not have the required permissions." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if the version is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Update version" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project-version:jira" - "read:project-version:jira" state: "Beta" /rest/api/2/version/{id}/mergeto/{moveIssuesTo}: put: deprecated: false 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." operationId: "mergeVersions" parameters: - description: "The ID of the version to delete." in: "path" name: "id" required: true schema: type: "string" - description: "The ID of the version to merge into." in: "path" name: "moveIssuesTo" required: true schema: type: "string" responses: "204": content: application/json: schema: {} description: "Returned if the version is deleted." "400": description: "Returned if the request is invalid." "401": description: "Returned if:\n\n * the authentication credentials are incorrect\ \ or missing.\n * the user does not have the required permissions." "404": description: "Returned if the version to be deleted or the version to merge\ \ to are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Merge versions" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project-version:jira" - "write:project-version:jira" state: "Beta" /rest/api/2/version/{id}/move: post: deprecated: false 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." operationId: "moveVersion" parameters: - description: "The ID of the version to be moved." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: after: "https://your-domain.atlassian.net/rest/api/~ver~/version/10000" schema: $ref: "#/components/schemas/VersionMoveBean" required: true responses: "200": content: application/json: example: "{\"archived\":false,\"description\":\"An excellent version\"\ ,\"id\":\"10000\",\"name\":\"New Version 1\",\"overdue\":true,\"projectId\"\ :10000,\"releaseDate\":\"2010-07-06\",\"released\":true,\"self\":\"\ https://your-domain.atlassian.net/rest/api/2/version/10000\",\"userReleaseDate\"\ :\"6/Jul/2010\"}" schema: $ref: "#/components/schemas/Version" description: "Returned if the request is successful." "400": description: "Returned if:\n\n * no body parameters are provided.\n * \ \ `after` and `position` are provided.\n * `position` is invalid." "401": description: "Returned if:\n\n * the authentication credentials are incorrect\ \ or missing\n * the user does not have the required commissions." "404": description: "Returned if the version or move after version are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Move version" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "write:project-version:jira" - "read:project-version:jira" state: "Beta" /rest/api/2/version/{id}/relatedIssueCounts: get: deprecated: false 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." operationId: "getVersionRelatedIssues" parameters: - description: "The ID of the version." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"customFieldUsage\":[{\"customFieldId\":10000,\"fieldName\"\ :\"Field1\",\"issueCountWithVersionInCustomField\":2},{\"customFieldId\"\ :10010,\"fieldName\":\"Field2\",\"issueCountWithVersionInCustomField\"\ :3}],\"issueCountWithCustomFieldsShowingVersion\":54,\"issuesAffectedCount\"\ :101,\"issuesFixedCount\":23,\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\"\ }" schema: $ref: "#/components/schemas/VersionIssueCounts" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect." "404": description: "Returned if:\n\n * the version is not found.\n * the user\ \ does not have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get version's related issues count" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:project-version:jira" state: "Beta" /rest/api/2/version/{id}/relatedwork: get: deprecated: false 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." operationId: "getRelatedWork" parameters: - description: "The ID of the version." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "[{\"category\":\"Design\",\"issueId\":10001,\"relatedWorkId\"\ :\"fabcdef6-7878-1234-beaf-43211234abcd\",\"title\":\"Design link\"\ ,\"url\":\"https://www.atlassian.com\"},{\"category\":\"Communications\"\ ,\"relatedWorkId\":\"fabcdef6-7878-1234-beaf-43211234abce\",\"title\"\ :\"Chat application\",\"url\":\"https://www.atlassian.com\"},{\"category\"\ :\"External Link\",\"issueId\":10003,\"relatedWorkId\":\"fabcdef6-7878-1234-beaf-43211234abcf\"\ ,\"url\":\"https://www.atlassian.com\"}]" schema: items: $ref: "#/components/schemas/VersionRelatedWork" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if the version is not found or the user does not\ \ have the necessary permission." "500": description: "Returned if reading related work fails" security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get related work" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-version:jira" state: "Beta" post: deprecated: false 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." operationId: "createRelatedWork" parameters: - in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: category: "Design" title: "Design link" url: "https://www.atlassian.com" schema: $ref: "#/components/schemas/VersionRelatedWork" required: true responses: "201": content: application/json: example: "{\"category\":\"Design\",\"relatedWorkId\":\"fabcdef6-7878-1234-beaf-43211234abcd\"\ ,\"title\":\"Design link\",\"url\":\"https://www.atlassian.com\"}" schema: $ref: "#/components/schemas/VersionRelatedWork" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the required permissions." "404": description: "Returned if the version is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Create related work" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" put: deprecated: false 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." operationId: "updateRelatedWork" parameters: - description: "The ID of the version to update the related work on. For the\ \ related work id, pass it to the input JSON." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: example: category: "Design" relatedWorkId: "fabcdef6-7878-1234-beaf-43211234abcd" title: "Design link" url: "https://www.atlassian.com" schema: $ref: "#/components/schemas/VersionRelatedWork" required: true responses: "200": content: application/json: example: "{\"category\":\"Design\",\"relatedWorkId\":\"fabcdef6-7878-1234-beaf-43211234abcd\"\ ,\"title\":\"Design link\",\"url\":\"https://www.atlassian.com\"}" schema: $ref: "#/components/schemas/VersionRelatedWork" description: "Returned if the request is successful together with updated\ \ related work." "400": description: "Returned if the request data is invalid" "401": description: "Returned if the authentication credentials are incorrect." "403": description: "Returned if the user does not have the required permissions." "404": description: "Returned if the version or the related work is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Update related work" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" /rest/api/2/version/{id}/removeAndSwap: post: deprecated: false 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." operationId: "deleteAndReplaceVersion" parameters: - description: "The ID of the version." in: "path" name: "id" required: true schema: type: "string" requestBody: content: application/json: schema: $ref: "#/components/schemas/DeleteAndReplaceVersionBean" required: true responses: "204": content: application/json: schema: {} description: "Returned if the version is deleted." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the version to delete is not found.\n\ \ * the user does not have the required permissions." security: - basicAuth: [] - OAuth2: - "manage:jira-project" - {} summary: "Delete and replace version" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "delete:project-version:jira" - "write:project-version:jira" state: "Beta" /rest/api/2/version/{id}/unresolvedIssueCount: get: deprecated: false 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." operationId: "getVersionUnresolvedIssues" parameters: - description: "The ID of the version." in: "path" name: "id" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"issuesCount\":30,\"issuesUnresolvedCount\":23,\"self\"\ :\"https://your-domain.atlassian.net/rest/api/2/version/10000\"}" schema: $ref: "#/components/schemas/VersionUnresolvedIssuesCount" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": description: "Returned if:\n\n * the version is not found.\n * the user\ \ does not have the required permissions." security: - basicAuth: [] - OAuth2: - "read:jira-work" - {} summary: "Get version's unresolved issues count" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:project-version:jira" state: "Beta" /rest/api/2/version/{versionId}/relatedwork/{relatedWorkId}: delete: deprecated: false 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." operationId: "deleteRelatedWork" parameters: - description: "The ID of the version that the target related work belongs to." in: "path" name: "versionId" required: true schema: type: "string" - description: "The ID of the related work to delete." in: "path" name: "relatedWorkId" required: true schema: type: "string" responses: "204": description: "Returned if the related work is deleted." "400": description: "Returned if the request is invalid." "401": description: "Returned if\n\nthe authentication credentials are incorrect." "403": description: "Returned if the user does not have the required permissions." "404": description: "Returned if the version/related work is not found." security: - basicAuth: [] - OAuth2: - "write:jira-work" - {} summary: "Delete related work" tags: - "Project versions" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "write:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "write:issue:jira" state: "Beta" /rest/api/2/webhook: delete: deprecated: false 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." operationId: "deleteWebhookById" parameters: [] requestBody: content: application/json: example: webhookIds: - 10000 - 10001 - 10042 schema: $ref: "#/components/schemas/ContainerForWebhookIDs" required: true responses: "202": description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the list of webhook IDs is missing." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller isn't an app." security: - basicAuth: [] - OAuth2: - "read:jira-work" - "manage:jira-webhook" summary: "Delete webhooks by ID" tags: - "Webhooks" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" - "manage:jira-webhook" state: "Current" - scheme: "OAuth2" scopes: - "delete:webhook:jira" state: "Beta" get: deprecated: false 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." operationId: "getDynamicWebhooksForApp" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 100 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":3,\"startAt\":0,\"total\"\ :3,\"values\":[{\"events\":[\"jira:issue_updated\",\"jira:issue_created\"\ ],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\",\"fieldIdsFilter\"\ :[\"summary\",\"customfield_10029\"],\"id\":10000,\"jqlFilter\":\"\ project = PRJ\"},{\"events\":[\"jira:issue_created\"],\"expirationDate\"\ :\"2019-06-01T12:42:30.000+0000\",\"id\":10001,\"jqlFilter\":\"issuetype\ \ = Bug\"},{\"events\":[\"issue_property_set\"],\"expirationDate\"\ :\"2019-06-01T12:42:30.000+0000\",\"id\":10002,\"issuePropertyKeysFilter\"\ :[\"my-issue-property-key\"],\"jqlFilter\":\"project = PRJ\"}]}" schema: $ref: "#/components/schemas/PageBeanWebhook" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller isn't an app." security: - basicAuth: [] - OAuth2: - "read:jira-work" - "manage:jira-webhook" summary: "Get dynamic webhooks for app" tags: - "Webhooks" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" - "manage:jira-webhook" state: "Current" - scheme: "OAuth2" scopes: - "read:webhook:jira" - "read:jql:jira" state: "Beta" post: deprecated: false 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." operationId: "registerDynamicWebhooks" parameters: [] requestBody: content: application/json: example: url: "https://your-app.example.com/webhook-received" webhooks: - events: - "jira:issue_created" - "jira:issue_updated" fieldIdsFilter: - "summary" - "customfield_10029" jqlFilter: "project = PROJ" - events: - "jira:issue_deleted" jqlFilter: "project IN (PROJ, EXP) AND status = done" - events: - "issue_property_set" issuePropertyKeysFilter: - "my-issue-property-key" jqlFilter: "project = PROJ" schema: $ref: "#/components/schemas/WebhookRegistrationDetails" required: true responses: "200": content: application/json: example: "{\"webhookRegistrationResult\":[{\"createdWebhookId\":1000},{\"\ errors\":[\"The clause watchCount is unsupported\"]},{\"createdWebhookId\"\ :1001}]}" schema: $ref: "#/components/schemas/ContainerForRegisteredWebhooks" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller isn't an app." security: - basicAuth: [] - OAuth2: - "read:jira-work" - "manage:jira-webhook" summary: "Register dynamic webhooks" tags: - "Webhooks" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" - "manage:jira-webhook" state: "Current" - scheme: "OAuth2" scopes: - "read:field:jira" - "read:project:jira" - "write:webhook:jira" state: "Beta" /rest/api/2/webhook/failed: get: deprecated: false 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." operationId: "getFailedWebhooks" parameters: - 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." in: "query" name: "maxResults" schema: format: "int32" type: "integer" - description: "The time after which any webhook failure must have occurred\ \ for the record to be returned, expressed as milliseconds since the UNIX\ \ epoch." in: "query" name: "after" schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"values\":[{\"id\":\"1\",\"body\":\"{\\\"data\\\":\\\"webhook\ \ data\\\"}\",\"url\":\"https://example.com\",\"failureTime\":1573118132000},{\"\ id\":\"2\",\"url\":\"https://example.com\",\"failureTime\":1573540473480}],\"\ maxResults\":100,\"next\":\"https://your-domain.atlassian.net/rest/api/2/webhook/failed?failedAfter=1573540473480&maxResults=100\"\ }" schema: $ref: "#/components/schemas/FailedWebhooks" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "400 response" "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller is not a Connect app." security: - basicAuth: [] - OAuth2: - "read:jira-work" - "manage:jira-webhook" summary: "Get failed webhooks" tags: - "Webhooks" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" - "manage:jira-webhook" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-details:jira" - "read:webhook:jira" - "read:comment.property:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-role:jira" - "read:epic:jira-software" state: "Beta" x-experimental: true /rest/api/2/webhook/refresh: put: deprecated: false 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." operationId: "refreshWebhooks" parameters: [] requestBody: content: application/json: example: webhookIds: - 10000 - 10001 - 10042 schema: $ref: "#/components/schemas/ContainerForWebhookIDs" required: true responses: "200": content: application/json: example: "{\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}" schema: $ref: "#/components/schemas/WebhooksExpirationDate" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller isn't an app." security: - basicAuth: [] - OAuth2: - "read:jira-work" - "manage:jira-webhook" summary: "Extend webhook life" tags: - "Webhooks" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" - "manage:jira-webhook" state: "Current" - scheme: "OAuth2" scopes: - "write:webhook:jira" - "read:webhook:jira" state: "Beta" /rest/api/2/workflow: get: deprecated: true 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)." operationId: "getAllWorkflows" parameters: - description: "The name of the workflow to be returned. Only one workflow can\ \ be specified." in: "query" name: "workflowName" schema: type: "string" responses: "200": content: application/json: example: "[{\"default\":true,\"description\":\"A classic Jira workflow\"\ ,\"lastModifiedDate\":\"01-01-2011\",\"lastModifiedUser\":\"admin\"\ ,\"lastModifiedUserAccountId\":\"5b10a2844c20165700ede21g\",\"name\"\ :\"classic workflow\",\"steps\":5}]" schema: items: $ref: "#/components/schemas/DeprecatedWorkflow" type: "array" description: "Returned if the request is successful." "401": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all workflows" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow:jira" - "read:project:jira" - "read:project-category:jira" - "read:avatar:jira" state: "Beta" post: deprecated: true 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\n\ A 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\n\ A 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)." operationId: "createWorkflow" parameters: [] requestBody: content: application/json: example: description: "This is a workflow used for Stories and Tasks" name: "Workflow 1" statuses: - id: "1" properties: jira.issue.editable: "false" - id: "2" - id: "3" transitions: - from: [] name: "Created" to: "1" type: "initial" - from: - "1" name: "In progress" properties: custom-property: "custom-value" rules: conditions: conditions: - type: "RemoteOnlyCondition" - configuration: groups: - "developers" - "qa-testers" type: "UserInAnyGroupCondition" operator: "AND" postFunctions: - type: "AssignToCurrentUserFunction" screen: id: "10001" to: "2" type: "directed" - name: "Completed" rules: postFunctions: - configuration: fieldId: "assignee" type: "ClearFieldValuePostFunction" validators: - configuration: parentStatuses: - id: "3" type: "ParentStatusValidator" - configuration: permissionKey: "ADMINISTER_PROJECTS" type: "PermissionValidator" to: "3" type: "global" schema: $ref: "#/components/schemas/CreateWorkflowDetails" description: "The workflow details." required: true responses: "201": content: application/json: example: "{\"entityId\":\"d7178e8d-bf6c-4c0c-9e90-758a0b965b67\",\"\ name\":\"Workflow 1\"}" schema: $ref: "#/components/schemas/WorkflowIDs" description: "Returned if the workflow is created." "400": content: application/json: example: "{\"errorMessages\":[\"The request body parameters are missing.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ the workflow configuration.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"Status with ID 10000 was not found\"\ ],\"errors\":{}}" description: "Returned if one or more statuses is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create workflow" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" - "read:workflow:jira" state: "Beta" /rest/api/2/workflow/rule/config: get: deprecated: false 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." operationId: "getWorkflowTransitionRuleConfigurations" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 10 format: "int32" maximum: 50 type: "integer" - description: "The types of the transition rules to return." in: "query" name: "types" required: true schema: items: default: "" enum: - "postfunction" - "condition" - "validator" type: "string" type: "array" uniqueItems: true - description: "The transition rule class keys, as defined in the Connect or\ \ the Forge app descriptor, of the transition rules to return." in: "query" name: "keys" schema: items: default: "" type: "string" type: "array" uniqueItems: true - description: "The list of workflow names to filter by." in: "query" name: "workflowNames" schema: items: default: "" maxLength: 50 type: "string" maxLength: 50 type: "array" uniqueItems: true - description: "The list of `tags` to filter by." in: "query" name: "withTags" schema: items: default: "" maxLength: 20 type: "string" maxLength: 20 type: "array" uniqueItems: true - description: "Whether draft or published workflows are returned. If not provided,\ \ both workflow types are returned." in: "query" name: "draft" schema: type: "boolean" - 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." in: "query" name: "expand" schema: type: "string" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":10,\"startAt\":0,\"total\"\ :1,\"values\":[{\"workflowId\":{\"name\":\"My Workflow name\",\"draft\"\ :false},\"postFunctions\":[{\"id\":\"b4d6cbdc-59f5-11e9-8647-d663bd873d93\"\ ,\"key\":\"postfunction-key\",\"configuration\":{\"value\":\"{ \\\"\ color\\\": \\\"red\\\" }\",\"disabled\":false,\"tag\":\"Sample tag\"\ },\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"conditions\":[{\"\ id\":\"d663bd873d93-59f5-11e9-8647-b4d6cbdc\",\"key\":\"condition-key\"\ ,\"configuration\":{\"value\":\"{ \\\"size\\\": \\\"medium\\\" }\"\ ,\"disabled\":false,\"tag\":\"Another tag\"},\"transition\":{\"id\"\ :1,\"name\":\"Open\"}}],\"validators\":[{\"id\":\"11e9-59f5-b4d6cbdc-8647-d663bd873d93\"\ ,\"key\":\"validator-key\",\"configuration\":{\"value\":\"\\\"{ \\\ \\\\\"shape\\\\\\\": \\\\\\\"square\\\\\\\" }\\\"\",\"disabled\":false},\"\ transition\":{\"id\":1,\"name\":\"Open\"}}]}]}" schema: $ref: "#/components/schemas/PageBeanWorkflowTransitionRules" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller is not a Connect or Forge app." "404": description: "Returned if any transition rule type is not supported." "503": description: "Returned if we encounter a problem while trying to access\ \ the required data." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get workflow transition rule configurations" tags: - "Workflow transition rules" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow:jira" state: "Beta" put: deprecated: false 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." operationId: "updateWorkflowTransitionRuleConfigurations" parameters: [] requestBody: content: application/json: example: workflows: - conditions: - configuration: disabled: false tag: "Another tag" value: "{ \"size\": \"medium\" }" id: "d663bd873d93-59f5-11e9-8647-b4d6cbdc" postFunctions: - configuration: disabled: false tag: "Sample tag" value: "{ \"color\": \"red\" }" id: "b4d6cbdc-59f5-11e9-8647-d663bd873d93" validators: - configuration: disabled: false value: "{ \"shape\": \"square\" }" id: "11e9-59f5-b4d6cbdc-8647-d663bd873d93" workflowId: draft: false name: "My Workflow name" schema: $ref: "#/components/schemas/WorkflowTransitionRulesUpdate" required: true responses: "200": content: application/json: example: "{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with\ \ one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"\ example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"\ ]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with\ \ all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\"\ :{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing\ \ workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\"\ :[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow,\ \ draft=false}\"]}]}" schema: $ref: "#/components/schemas/WorkflowTransitionRulesUpdateErrors" description: "Returned if the request is successful." "400": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller is not a Connect or Forge app." "503": description: "Returned if we encounter a problem while trying to access\ \ the required data." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update workflow transition rule configurations" tags: - "Workflow transition rules" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" /rest/api/2/workflow/rule/config/delete: put: deprecated: false 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." operationId: "deleteWorkflowTransitionRuleConfigurations" parameters: [] requestBody: content: application/json: example: workflows: - workflowId: draft: false name: "Internal support workflow" workflowRuleIds: - "b4d6cbdc-59f5-11e9-8647-d663bd873d93" - "d663bd873d93-59f5-11e9-8647-b4d6cbdc" - "11e9-59f5-b4d6cbdc-8647-d663bd873d93" schema: $ref: "#/components/schemas/WorkflowsWithTransitionRulesDetails" required: true responses: "200": content: application/json: example: "{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with\ \ one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"\ example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"\ ]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with\ \ all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\"\ :{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing\ \ workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\"\ :[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow,\ \ draft=false}\"]}]}" schema: $ref: "#/components/schemas/WorkflowTransitionRulesUpdateErrors" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Jira Administration permission is required\ \ to access workflow configuration.\"],\"errors\":{},\"httpStatusCode\"\ :{\"empty\":false,\"present\":true}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the request is invalid." "403": content: application/json: schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the caller is not a Connect app." security: - basicAuth: [] summary: "Delete workflow transition rule configurations" tags: - "Workflow transition rules" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/api/2/workflow/search: get: deprecated: false 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)." operationId: "getWorkflowsPaginated" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" - description: "The name of a workflow to return. To include multiple workflows,\ \ provide an ampersand-separated list. For example, `workflowName=name1&workflowName=name2`." in: "query" name: "workflowName" schema: items: default: "" type: "string" type: "array" uniqueItems: 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." in: "query" name: "expand" schema: type: "string" - description: "String used to perform a case-insensitive partial match with\ \ workflow name." in: "query" name: "queryString" schema: type: "string" - 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." in: "query" name: "orderBy" schema: enum: - "name" - "-name" - "+name" - "created" - "-created" - "+created" - "updated" - "+updated" - "-updated" type: "string" - description: "Filters active and inactive workflows." in: "query" name: "isActive" schema: type: "boolean" responses: "200": content: application/json: example: "{\"isLast\":false,\"maxResults\":1,\"startAt\":0,\"total\"\ :5,\"values\":[{\"id\":{\"name\":\"SCRUM Workflow\",\"entityId\":\"\ 5ed312c5-f7a6-4a78-a1f6-8ff7f307d063\"},\"description\":\"A workflow\ \ used for Software projects in the SCRUM methodology\",\"transitions\"\ :[{\"id\":\"5\",\"name\":\"In Progress\",\"description\":\"Start working\ \ on the issue.\",\"from\":[\"10\",\"13\"],\"to\":\"14\",\"type\"\ :\"directed\",\"screen\":{\"id\":\"10000\",\"name\":\"Issue screen\"\ },\"rules\":{\"conditionsTree\":{\"nodeType\":\"compound\",\"operator\"\ :\"AND\",\"conditions\":[{\"nodeType\":\"simple\",\"type\":\"PermissionCondition\"\ ,\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}},{\"nodeType\"\ :\"simple\",\"type\":\"PermissionCondition\",\"configuration\":{\"\ permissionKey\":\"RESOLVE_ISSUES\"}}]},\"validators\":[{\"type\":\"\ FieldRequiredValidator\",\"configuration\":{\"errorMessage\":\"A custom\ \ error message\",\"fields\":[\"description\",\"assignee\"],\"ignoreContext\"\ :true}}],\"postFunctions\":[{\"type\":\"UpdateIssueStatusFunction\"\ },{\"type\":\"GenerateChangeHistoryFunction\"},{\"type\":\"FireIssueEventFunction\"\ }]},\"properties\":{\"jira.fieldscreen.id\":1}}],\"statuses\":[{\"\ id\":\"3\",\"name\":\"In Progress\",\"properties\":{\"issueEditable\"\ :false,\"jira.issue.editable\":\"false\"}}],\"isDefault\":false,\"\ schemes\":[{\"id\":\"10001\",\"name\":\"Test Workflow Scheme\"}],\"\ projects\":[{\"avatarUrls\":{\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\"\ ,\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"32x32\"\ :\"secure/projectavatar?size=medium&pid=10000\",\"48x48\":\"secure/projectavatar?size=large&pid=10000\"\ },\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectCategory\"\ :{\"description\":\"Project category description\",\"id\":\"10000\"\ ,\"name\":\"A project category\"},\"projectTypeKey\":\"ProjectTypeKey{key='software'}\"\ ,\"self\":\"project/EX\",\"simplified\":false}],\"hasDraftWorkflow\"\ :true,\"operations\":{\"canEdit\":true,\"canDelete\":false},\"created\"\ :\"2018-12-10T16:30:15.000+0000\",\"updated\":\"2018-12-11T11:45:13.000+0000\"\ }]}" schema: $ref: "#/components/schemas/PageBeanWorkflow" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ workflows.\"],\"errors\":{}}" schema: $ref: "#/components/schemas/ErrorCollection" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-project" summary: "Get workflows paginated" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-project" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:issue-security-level:jira" - "read:project-role:jira" - "read:screen:jira" - "read:status:jira" - "read:user:jira" - "read:workflow:jira" - "read:webhook:jira" - "read:avatar:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/workflow/transitions/{transitionId}/properties: delete: deprecated: false 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)." operationId: "deleteWorkflowTransitionProperty" parameters: - 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." in: "path" name: "transitionId" required: true schema: format: "int64" type: "integer" - description: "The name of the transition property to delete, also known as\ \ the name of the property." in: "query" name: "key" required: true schema: type: "string" - description: "The name of the workflow that the transition belongs to." in: "query" name: "workflowName" required: true schema: type: "string" - description: "The workflow status. Set to `live` for inactive workflows or\ \ `draft` for draft workflows. Active workflows cannot be edited." in: "query" name: "workflowMode" schema: enum: - "live" - "draft" type: "string" responses: "200": description: "200 response" "304": description: "Returned if no changes were made by the request. For example,\ \ trying to delete a property that cannot be found." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow transition is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete workflow transition property" tags: - "Workflow transition properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow.property:jira" state: "Beta" get: deprecated: false 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)." operationId: "getWorkflowTransitionProperties" parameters: - 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." in: "path" name: "transitionId" required: true schema: format: "int64" type: "integer" - 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*." in: "query" name: "includeReservedKeys" schema: default: false type: "boolean" - 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." in: "query" name: "key" schema: type: "string" - description: "The name of the workflow that the transition belongs to." in: "query" name: "workflowName" required: true schema: type: "string" - description: "The workflow status. Set to *live* for active and inactive workflows,\ \ or *draft* for draft workflows." in: "query" name: "workflowMode" schema: default: "live" enum: - "live" - "draft" type: "string" responses: "200": content: application/json: example: "[{\"id\":\"jira.i18n.title\",\"key\":\"jira.i18n.title\",\"\ value\":\"some.title\"},{\"id\":\"jira.permission\",\"key\":\"jira.permission\"\ ,\"value\":\"createissue\"}]" schema: $ref: "#/components/schemas/WorkflowTransitionProperty" description: "200 response" "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have admin permission" "404": description: "Returned if the workflow transition or property is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get workflow transition properties" tags: - "Workflow transition properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow.property:jira" state: "Beta" post: deprecated: false 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)." operationId: "createWorkflowTransitionProperty" parameters: - 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." in: "path" name: "transitionId" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "key" required: true schema: type: "string" - description: "The name of the workflow that the transition belongs to." in: "query" name: "workflowName" required: true schema: type: "string" - description: "The workflow status. Set to *live* for inactive workflows or\ \ *draft* for draft workflows. Active workflows cannot be edited." in: "query" name: "workflowMode" schema: default: "live" enum: - "live" - "draft" type: "string" requestBody: content: application/json: example: value: "createissue" schema: $ref: "#/components/schemas/WorkflowTransitionProperty" required: true responses: "200": content: application/json: example: "{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\"\ :\"jira.i18n.title\"}" schema: $ref: "#/components/schemas/WorkflowTransitionProperty" description: "200 response" "400": description: "Returned if a workflow property with the same key is present\ \ on the transition." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow transition is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create workflow transition property" tags: - "Workflow transition properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow.property:jira" - "read:workflow.property:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateWorkflowTransitionProperty" parameters: - 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." in: "path" name: "transitionId" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "key" required: true schema: type: "string" - description: "The name of the workflow that the transition belongs to." in: "query" name: "workflowName" required: true schema: type: "string" - description: "The workflow status. Set to `live` for inactive workflows or\ \ `draft` for draft workflows. Active workflows cannot be edited." in: "query" name: "workflowMode" schema: enum: - "live" - "draft" type: "string" requestBody: content: application/json: example: value: "createissue" schema: $ref: "#/components/schemas/WorkflowTransitionProperty" required: true responses: "200": content: application/json: example: "{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\"\ :\"jira.i18n.title\"}" schema: $ref: "#/components/schemas/WorkflowTransitionProperty" description: "200 response" "304": description: "Returned if no changes were made by the request. For example,\ \ attempting to update a property with its current value." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow transition is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update workflow transition property" tags: - "Workflow transition properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow.property:jira" - "read:workflow.property:jira" state: "Beta" /rest/api/2/workflow/{entityId}: delete: deprecated: false 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)." operationId: "deleteInactiveWorkflow" parameters: - description: "The entity ID of the workflow." in: "path" name: "entityId" required: true schema: type: "string" responses: "204": description: "Returned if the workflow is deleted." "400": content: application/json: example: "{\"errorMessages\":[\"Cannot delete an active workflow.\"\ ],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ the workflow configuration.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The workflow was not found.\"],\"errors\"\ :{}}" description: "Returned if the workflow is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete inactive workflow" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow:jira" state: "Beta" x-experimental: true /rest/api/2/workflows: post: deprecated: false 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" operationId: "readWorkflows" parameters: - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: projectAndIssueTypes: [] workflowIds: [] workflowNames: - "Workflow 1" - "Workflow 2" schema: $ref: "#/components/schemas/WorkflowReadRequest" required: true responses: "200": content: application/json: example: "{\"statuses\":[{\"description\":\"\",\"id\":\"10001\",\"name\"\ :\"To Do\",\"scope\":{\"type\":\"GLOBAL\"},\"statusCategory\":\"TODO\"\ ,\"statusReference\":\"10001\",\"usages\":[]},{\"description\":\"\"\ ,\"id\":\"10002\",\"name\":\"In Progress\",\"scope\":{\"type\":\"\ GLOBAL\"},\"statusCategory\":\"IN_PROGRESS\",\"statusReference\":\"\ 10002\",\"usages\":[]},{\"description\":\"\",\"id\":\"10003\",\"name\"\ :\"Done\",\"scope\":{\"type\":\"GLOBAL\"},\"statusCategory\":\"DONE\"\ ,\"statusReference\":\"10003\",\"usages\":[]}],\"workflows\":[{\"\ description\":\"\",\"id\":\"b9ff2384-d3b6-4d4e-9509-3ee19f607168\"\ ,\"isEditable\":true,\"name\":\"Workflow 1\",\"scope\":{\"type\":\"\ GLOBAL\"},\"startPointLayout\":{\"x\":-100.00030899047852,\"y\":-153.00020599365234},\"\ statuses\":[{\"deprecated\":false,\"layout\":{\"x\":114.99993896484375,\"\ y\":-16.0},\"properties\":{},\"statusReference\":\"10001\"},{\"deprecated\"\ :false,\"layout\":{\"x\":317.0000915527344,\"y\":-16.0},\"properties\"\ :{},\"statusReference\":\"10002\"},{\"deprecated\":false,\"layout\"\ :{\"x\":508.000244140625,\"y\":-16.0},\"properties\":{},\"statusReference\"\ :\"10003\"}],\"transitions\":[{\"actions\":[],\"description\":\"\"\ ,\"from\":[],\"id\":\"31\",\"name\":\"Done\",\"properties\":{},\"\ to\":{\"statusReference\":\"10003\"},\"triggers\":[],\"type\":\"GLOBAL\"\ ,\"validators\":[]},{\"actions\":[],\"description\":\"\",\"from\"\ :[],\"id\":\"11\",\"name\":\"To Do\",\"properties\":{},\"to\":{\"\ statusReference\":\"10001\"},\"triggers\":[],\"type\":\"GLOBAL\",\"\ validators\":[]},{\"actions\":[],\"description\":\"\",\"from\":[],\"\ id\":\"21\",\"name\":\"In Progress\",\"properties\":{},\"to\":{\"\ statusReference\":\"10002\"},\"triggers\":[],\"type\":\"GLOBAL\",\"\ validators\":[]},{\"actions\":[],\"description\":\"\",\"from\":[],\"\ id\":\"1\",\"name\":\"Create\",\"properties\":{},\"to\":{\"statusReference\"\ :\"10001\"},\"triggers\":[],\"type\":\"INITIAL\",\"validators\":[]}],\"\ usages\":[],\"version\":{\"id\":\"f010ac1b-3dd3-43a3-aa66-0ee8a447f76e\"\ ,\"versionNumber\":0}}]}" schema: $ref: "#/components/schemas/WorkflowReadResponse" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk get workflows" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow:jira" state: "Beta" x-experimental: true /rest/api/2/workflows/capabilities: get: deprecated: false 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\n\ A validator rule that checks if a user has the required permissions to execute\ \ the transition in the workflow.\n\n##### Permission validator #####\n\n\ A 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\n\ This 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" operationId: "workflowCapabilities" parameters: - in: "query" name: "workflowId" schema: type: "string" - in: "query" name: "projectId" schema: type: "string" - in: "query" name: "issueTypeId" schema: type: "string" responses: "200": content: application/json: example: "{\"connectRules\":[{\"addonKey\":\"com.atlassian.jira.refapp\"\ ,\"createUrl\":\"/validators/jira-expression/create?id={validator.id}\"\ ,\"description\":\"Validates if the given Jira expression is true.\"\ ,\"editUrl\":\"/validators/jira-expression/edit?id={validator.id}\"\ ,\"moduleKey\":\"jiraExpressionValidator\",\"name\":\"Jira expression\ \ validator (by APPNAME)\",\"ruleKey\":\"connect:expression-validator\"\ ,\"ruleType\":\"Validator\",\"viewUrl\":\"/validators/jira-expression/view?id={validator.id}\"\ }],\"editorScope\":\"GLOBAL\",\"forgeRules\":[{\"description\":\"\ A Jira workflow validator example.\",\"id\":\"ari:cloud:ecosystem::extension/9df6d15f-1bbe-443e-be08-150309e8dbb0/f6a3bed3-737f-4e7a-8942-130df302b749/static/workflow-validator-example-workflow-validator\"\ ,\"name\":\"workflow-validator\",\"ruleKey\":\"forge:expression-validator\"\ ,\"ruleType\":\"Validator\"}],\"projectTypes\":[\"software\",\"business\"\ ],\"systemRules\":[{\"description\":\"Automatically assign a request\ \ to someone after moving the request using a particular transition.\"\ ,\"incompatibleRuleKeys\":[],\"isAvailableForInitialTransition\":true,\"\ isVisible\":true,\"name\":\"Assign a request\",\"ruleKey\":\"system:change-assignee\"\ ,\"ruleType\":\"Function\"}],\"triggerRules\":[{\"availableTypes\"\ :[{\"description\":\"Automatically transitions the issue when a related\ \ branch is created in a connected repository\",\"name\":\"Branch\ \ created\",\"type\":\"com.atlassian.jira.plugins.jira-development-integration-plugin:branch-created-trigger\"\ }],\"ruleKey\":\"system:development-triggers\"}]}" schema: $ref: "#/components/schemas/WorkflowCapabilities" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get available workflow capabilities" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow:jira" state: "Beta" x-experimental: true /rest/api/2/workflows/create: post: deprecated: false 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" operationId: "createWorkflows" parameters: [] requestBody: content: application/json: example: scope: type: "GLOBAL" statuses: - description: "" name: "To Do" statusCategory: "TODO" statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - description: "" name: "In Progress" statusCategory: "IN_PROGRESS" statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - description: "" name: "Done" statusCategory: "DONE" statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" workflows: - description: "" name: "Software workflow 1" startPointLayout: x: -100.00030899047852 "y": -153.00020599365234 statuses: - layout: x: 114.99993896484375 "y": -16.0 properties: {} statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - layout: x: 317.0000915527344 "y": -16.0 properties: {} statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - layout: x: 508.000244140625 "y": -16.0 properties: {} statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" transitions: - actions: [] description: "" from: [] id: "1" name: "Create" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "INITIAL" validators: [] - actions: [] description: "" from: [] id: "11" name: "To Do" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "21" name: "In Progress" properties: {} to: statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "31" name: "Done" properties: {} to: statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" triggers: [] type: "GLOBAL" validators: [] schema: $ref: "#/components/schemas/WorkflowCreateRequest" required: true responses: "200": content: application/json: example: "{\"statuses\":[{\"description\":\"\",\"id\":\"10001\",\"name\"\ :\"To Do\",\"scope\":{\"type\":\"GLOBAL\"},\"statusCategory\":\"TODO\"\ ,\"statusReference\":\"10001\",\"usages\":[]},{\"description\":\"\"\ ,\"id\":\"10002\",\"name\":\"In Progress\",\"scope\":{\"type\":\"\ GLOBAL\"},\"statusCategory\":\"IN_PROGRESS\",\"statusReference\":\"\ 10002\",\"usages\":[]},{\"description\":\"\",\"id\":\"10003\",\"name\"\ :\"Done\",\"scope\":{\"type\":\"GLOBAL\"},\"statusCategory\":\"DONE\"\ ,\"statusReference\":\"10003\",\"usages\":[]}],\"workflows\":[{\"\ description\":\"\",\"id\":\"b9ff2384-d3b6-4d4e-9509-3ee19f607168\"\ ,\"isEditable\":true,\"name\":\"Software workflow 1\",\"scope\":{\"\ type\":\"GLOBAL\"},\"startPointLayout\":{\"x\":-100.00030899047852,\"\ y\":-153.00020599365234},\"statuses\":[{\"deprecated\":false,\"layout\"\ :{\"x\":114.99993896484375,\"y\":-16.0},\"properties\":{},\"statusReference\"\ :\"10001\"},{\"deprecated\":false,\"layout\":{\"x\":317.0000915527344,\"\ y\":-16.0},\"properties\":{},\"statusReference\":\"10002\"},{\"deprecated\"\ :false,\"layout\":{\"x\":508.000244140625,\"y\":-16.0},\"properties\"\ :{},\"statusReference\":\"10003\"}],\"transitions\":[{\"actions\"\ :[],\"description\":\"\",\"from\":[],\"id\":\"31\",\"name\":\"Done\"\ ,\"properties\":{},\"to\":{\"statusReference\":\"10003\"},\"triggers\"\ :[],\"type\":\"GLOBAL\",\"validators\":[]},{\"actions\":[],\"description\"\ :\"\",\"from\":[],\"id\":\"11\",\"name\":\"To Do\",\"properties\"\ :{},\"to\":{\"statusReference\":\"10001\"},\"triggers\":[],\"type\"\ :\"GLOBAL\",\"validators\":[]},{\"actions\":[],\"description\":\"\"\ ,\"from\":[],\"id\":\"21\",\"name\":\"In Progress\",\"properties\"\ :{},\"to\":{\"statusReference\":\"10002\"},\"triggers\":[],\"type\"\ :\"GLOBAL\",\"validators\":[]},{\"actions\":[],\"description\":\"\"\ ,\"from\":[],\"id\":\"1\",\"name\":\"Create\",\"properties\":{},\"\ to\":{\"statusReference\":\"10001\"},\"triggers\":[],\"type\":\"INITIAL\"\ ,\"validators\":[]}],\"usages\":[],\"version\":{\"id\":\"f010ac1b-3dd3-43a3-aa66-0ee8a447f76e\"\ ,\"versionNumber\":0}}]}" schema: $ref: "#/components/schemas/WorkflowCreateResponse" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk create workflows" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" x-experimental: true /rest/api/2/workflows/create/validation: post: deprecated: false 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" operationId: "validateCreateWorkflows" parameters: [] requestBody: content: application/json: example: payload: scope: type: "GLOBAL" statuses: - description: "" name: "To Do" statusCategory: "TODO" statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - description: "" name: "In Progress" statusCategory: "IN_PROGRESS" statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - description: "" name: "Done" statusCategory: "DONE" statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" workflows: - description: "" name: "Software workflow 1" startPointLayout: x: -100.00030899047852 "y": -153.00020599365234 statuses: - layout: x: 114.99993896484375 "y": -16.0 properties: {} statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - layout: x: 317.0000915527344 "y": -16.0 properties: {} statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - layout: x: 508.000244140625 "y": -16.0 properties: {} statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" transitions: - actions: [] description: "" from: [] id: "1" name: "Create" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "INITIAL" validators: [] - actions: [] description: "" from: [] id: "11" name: "To Do" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "21" name: "In Progress" properties: {} to: statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "31" name: "Done" properties: {} to: statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" triggers: [] type: "GLOBAL" validators: [] validationOptions: levels: - "ERROR" - "WARNING" schema: $ref: "#/components/schemas/WorkflowCreateValidateRequest" required: true responses: "200": content: application/json: example: "{\"errors\":[{\"code\":\"NON_UNIQUE_STATUS_NAME\",\"elementReference\"\ :{\"statusReference\":\"1f0443ff-47e4-4306-9c26-0af696059a43\"},\"\ level\":\"ERROR\",\"message\":\"You must use a unique status name.\"\ ,\"type\":\"STATUS\"}]}" schema: $ref: "#/components/schemas/WorkflowValidationErrorList" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Validate create workflows" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" x-experimental: true /rest/api/2/workflows/update: post: deprecated: false 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" operationId: "updateWorkflows" parameters: - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: statuses: - description: "" name: "To Do" statusCategory: "TODO" statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - description: "" name: "In Progress" statusCategory: "IN_PROGRESS" statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - description: "" name: "Done" statusCategory: "DONE" statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" workflows: - defaultStatusMappings: - newStatusReference: "10011" oldStatusReference: "10010" description: "" id: "10001" startPointLayout: x: -100.00030899047852 "y": -153.00020599365234 statusMappings: - issueTypeId: "10002" projectId: "10003" statusMigrations: - newStatusReference: "10011" oldStatusReference: "10010" statuses: - layout: x: 114.99993896484375 "y": -16.0 properties: {} statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - layout: x: 317.0000915527344 "y": -16.0 properties: {} statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - layout: x: 508.000244140625 "y": -16.0 properties: {} statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" transitions: - actions: [] description: "" from: [] id: "1" name: "Create" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "INITIAL" validators: [] - actions: [] description: "" from: [] id: "11" name: "To Do" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "21" name: "In Progress" properties: {} to: statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "31" name: "Done" properties: {} to: statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" triggers: [] type: "GLOBAL" validators: [] version: id: "6f6c988b-2590-4358-90c2-5f7960265592" versionNumber: 1 schema: $ref: "#/components/schemas/WorkflowUpdateRequest" required: true responses: "200": content: application/json: example: "{\"statuses\":[{\"description\":\"\",\"id\":\"10001\",\"name\"\ :\"To Do\",\"scope\":{\"type\":\"GLOBAL\"},\"statusCategory\":\"TODO\"\ ,\"statusReference\":\"10001\",\"usages\":[]},{\"description\":\"\"\ ,\"id\":\"10002\",\"name\":\"In Progress\",\"scope\":{\"type\":\"\ GLOBAL\"},\"statusCategory\":\"IN_PROGRESS\",\"statusReference\":\"\ 10002\",\"usages\":[]},{\"description\":\"\",\"id\":\"10003\",\"name\"\ :\"Done\",\"scope\":{\"type\":\"GLOBAL\"},\"statusCategory\":\"DONE\"\ ,\"statusReference\":\"10003\",\"usages\":[]}],\"taskId\":\"10001\"\ ,\"workflows\":[{\"description\":\"\",\"id\":\"b9ff2384-d3b6-4d4e-9509-3ee19f607168\"\ ,\"isEditable\":true,\"name\":\"Software workflow 1\",\"scope\":{\"\ type\":\"GLOBAL\"},\"startPointLayout\":{\"x\":-100.00030899047852,\"\ y\":-153.00020599365234},\"statuses\":[{\"deprecated\":false,\"layout\"\ :{\"x\":114.99993896484375,\"y\":-16.0},\"properties\":{},\"statusReference\"\ :\"10001\"},{\"deprecated\":false,\"layout\":{\"x\":317.0000915527344,\"\ y\":-16.0},\"properties\":{},\"statusReference\":\"10002\"},{\"deprecated\"\ :false,\"layout\":{\"x\":508.000244140625,\"y\":-16.0},\"properties\"\ :{},\"statusReference\":\"10003\"}],\"transitions\":[{\"actions\"\ :[],\"description\":\"\",\"from\":[],\"id\":\"31\",\"name\":\"Done\"\ ,\"properties\":{},\"to\":{\"statusReference\":\"10003\"},\"triggers\"\ :[],\"type\":\"GLOBAL\",\"validators\":[]},{\"actions\":[],\"description\"\ :\"\",\"from\":[],\"id\":\"11\",\"name\":\"To Do\",\"properties\"\ :{},\"to\":{\"statusReference\":\"10001\"},\"triggers\":[],\"type\"\ :\"GLOBAL\",\"validators\":[]},{\"actions\":[],\"description\":\"\"\ ,\"from\":[],\"id\":\"21\",\"name\":\"In Progress\",\"properties\"\ :{},\"to\":{\"statusReference\":\"10002\"},\"triggers\":[],\"type\"\ :\"GLOBAL\",\"validators\":[]},{\"actions\":[],\"description\":\"\"\ ,\"from\":[],\"id\":\"1\",\"name\":\"Create\",\"properties\":{},\"\ to\":{\"statusReference\":\"10001\"},\"triggers\":[],\"type\":\"INITIAL\"\ ,\"validators\":[]}],\"usages\":[],\"version\":{\"id\":\"f010ac1b-3dd3-43a3-aa66-0ee8a447f76e\"\ ,\"versionNumber\":0}}]}" schema: $ref: "#/components/schemas/WorkflowUpdateResponse" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk update workflows" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" x-experimental: true /rest/api/2/workflows/update/validation: post: deprecated: false 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" operationId: "validateUpdateWorkflows" parameters: [] requestBody: content: application/json: example: payload: statuses: - description: "" name: "To Do" statusCategory: "TODO" statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - description: "" name: "In Progress" statusCategory: "IN_PROGRESS" statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - description: "" name: "Done" statusCategory: "DONE" statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" workflows: - defaultStatusMappings: - newStatusReference: "10011" oldStatusReference: "10010" description: "" id: "10001" startPointLayout: x: -100.00030899047852 "y": -153.00020599365234 statusMappings: - issueTypeId: "10002" projectId: "10003" statusMigrations: - newStatusReference: "10011" oldStatusReference: "10010" statuses: - layout: x: 114.99993896484375 "y": -16.0 properties: {} statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" - layout: x: 317.0000915527344 "y": -16.0 properties: {} statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" - layout: x: 508.000244140625 "y": -16.0 properties: {} statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" transitions: - actions: [] description: "" from: [] id: "1" name: "Create" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "INITIAL" validators: [] - actions: [] description: "" from: [] id: "11" name: "To Do" properties: {} to: statusReference: "f0b24de5-25e7-4fab-ab94-63d81db6c0c0" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "21" name: "In Progress" properties: {} to: statusReference: "c7a35bf0-c127-4aa6-869f-4033730c61d8" triggers: [] type: "GLOBAL" validators: [] - actions: [] description: "" from: [] id: "31" name: "Done" properties: {} to: statusReference: "6b3fc04d-3316-46c5-a257-65751aeb8849" triggers: [] type: "GLOBAL" validators: [] version: id: "6f6c988b-2590-4358-90c2-5f7960265592" versionNumber: 1 validationOptions: levels: - "ERROR" - "WARNING" schema: $ref: "#/components/schemas/WorkflowUpdateValidateRequestBean" required: true responses: "200": content: application/json: example: "{\"errors\":[{\"code\":\"NON_UNIQUE_STATUS_NAME\",\"elementReference\"\ :{\"statusReference\":\"1f0443ff-47e4-4306-9c26-0af696059a43\"},\"\ level\":\"ERROR\",\"message\":\"You must use a unique status name.\"\ ,\"type\":\"STATUS\"}]}" schema: $ref: "#/components/schemas/WorkflowValidationErrorList" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Validate update workflows" tags: - "Workflows" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow:jira" state: "Beta" x-experimental: true /rest/api/2/workflowscheme: get: deprecated: false 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)." operationId: "getAllWorkflowSchemes" parameters: - description: "The index of the first item to return in a page of results (page\ \ offset)." in: "query" name: "startAt" schema: default: 0 format: "int64" type: "integer" - description: "The maximum number of items to return per page." in: "query" name: "maxResults" schema: default: 50 format: "int32" type: "integer" responses: "200": content: application/json: example: "{\"isLast\":true,\"maxResults\":50,\"startAt\":0,\"total\"\ :2,\"values\":[{\"defaultWorkflow\":\"jira\",\"description\":\"The\ \ description of the example workflow scheme.\",\"id\":101010,\"issueTypeMappings\"\ :{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"name\"\ :\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ },{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the another example workflow scheme.\",\"id\":101011,\"issueTypeMappings\"\ :{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"name\"\ :\"Another example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101011\"\ }]}" schema: $ref: "#/components/schemas/PageBeanWorkflowScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get all workflow schemes" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" post: deprecated: false description: "Creates a workflow scheme.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "createWorkflowScheme" parameters: [] requestBody: content: application/json: example: defaultWorkflow: "jira" description: "The description of the example workflow scheme." issueTypeMappings: "10000": "scrum workflow" "10001": "builds workflow" name: "Example workflow scheme" schema: $ref: "#/components/schemas/WorkflowScheme" required: true responses: "201": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" - "read:workflow-scheme:jira" state: "Beta" /rest/api/2/workflowscheme/project: get: deprecated: false 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)." operationId: "getWorkflowSchemeProjectAssociations" parameters: - 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`." in: "query" name: "projectId" required: true schema: items: example: 10010 format: "int64" type: "integer" maxItems: 100 minItems: 1 type: "array" uniqueItems: true responses: "200": content: application/json: example: "{\"values\":[{\"projectIds\":[\"10010\",\"10020\"],\"workflowScheme\"\ :{\"defaultWorkflow\":\"jira\",\"description\":\"The description of\ \ the example workflow scheme.\",\"id\":101010,\"issueTypeMappings\"\ :{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"name\"\ :\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }}]}" schema: $ref: "#/components/schemas/ContainerOfWorkflowSchemeAssociations" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[],\"errors\":{\"projectId\":\"The ID of\ \ a project has to be provided.\"}}" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ workflow scheme associations.\"],\"errors\":{}}" description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get workflow scheme project associations" tags: - "Workflow scheme project associations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" put: deprecated: false 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)." operationId: "assignSchemeToProject" parameters: [] requestBody: content: application/json: example: projectId: "10001" workflowSchemeId: "10032" schema: $ref: "#/components/schemas/WorkflowSchemeProjectAssociation" required: true responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Only classic projects can have workflow\ \ schemes assigned.\"],\"errors\":{}}" description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: "{\"errorMessages\":[\"Only Jira administrators can access\ \ workflow scheme associations.\"],\"errors\":{}}" description: "Returned if the user does not have the required permissions." "404": content: application/json: example: "{\"errorMessages\":[\"The workflow scheme was not found.\"\ ],\"errors\":{}}" description: "Returned if the workflow scheme or the project are not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Assign workflow scheme to project" tags: - "Workflow scheme project associations" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" state: "Beta" /rest/api/2/workflowscheme/read: post: deprecated: false 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" operationId: "readWorkflowSchemes" parameters: - 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." in: "query" name: "expand" schema: type: "string" requestBody: content: application/json: example: projectIds: - "10047" - "10048" workflowSchemeIds: - "3e59db0f-ed6c-47ce-8d50-80c0c4572677" schema: $ref: "#/components/schemas/WorkflowSchemeReadRequest" required: true responses: "200": content: application/json: example: "[{\"defaultWorkflow\":{\"description\":\"This is the default\ \ workflow for Software Development projects.\",\"id\":\"3e59db0f-ed6c-47ce-8d50-80c0c4572677\"\ ,\"name\":\"Default Software Development Workflow\",\"usage\":[{\"\ issueTypeIds\":[],\"projectId\":\"10047\"}],\"version\":{\"id\":\"\ 657812fc-bc72-400f-aae0-df8d88db3d9g\",\"versionNumber\":1}},\"description\"\ :\"This is the workflow scheme for the Software Development project\ \ type.\",\"id\":\"3g78dg2a-ns2n-56ab-9812-42h5j1464567\",\"name\"\ :\"Software Developer Workflow Scheme\",\"projectIdsUsingScheme\"\ :[\"10047\"],\"scope\":{\"project\":{\"id\":\"10047\"},\"type\":\"\ GLOBAL\"},\"taskId\":\"3f83dg2a-ns2n-56ab-9812-42h5j1461629\",\"version\"\ :{\"id\":\"527213fc-bc72-400f-aae0-df8d88db2c8a\",\"versionNumber\"\ :1},\"workflowsForIssueTypes\":[{\"issueTypeIds\":[\"10013\"],\"workflow\"\ :{\"description\":\"This is the workflow for the Software Development\ \ bug issue type.\",\"id\":\"5e79ae0f-ed6c-47ce-8d50-80c0c4572745\"\ ,\"name\":\"Software Development Bug Workflow\",\"usage\":[{\"issueTypeIds\"\ :[\"10013\"],\"projectId\":\"10047\"}],\"version\":{\"id\":\"897812dc-bc72-400f-aae0-df8d88fe3d8f\"\ ,\"versionNumber\":1}}}]}]" schema: items: $ref: "#/components/schemas/WorkflowSchemeReadResponse" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Bulk get workflow schemes" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" state: "Beta" x-experimental: true /rest/api/2/workflowscheme/update: post: deprecated: false 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." operationId: "updateSchemes" parameters: [] requestBody: content: application/json: example: defaultWorkflowId: "3e59db0f-ed6c-47ce-8d50-80c0c4572677" description: "description" id: "10000" name: "name" statusMappingsByIssueTypeOverride: - issueTypeId: "10001" statusMappings: - newStatusId: "2" oldStatusId: "1" - newStatusId: "4" oldStatusId: "3" - issueTypeId: "10002" statusMappings: - newStatusId: "4" oldStatusId: "1" - newStatusId: "2" oldStatusId: "3" statusMappingsByWorkflows: - newWorkflowId: "3e59db0f-ed6c-47ce-8d50-80c0c4572677" oldWorkflowId: "3e59db0f-ed6c-47ce-8d50-80c0c4572677" statusMappings: - newStatusId: "2" oldStatusId: "1" - newStatusId: "4" oldStatusId: "3" version: id: "527213fc-bc72-400f-aae0-df8d88db2c8a" versionNumber: 1 workflowsForIssueTypes: - issueTypeIds: - "10000" - "10003" workflowId: "3e59db0f-ed6c-47ce-8d50-80c0c4572677" - issueTypeIds: - "10001`" - "10002" workflowId: "3f83dg2a-ns2n-56ab-9812-42h5j1461629" schema: $ref: "#/components/schemas/WorkflowSchemeUpdateRequest" required: true responses: "200": content: application/json: schema: {} description: "Returned if the request is successful and there is no asynchronous\ \ task." "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful and there is an asynchronous\ \ task for the migrations." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" state: "Beta" x-experimental: true /rest/api/2/workflowscheme/update/mappings: post: deprecated: false 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." operationId: "updateWorkflowSchemeMappings" parameters: [] requestBody: content: application/json: example: defaultWorkflowId: "10010" id: "10001" workflowsForIssueTypes: - issueTypeIds: - "10010" - "10011" workflowId: "10001" schema: $ref: "#/components/schemas/WorkflowSchemeUpdateRequiredMappingsRequest" required: true responses: "200": content: application/json: example: "{\"statusMappingsByIssueTypes\":[{\"issueTypeId\":\"10000\"\ ,\"statusIds\":[\"10000\",\"10001\"]}],\"statusMappingsByWorkflows\"\ :[{\"sourceWorkflowId\":\"10000\",\"statusIds\":[\"10000\",\"10001\"\ ],\"targetWorkflowId\":\"10001\"}],\"statuses\":[{\"category\":\"\ TODO\",\"id\":\"10000\",\"name\":\"To Do\"}],\"statusesPerWorkflow\"\ :[{\"initialStatusId\":\"10000\",\"statuses\":[\"10000\",\"10001\"\ ],\"workflowId\":\"10000\"}]}" schema: $ref: "#/components/schemas/WorkflowSchemeUpdateRequiredMappingsResponse" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing, or the caller doesn't have permissions to perform the operation." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get required status mappings for workflow scheme update" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" state: "Beta" x-experimental: true /rest/api/2/workflowscheme/{id}: delete: deprecated: false 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)." operationId: "deleteWorkflowScheme" parameters: - 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*." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the scheme is active." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow-scheme:jira" state: "Beta" get: deprecated: false description: "Returns a workflow scheme.\n\n**[Permissions](#permissions) required:**\ \ *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "getWorkflowScheme" parameters: - 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*." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "returnDraftIfExists" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateWorkflowScheme" parameters: - 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*." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: defaultWorkflow: "jira" description: "The description of the example workflow scheme." issueTypeMappings: "10000": "scrum workflow" name: "Example workflow scheme" updateDraftIfNeeded: false schema: $ref: "#/components/schemas/WorkflowScheme" required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Classic update workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "write:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/createdraft: post: deprecated: false 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)." operationId: "createWorkflowSchemeDraftFromParent" parameters: - description: "The ID of the active workflow scheme that the draft is created\ \ from." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "201": content: application/json: example: "{\"defaultWorkflow\":\"scrum workflow\",\"description\":\"\ The description of the example workflow scheme.\",\"draft\":true,\"\ id\":17218781,\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\"\ :\"jira\"},\"lastModified\":\"Today 6:38 PM\",\"lastModifiedUser\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":true,\"applicationRoles\":{\"items\":[],\"size\":1},\"\ avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"name\":\"Example workflow scheme\"\ ,\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\"\ :{\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Create draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:issue-security-level:jira" - "read:project-role:jira" - "read:screen:jira" - "read:status:jira" - "read:user:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "write:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/default: delete: deprecated: false 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)." operationId: "deleteDefaultWorkflow" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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`." in: "query" name: "updateDraftIfNeeded" schema: type: "boolean" responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded`\ \ is not `true`." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete default workflow" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "write:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" get: deprecated: false 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)." operationId: "getDefaultWorkflow" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - 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." in: "query" name: "returnDraftIfExists" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"workflow\":\"jira\"}" schema: $ref: "#/components/schemas/DefaultWorkflow" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get default workflow" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:workflow:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateDefaultWorkflow" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: updateDraftIfNeeded: false workflow: "jira" schema: $ref: "#/components/schemas/DefaultWorkflow" description: "The new default workflow." required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded`\ \ is not `true`." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update default workflow" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "write:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/draft: delete: deprecated: false description: "Deletes a draft workflow scheme.\n\n**[Permissions](#permissions)\ \ required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)." operationId: "deleteWorkflowSchemeDraft" parameters: - description: "The ID of the active workflow scheme that the draft was created\ \ from." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "204": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission.." "404": description: "Returned if:\n\n * the original active workflow scheme is\ \ not found.\n * the original active workflow scheme does not have a\ \ draft." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow-scheme:jira" state: "Beta" get: deprecated: false 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)." operationId: "getWorkflowSchemeDraft" parameters: - description: "The ID of the active workflow scheme that the draft was created\ \ from." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"scrum workflow\",\"description\":\"\ The description of the example workflow scheme.\",\"draft\":true,\"\ id\":17218781,\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\"\ :\"jira\"},\"lastModified\":\"Today 6:38 PM\",\"lastModifiedUser\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":true,\"applicationRoles\":{\"items\":[],\"size\":1},\"\ avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"name\":\"Example workflow scheme\"\ ,\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\"\ :{\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if:\n\n * the original active workflow scheme is\ \ not found.\n * the original active workflow scheme does not have a\ \ draft." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:issue-security-level:jira" - "read:project-role:jira" - "read:screen:jira" - "read:status:jira" - "read:user:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateWorkflowSchemeDraft" parameters: - description: "The ID of the active workflow scheme that the draft was created\ \ from." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: defaultWorkflow: "jira" description: "The description of the example workflow scheme." issueTypeMappings: "10000": "scrum workflow" name: "Example workflow scheme" updateDraftIfNeeded: false schema: $ref: "#/components/schemas/WorkflowScheme" required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"scrum workflow\",\"description\":\"\ The description of the example workflow scheme.\",\"draft\":true,\"\ id\":17218781,\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\"\ :\"jira\"},\"lastModified\":\"Today 6:38 PM\",\"lastModifiedUser\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":true,\"applicationRoles\":{\"items\":[],\"size\":1},\"\ avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"name\":\"Example workflow scheme\"\ ,\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\"\ :{\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if:\n\n * the original active workflow scheme is\ \ not found.\n * the original active workflow scheme does not have a\ \ draft." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:group:jira" - "read:issue-security-level:jira" - "read:project-role:jira" - "read:screen:jira" - "read:status:jira" - "read:user:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "write:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/draft/default: delete: deprecated: false 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)." operationId: "deleteDraftDefaultWorkflow" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"scrum workflow\",\"description\":\"\ The description of the example workflow scheme.\",\"draft\":true,\"\ id\":17218781,\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\"\ :\"jira\"},\"lastModified\":\"Today 6:38 PM\",\"lastModifiedUser\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":true,\"applicationRoles\":{\"items\":[],\"size\":1},\"\ avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"name\":\"Example workflow scheme\"\ ,\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\"\ :{\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if any of the following is true:\n\n * The workflow\ \ scheme is not found.\n * The workflow scheme does not have a draft." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete draft default workflow" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" state: "Beta" get: deprecated: false 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)." operationId: "getDraftDefaultWorkflow" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"workflow\":\"jira\"}" schema: $ref: "#/components/schemas/DefaultWorkflow" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission.." "404": description: "Returned if any of the following is true:\n\n * The workflow\ \ scheme is not found.\n * The workflow scheme does not have a draft." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get draft default workflow" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:workflow:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateDraftDefaultWorkflow" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" requestBody: content: application/json: example: updateDraftIfNeeded: false workflow: "jira" schema: $ref: "#/components/schemas/DefaultWorkflow" description: "The object for the new default workflow." required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"scrum workflow\",\"description\":\"\ The description of the example workflow scheme.\",\"draft\":true,\"\ id\":17218781,\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\"\ :\"jira\"},\"lastModified\":\"Today 6:38 PM\",\"lastModifiedUser\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":true,\"applicationRoles\":{\"items\":[],\"size\":1},\"\ avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"name\":\"Example workflow scheme\"\ ,\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\"\ :{\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if any of the following is true:\n\n * The workflow\ \ scheme is not found.\n * The workflow scheme does not have a draft." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Update draft default workflow" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/draft/issuetype/{issueType}: delete: deprecated: false 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)." operationId: "deleteWorkflowSchemeDraftIssueType" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the issue type." in: "path" name: "issueType" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"scrum workflow\",\"description\":\"\ The description of the example workflow scheme.\",\"draft\":true,\"\ id\":17218781,\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\"\ :\"jira\"},\"lastModified\":\"Today 6:38 PM\",\"lastModifiedUser\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":true,\"applicationRoles\":{\"items\":[],\"size\":1},\"\ avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"name\":\"Example workflow scheme\"\ ,\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\"\ :{\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme or issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete workflow for issue type in draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" state: "Beta" get: deprecated: false 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)." operationId: "getWorkflowSchemeDraftIssueType" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the issue type." in: "path" name: "issueType" required: true schema: type: "string" responses: "200": content: application/json: example: "{\"issueType\":\"10000\",\"workflow\":\"jira\"}" schema: $ref: "#/components/schemas/IssueTypeWorkflowMapping" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme or issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get workflow for issue type in draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:issue-type:jira" state: "Beta" put: deprecated: false 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)." operationId: "setWorkflowSchemeDraftIssueType" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the issue type." in: "path" name: "issueType" required: true schema: type: "string" requestBody: content: application/json: example: issueType: "10000" updateDraftIfNeeded: false workflow: "jira" schema: $ref: "#/components/schemas/IssueTypeWorkflowMapping" description: "The issue type-project mapping." required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"scrum workflow\",\"description\":\"\ The description of the example workflow scheme.\",\"draft\":true,\"\ id\":17218781,\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\"\ :\"jira\"},\"lastModified\":\"Today 6:38 PM\",\"lastModifiedUser\"\ :{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\"\ ,\"active\":true,\"applicationRoles\":{\"items\":[],\"size\":1},\"\ avatarUrls\":{\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"\ ,\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"\ ,\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"\ ,\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"\ },\"displayName\":\"Mia Krystof\",\"emailAddress\":\"mia@example.com\"\ ,\"groups\":{\"items\":[],\"size\":3},\"key\":\"\",\"name\":\"\",\"\ self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ ,\"timeZone\":\"Australia/Sydney\"},\"name\":\"Example workflow scheme\"\ ,\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\"\ :{\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme or issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set workflow for issue type in draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/draft/publish: post: deprecated: false 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)." operationId: "publishDraftWorkflowScheme" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "Whether the request only performs a validation." in: "query" name: "validateOnly" schema: default: false type: "boolean" requestBody: content: application/json: example: statusMappings: - issueTypeId: "10001" newStatusId: "1" statusId: "3" - issueTypeId: "10001" newStatusId: "2" statusId: "2" - issueTypeId: "10002" newStatusId: "10003" statusId: "10005" - issueTypeId: "10003" newStatusId: "1" statusId: "4" schema: $ref: "#/components/schemas/PublishDraftWorkflowScheme" description: "Details of the status mappings." required: true responses: "204": description: "Returned if the request is only for validation and is successful." "303": content: application/json: schema: $ref: "#/components/schemas/TaskProgressBeanObject" description: "Returned if the request is successful." "400": content: application/json: example: "{\"errorMessages\":[\"Issue type with ID '2','4' is missing\ \ the mappings required for statuses with IDs 10004.\"],\"errors\"\ :{}}" description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": content: application/json: example: "{\"errorMessages\":[\"Draft workflow scheme was not found.\"\ ],\"errors\":{}}" description: "Returned if any of these are true:\n\n * The workflow scheme\ \ is not found.\n * The workflow scheme does not have a draft.\n * A\ \ new status in the draft workflow scheme is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Publish draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/draft/workflow: delete: deprecated: false 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)." operationId: "deleteDraftWorkflowMapping" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The name of the workflow." in: "query" name: "workflowName" required: true schema: type: "string" responses: "200": description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if any of the following is true:\n\n * The workflow\ \ scheme is not found.\n * The workflow scheme does not have a draft.\n\ \ * The workflow is not found.\n * The workflow is not specified." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete issue types for workflow in draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow-scheme:jira" state: "Beta" get: deprecated: false 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)." operationId: "getDraftWorkflow" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The name of a workflow in the scheme. Limits the results to\ \ the workflow-issue type mapping for the specified workflow." in: "query" name: "workflowName" schema: type: "string" responses: "200": content: application/json: example: "{\"defaultMapping\":false,\"issueTypes\":[\"10000\",\"10001\"\ ],\"workflow\":\"jira\"}" schema: $ref: "#/components/schemas/IssueTypesWorkflowMapping" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if either the workflow scheme or workflow (if specified)\ \ is not found. session." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue types for workflows in draft workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:issue-type:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateDraftWorkflowMapping" parameters: - description: "The ID of the workflow scheme that the draft belongs to." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The name of the workflow." in: "query" name: "workflowName" required: true schema: type: "string" requestBody: content: application/json: example: issueTypes: - "10000" updateDraftIfNeeded: true workflow: "jira" schema: $ref: "#/components/schemas/IssueTypesWorkflowMapping" required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if any of the following is true:\n\n * The workflow\ \ scheme is not found.\n * The workflow scheme does not have a draft.\n\ \ * The workflow is not found.\n * The workflow is not specified." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set issue types for workflow in workflow scheme" tags: - "Workflow scheme drafts" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/issuetype/{issueType}: delete: deprecated: false 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)." operationId: "deleteWorkflowSchemeIssueType" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the issue type." in: "path" name: "issueType" required: true schema: type: "string" - 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`." in: "query" name: "updateDraftIfNeeded" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the workflow cannot be edited and `updateDraftIfNeeded`\ \ is false." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme or issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete workflow for issue type in workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow-scheme:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" state: "Beta" get: deprecated: false 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)." operationId: "getWorkflowSchemeIssueType" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the issue type." in: "path" name: "issueType" required: true schema: type: "string" - 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." in: "query" name: "returnDraftIfExists" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"issueType\":\"10000\",\"workflow\":\"jira\"}" schema: $ref: "#/components/schemas/IssueTypeWorkflowMapping" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme or issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get workflow for issue type in workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:issue-type:jira" state: "Beta" put: deprecated: false description: "Sets the workflow for an issue type in a workflow scheme.\n\n\ Note 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)." operationId: "setWorkflowSchemeIssueType" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The ID of the issue type." in: "path" name: "issueType" required: true schema: type: "string" requestBody: content: application/json: example: issueType: "10000" updateDraftIfNeeded: false workflow: "jira" schema: $ref: "#/components/schemas/IssueTypeWorkflowMapping" description: "The issue type-project mapping." required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the workflow cannot be edited and `updateDraftIfNeeded`\ \ is false." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if the workflow scheme or issue type is not found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set workflow for issue type in workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/workflowscheme/{id}/workflow: delete: deprecated: false 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)." operationId: "deleteWorkflowMapping" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The name of the workflow." in: "query" name: "workflowName" required: true schema: type: "string" - 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`." in: "query" name: "updateDraftIfNeeded" schema: default: false type: "boolean" responses: "200": description: "Returned if the request is successful." "400": description: "Returned if the workflow cannot be edited and `updateDraftIfNeeded`\ \ is not true." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if any of the following is true:\n\n * The workflow\ \ scheme is not found.\n * The workflow is not found.\n * The workflow\ \ is not specified." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Delete issue types for workflow in workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "delete:workflow-scheme:jira" state: "Beta" get: deprecated: false 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)." operationId: "getWorkflow" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The name of a workflow in the scheme. Limits the results to\ \ the workflow-issue type mapping for the specified workflow." in: "query" name: "workflowName" schema: type: "string" - 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." in: "query" name: "returnDraftIfExists" schema: default: false type: "boolean" responses: "200": content: application/json: example: "{\"defaultMapping\":false,\"issueTypes\":[\"10000\",\"10001\"\ ],\"workflow\":\"jira\"}" schema: $ref: "#/components/schemas/IssueTypesWorkflowMapping" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if either the workflow scheme or workflow is not\ \ found." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Get issue types for workflows in workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:issue-type:jira" state: "Beta" put: deprecated: false 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)." operationId: "updateWorkflowMapping" parameters: - description: "The ID of the workflow scheme." in: "path" name: "id" required: true schema: format: "int64" type: "integer" - description: "The name of the workflow." in: "query" name: "workflowName" required: true schema: type: "string" requestBody: content: application/json: example: issueTypes: - "10000" updateDraftIfNeeded: true workflow: "jira" schema: $ref: "#/components/schemas/IssueTypesWorkflowMapping" required: true responses: "200": content: application/json: example: "{\"defaultWorkflow\":\"jira\",\"description\":\"The description\ \ of the example workflow scheme.\",\"draft\":false,\"id\":101010,\"\ issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds\ \ workflow\"},\"name\":\"Example workflow scheme\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"\ }" schema: $ref: "#/components/schemas/WorkflowScheme" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": description: "Returned if the user does not have the necessary permission." "404": description: "Returned if any of the following is true:\n\n * The workflow\ \ scheme is not found.\n * The workflow is not found.\n * The workflow\ \ is not specified." security: - basicAuth: [] - OAuth2: - "manage:jira-configuration" summary: "Set issue types for workflow in workflow scheme" tags: - "Workflow schemes" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "manage:jira-configuration" state: "Current" - scheme: "OAuth2" scopes: - "write:workflow-scheme:jira" - "read:workflow-scheme:jira" - "read:workflow:jira" - "read:application-role:jira" - "read:avatar:jira" - "read:group:jira" - "read:issue-type:jira" - "read:project-category:jira" - "read:project:jira" - "read:user:jira" state: "Beta" /rest/api/2/worklog/deleted: get: deprecated: false 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." operationId: "getIdsOfWorklogsDeletedSince" parameters: - description: "The date and time, as a UNIX timestamp in milliseconds, after\ \ which deleted worklogs are returned." in: "query" name: "since" schema: default: 0 format: "int64" type: "integer" responses: "200": content: application/json: example: "{\"lastPage\":true,\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013693136\"\ ,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013671562\"\ ,\"since\":1438013671562,\"until\":1438013693136,\"values\":[{\"properties\"\ :[],\"updatedTime\":1438013671562,\"worklogId\":103},{\"properties\"\ :[],\"updatedTime\":1438013672165,\"worklogId\":104},{\"properties\"\ :[],\"updatedTime\":1438013693136,\"worklogId\":105}]}" schema: $ref: "#/components/schemas/ChangedWorklogs" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get IDs of deleted worklogs" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-worklog:jira" - "read:issue-worklog.property:jira" state: "Beta" /rest/api/2/worklog/list: post: deprecated: false 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." operationId: "getWorklogsForIds" parameters: - description: "Use [expand](#expansion) to include additional information about\ \ worklogs in the response. This parameter accepts `properties` that returns\ \ the properties of each worklog." in: "query" name: "expand" schema: default: "" type: "string" requestBody: content: application/json: example: ids: - 1 - 2 - 5 - 10 schema: $ref: "#/components/schemas/WorklogIdsRequestBean" description: "A JSON object containing a list of worklog IDs." required: true responses: "200": content: application/json: example: "[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"\ active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"comment\":\"I did some work here.\",\"id\":\"100028\",\"issueId\"\ :\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\"\ ,\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\"\ ,\"timeSpentSeconds\":12000,\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\"\ ,\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\"\ },\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"\ identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\",\"type\":\"\ group\",\"value\":\"jira-developers\"}}]" schema: items: $ref: "#/components/schemas/Worklog" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request contains more than 1000 worklog IDs\ \ or is empty." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get worklogs" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:comment:jira" - "read:group:jira" - "read:issue-worklog:jira" - "read:issue-worklog.property:jira" - "read:project-role:jira" - "read:user:jira" - "read:avatar:jira" state: "Beta" /rest/api/2/worklog/updated: get: deprecated: false 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." operationId: "getIdsOfWorklogsModifiedSince" parameters: - description: "The date and time, as a UNIX timestamp in milliseconds, after\ \ which updated worklogs are returned." in: "query" name: "since" schema: default: 0 format: "int64" type: "integer" - description: "Use [expand](#expansion) to include additional information about\ \ worklogs in the response. This parameter accepts `properties` that returns\ \ the properties of each worklog." in: "query" name: "expand" schema: default: "" type: "string" responses: "200": content: application/json: example: "{\"lastPage\":true,\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013693136\"\ ,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013671562\"\ ,\"since\":1438013671562,\"until\":1438013693136,\"values\":[{\"properties\"\ :[],\"updatedTime\":1438013671562,\"worklogId\":103},{\"properties\"\ :[],\"updatedTime\":1438013672165,\"worklogId\":104},{\"properties\"\ :[],\"updatedTime\":1438013693136,\"worklogId\":105}]}" schema: $ref: "#/components/schemas/ChangedWorklogs" description: "Returned if the request is successful." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: - "read:jira-work" summary: "Get IDs of updated worklogs" tags: - "Issue worklogs" x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: - "read:jira-work" state: "Current" - scheme: "OAuth2" scopes: - "read:issue-worklog:jira" - "read:issue-worklog.property:jira" state: "Beta" /rest/atlassian-connect/1/addons/{addonKey}/properties: get: deprecated: false 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`)." operationId: "AddonPropertiesResource.getAddonProperties_get" parameters: - description: "The key of the app, as defined in its descriptor." in: "path" name: "addonKey" required: true schema: type: "string" responses: "200": content: application/json: example: keys: - self: "https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey" key: "propertyKey" schema: $ref: "#/components/schemas/PropertyKeys" description: "Returned if the request is successful." "401": content: application/json: example: message: "Access to this resource must be authenticated as an app." statusCode: 401 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: [] summary: "Get app properties" tags: - "App properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" /rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}: delete: deprecated: false description: "Deletes an app's property.\n\n**[Permissions](#permissions) required:**\ \ Only a Connect app whose key matches `addonKey` can make this request.\n\ Additionally, Forge apps can access Connect app properties (stored against\ \ the same `app.connect.key`)." operationId: "AddonPropertiesResource.deleteAddonProperty_delete" parameters: - description: "The key of the app, as defined in its descriptor." in: "path" name: "addonKey" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": content: application/json: example: message: "The property key cannot be longer than 127 characters." statusCode: 400 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property key is longer than 127 characters." "401": content: application/json: example: message: "Access to this resource must be authenticated as an app." statusCode: 401 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: example: message: "Property with key not found." statusCode: 404 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property is not found or doesn't belong to\ \ the app." security: - basicAuth: [] - OAuth2: [] summary: "Delete app property" tags: - "App properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" get: deprecated: false 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`)." operationId: "AddonPropertiesResource.getAddonProperty_get" parameters: - description: "The key of the app, as defined in its descriptor." in: "path" name: "addonKey" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "200": content: application/json: example: self: "https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey" key: "propertyKey" value: "propertyValue" schema: $ref: "#/components/schemas/EntityProperty" description: "Returned if the request is successful." "400": content: application/json: example: message: "The property key cannot be longer than 127 characters." statusCode: 400 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property key is longer than 127 characters." "401": content: application/json: example: message: "Access to this resource must be authenticated as an app." statusCode: 401 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the authentication credentials are incorrect or\ \ missing." "404": content: application/json: example: message: "Property with key not found." statusCode: 404 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property is not found or doesn't belong to\ \ the app." security: - basicAuth: [] - OAuth2: [] summary: "Get app property" tags: - "App properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" put: deprecated: false 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`)." operationId: "AddonPropertiesResource.putAddonProperty_put" parameters: - description: "The key of the app, as defined in its descriptor." in: "path" name: "addonKey" required: true schema: type: "string" - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: schema: {} required: true responses: "200": content: application/json: example: message: "Property updated." statusCode: 200 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property is updated." "201": content: application/json: example: message: "Property created." statusCode: 201 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned is the property is created." "400": content: application/json: example: message: "The property key cannot be longer than 127 characters." statusCode: 400 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if:\n * the property key is longer than 127 characters.\n\ \ * the value is not valid JSON.\n * the value is longer than 32768\ \ characters." "401": content: application/json: example: message: "Access to this resource must be authenticated as an app." statusCode: 401 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the authentication credentials are incorrect or\ \ missing." security: - basicAuth: [] - OAuth2: [] summary: "Set app property" tags: - "App properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" /rest/atlassian-connect/1/app/module/dynamic: delete: deprecated: false 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." operationId: "DynamicModulesResource.removeModules_delete" parameters: - 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`.\n\ Nonexistent keys are ignored." in: "query" name: "moduleKey" required: false schema: items: type: "string" type: "array" responses: "204": description: "Returned if the request is successful." "401": content: application/json: example: message: "The request is not from a Connect app." schema: $ref: "#/components/schemas/ErrorMessage" description: "Returned if the call is not from a Connect app." summary: "Remove modules" tags: - "Dynamic modules" x-atlassian-data-security-policy: - app-access-rule-exempt: true get: deprecated: false description: "Returns all modules registered dynamically by the calling app.\n\ \n**[Permissions](#permissions) required:** Only Connect apps can make this\ \ request." operationId: "DynamicModulesResource.getModules_get" parameters: [] responses: "200": content: application/json: schema: $ref: "#/components/schemas/ConnectModules" description: "Returned if the request is successful." "401": content: application/json: example: message: "The request is not from a Connect app." schema: $ref: "#/components/schemas/ErrorMessage" description: "Returned if the call is not from a Connect app." summary: "Get modules" tags: - "Dynamic modules" x-atlassian-data-security-policy: - app-access-rule-exempt: true post: deprecated: false description: "Registers a list of modules.\n\n**[Permissions](#permissions)\ \ required:** Only Connect apps can make this request." operationId: "DynamicModulesResource.registerModules_post" parameters: [] requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectModules" required: true responses: "200": description: "Returned if the request is successful." "400": content: application/json: example: message: "Installation failed. The app com.example.app.key has duplicate\ \ module keys: [module-key]. Please contact the app vendor." schema: $ref: "#/components/schemas/ErrorMessage" description: "Returned if:\n* any of the provided modules is invalid. For\ \ example, required properties are missing.\n* any of the modules conflict\ \ with registered dynamic modules or modules defined in the app descriptor.\ \ For example, there are duplicate keys.\n\nDetails of the issues encountered\ \ are included in the error message." "401": content: application/json: example: message: "The request is not from a Connect app." schema: $ref: "#/components/schemas/ErrorMessage" description: "Returned if the call is not from a Connect app." summary: "Register modules" tags: - "Dynamic modules" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/atlassian-connect/1/migration/field: put: deprecated: false 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" operationId: "AppIssueFieldValueUpdateResource.updateIssueFields_put" parameters: - description: "The ID of the transfer." in: "header" name: "Atlassian-Transfer-Id" required: true schema: format: "uuid" type: "string" requestBody: content: application/json: example: updateValueList: - _type: "StringIssueField" issueID: 10001 fieldID: 10076 string: "new string value" - _type: "TextIssueField" issueID: 10002 fieldID: 10077 text: "new text value" - _type: "SingleSelectIssueField" issueID: 10003 fieldID: 10078 optionID: "1" - _type: "MultiSelectIssueField" issueID: 10004 fieldID: 10079 optionID: "2" - _type: "RichTextIssueField" issueID: 10005 fieldID: 10080 richText: "new rich text value" - _type: "NumberIssueField" issueID: 10006 fieldID: 10082 number: 54.0 schema: $ref: "#/components/schemas/ConnectCustomFieldValues" required: true responses: "200": content: application/json: schema: {} description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "403": description: "Returned if:\n* the transfer ID is not found.\n* the authorisation\ \ credentials are incorrect or missing." summary: "Bulk update custom field value" tags: - "App migration" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/atlassian-connect/1/migration/properties/{entityType}: put: 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." operationId: "MigrationResource.updateEntityPropertiesValue_put" parameters: - description: "The app migration transfer ID." in: "header" name: "Atlassian-Transfer-Id" required: true schema: format: "uuid" type: "string" - description: "The type indicating the object that contains the entity properties." in: "path" name: "entityType" required: true schema: enum: - "IssueProperty" - "CommentProperty" - "DashboardItemProperty" - "IssueTypeProperty" - "ProjectProperty" - "UserProperty" - "WorklogProperty" - "BoardProperty" - "SprintProperty" type: "string" requestBody: content: application/json: schema: items: $ref: "#/components/schemas/EntityPropertyDetails" maxItems: 50 minItems: 1 type: "array" required: true responses: "200": description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "403": description: "Returned if the authorisation credentials are incorrect or\ \ missing." summary: "Bulk update entity properties" tags: - "App migration" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/atlassian-connect/1/migration/workflow/rule/search: post: description: "Returns configurations for workflow transition rules migrated\ \ from server to cloud and owned by the calling Connect app." operationId: "MigrationResource.workflowRuleSearch_post" parameters: - description: "The app migration transfer ID." in: "header" name: "Atlassian-Transfer-Id" required: true schema: format: "uuid" type: "string" requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkflowRulesSearch" required: true responses: "200": content: application/json: example: workflowEntityId: "a498d711-685d-428d-8c3e-bc03bb450ea7" invalidRules: - "55d44f1d-c859-42e5-9c27-2c5ec3f340b1" validRules: - workflowId: name: "Workflow name" draft: true postFunctions: - id: "123" key: "WorkflowKey" configuration: value: "WorkflowValidator" transition: name: "transition" id: 123 conditions: - id: "123" key: "WorkflowKey" configuration: value: "WorkflowValidator" transition: name: "transition" id: 123 validators: - id: "123" key: "WorkflowKey" configuration: value: "WorkflowValidator" transition: name: "transition" id: 123 schema: $ref: "#/components/schemas/WorkflowRulesSearchDetails" description: "Returned if the request is successful." "400": description: "Returned if the request is not valid." "403": description: "Returned if the authorisation credentials are incorrect or\ \ missing." summary: "Get workflow transition rule configurations" tags: - "App migration" x-atlassian-data-security-policy: - app-access-rule-exempt: true /rest/atlassian-connect/1/service-registry: get: deprecated: false 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" operationId: "ServiceRegistryResource.services_get" parameters: - description: "The ID of the services (the strings starting with \"b:\" need\ \ to be decoded in Base64)." example: "[\"ari:cloud:graph::service/ca075ed7-6ea7-4563-acb3-000000000000/f51d7252-61e0-11ee-b94d-000000000000\"\ , \"ari:cloud:graph::service/ca075ed7-6ea7-4563-acb3-000000000000/f51d7252-61e0-11ee-b94d-000000000001\"\ ]" explode: true in: "query" name: "serviceIds" required: true schema: items: type: "string" maxItems: 20 minItems: 1 type: "array" style: "form" responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ServiceRegistry" type: "array" description: "Returned if the request is successful." "400": description: "Returned if the request is invalid." "401": description: "The request needs to be authenticated." "403": description: "The request isn't authorized." "500": description: "The endpoint failed internally." "501": description: "The endpoint isn't ready for receiving requests." "504": description: "The upstream service is busy." summary: "Retrieve the attributes of service registries" tags: - "Service Registry" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-experimental: true /rest/forge/1/app/properties/{propertyKey}: delete: deprecated: false description: "Deletes a Forge app's property.\n\n**[Permissions](#permissions)\ \ required:** Only Forge apps can make this request." operationId: "deleteForgeAppProperty" parameters: - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" responses: "204": description: "Returned if the request is successful." "400": content: application/json: example: message: "The property key cannot be longer than 127 characters." statusCode: 400 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property key is longer than 127 characters." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: errorMessages: - "Access to this resource must be authenticated as an app." description: "Returned if the request isn't made directly by an app or if\ \ it's an impersonated request." "404": content: application/json: example: message: "Property with key not found." statusCode: 404 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property isn't found or doesn't belong to\ \ the app." security: - basicAuth: [] - OAuth2: [] summary: "Delete app property (Forge)" tags: - "App properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" x-experimental: true put: deprecated: false 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/)\n\ through 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." operationId: "putForgeAppProperty" parameters: - description: "The key of the property." in: "path" name: "propertyKey" required: true schema: type: "string" requestBody: content: application/json: schema: {} required: true responses: "200": content: application/json: example: message: "Property updated." statusCode: 200 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if the property is updated." "201": content: application/json: example: message: "Property created." statusCode: 201 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned is the property is created." "400": content: application/json: example: message: "The property key can't be longer than 127 characters." statusCode: 400 schema: $ref: "#/components/schemas/OperationMessage" description: "Returned if:\n * the property key is longer than 127 characters.\n\ \ * the value isn't valid JSON.\n * the value is longer than 32768 characters." "401": description: "Returned if the authentication credentials are incorrect or\ \ missing." "403": content: application/json: example: errorMessages: - "Access to this resource must be authenticated as an app." description: "Returned if the request isn't made directly by an app or if\ \ it's an impersonated request." security: - basicAuth: [] - OAuth2: [] summary: "Set app property (Forge)" tags: - "App properties" x-atlassian-data-security-policy: - app-access-rule-exempt: true x-atlassian-oauth2-scopes: - scheme: "OAuth2" scopes: [] state: "Current" - scheme: "OAuth2" scopes: [] state: "Beta" x-experimental: true servers: - url: "https://your-domain.atlassian.net" tags: - description: "This resource represents an announcement banner. Use it to retrieve\ \ and update banner configuration." name: "Announcement banner" - description: "This resource represents app access rule data policies." name: "App data policies (EAP)" - description: "This resource represents application roles. Use it to get details\ \ of an application role or all application roles." name: "Application roles" - description: "This resource represents audits that record activities undertaken\ \ in Jira. Use it to get a list of audit records." name: "Audit records" - 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." name: "Avatars" - description: "This resource represents classification levels." name: "Classification levels" - 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." name: "Dashboards" - 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." name: "Filters" - 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." name: "Filter sharing" - 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." name: "Group and user picker" - 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.)" name: "Groups" - 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." name: "Issues" - 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." name: "UI modifications (apps)" - 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." name: "Issue attachments" - 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." name: "Issue comments" - 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/)." name: "Issue comment properties" - description: "This resource represents issue fields, both system and custom fields.\ \ Use it to get fields, field configurations, and create custom fields." name: "Issue fields" - description: "This resource represents issue field configurations. Use it to get,\ \ set, and delete field configurations and field configuration schemes." name: "Issue field configurations" - 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." name: "Issue custom field contexts" - 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." name: "Issue custom field options" - 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." name: "Issue custom field options (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." name: "Issue custom field values (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." name: "Issue custom field configuration (apps)" - 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." name: "Issue links" - 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." name: "Issue link types" - description: "This resource represents issue navigator settings. Use it to get and\ \ set issue navigator default columns." name: "Issue navigator settings" - 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)" name: "Issue notification schemes" - description: "This resource represents issue priorities. Use it to get, create and\ \ update issue priorities and details for individual issue priorities." name: "Issue priorities" - 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/)." name: "Issue properties" - 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." name: "Issue remote links" - 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." name: "Issue resolutions" - 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." name: "Issue search" - 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)." name: "Issue security level" - 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." name: "Issue security schemes" - description: "This resource represents issue security schemes, issue security levels,\ \ and issue security level members. Use it to get, create, update, and delete\ \ issue security schemes or issue security scheme details. Note that only company-managed\ \ (classic) projects are supported.\n\n### About issue security schemes ###\n\n\ Issue security schemes control which users or groups of users can view an issue.\ \ An issue security scheme is made up of multiple security levels. Each level\ \ can have users or groups of users assigned to it. The following are valid security\ \ level members:\n\n * Individual users\n * Groups of users\n * Project roles\n\ \ * Issue roles\n * \"Anyone\", for example to allow anonymous access\n * A\ \ (multi-)user or (multi-)group picker custom field" name: "Issue security scheme" - 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." name: "Issue types" - 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." name: "Issue type 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." name: "Issue type screen schemes" - 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/)." name: "Issue type properties" - 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." name: "Issue votes" - 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." name: "Issue watchers" - 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." name: "Issue worklogs" - 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/)." name: "Issue worklog properties" - description: "This resource is a collection of operations for [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/)." name: "Jira expressions" - description: "This resource represents various settings in Jira. Use it to get and\ \ update Jira settings and properties." name: "Jira settings" - 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." name: "JQL" - 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." name: "JQL functions (apps)" - description: "This resource represents available labels. Use it to get available\ \ labels for the global label field." name: "Labels" - description: "This resource represents license metrics. Use it to get available\ \ metrics for Jira licences." name: "License metrics" - 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." name: "Myself" - description: "This resource represents permissions. Use it to obtain details of\ \ all permissions and determine whether the user has certain permissions." name: "Permissions" - 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." name: "Permission schemes" - 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." name: "Projects" - description: "This resource represents avatars associated with a project. Use it\ \ to get, load, set, and remove project avatars." name: "Project avatars" - 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)." name: "Project categories" - description: "This resource represents classification levels used in a project.\ \ Use it to view and manage classification levels in your projects." name: "Project classification levels" - 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." name: "Project components" - 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)." name: "Project email" - 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." name: "Project features" - description: "This resource provides validation for project keys and names." name: "Project key and name validation" - 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." name: "Project permission schemes" - 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/)." name: "Project properties" - description: "This resource represents the roles that users can play in projects.\ \ Use this resource to get, create, update, and delete project roles." name: "Project roles" - 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." name: "Project role actors" - 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." name: "Project types" - 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." name: "Project versions" - 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." name: "Screens" - description: "This resource represents the screen tabs used to record issue details.\ \ Use it to get, create, update, move, and delete screen tabs." name: "Screen tabs" - 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." name: "Screen tab fields" - description: "This resource represents screen schemes in classic projects. Use it\ \ to get, create, update, and delete screen schemes." name: "Screen schemes" - description: "This resource provides information about the Jira instance." name: "Server info" - description: "This resource represents statuses. Use it to search, get, create,\ \ delete, and change statuses." name: "Status" - 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." name: "Tasks" - 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." name: "Time tracking" - 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." name: "Users" - 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." name: "User properties" - 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." name: "User search" - 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)." name: "Webhooks" - 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" name: "Workflows" - 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." name: "Workflow transition rules" - 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." name: "Workflow schemes" - 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)." name: "Workflow scheme project associations" - 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." name: "Workflow scheme drafts" - 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." name: "Workflow statuses" - 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)." name: "Workflow status categories" - 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/)." name: "Workflow transition 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)." name: "App properties" - description: "This resource represents [modules registered dynamically](https://developer.atlassian.com/cloud/jira/platform/dynamic-modules/)\n\ by [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps)." name: "Dynamic modules" - 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/)." name: "App migration" - 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." name: "Service Registry" x-atlassian-narrative: documents: - anchor: "about" body: "The Jira REST API enables you to interact with Jira programmatically. Use\ \ this API to \n[build apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/),\ \ script interactions with \nJira, or develop any other type of integration.\ \ This page documents the REST resources available in Jira Cloud, including\ \ \nthe HTTP response codes and example requests and responses." title: "About" - anchor: "version" body: "This documentation is for **version 2** of the Jira Cloud platform REST\ \ API. \n\nThe latest version of the Jira Cloud platform REST API is [version\ \ 3](https://developer.atlassian.com/cloud/jira/platform/rest/v3/), \nwhich\ \ is in beta. Version 2 and 3 of the API offer the same collection of operations.\ \ However, version 3\nprovides support for the [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/)\ \ \n(ADF). The ADF features in version 3 are under development.\n" title: "Version" - anchor: "authentication" body: "### Forge apps\n\nFor Forge apps, [REST API scopes](https://developer.atlassian.com/cloud/jira/platform/scopes-for-oauth-2-3LO-and-forge-apps/)\ \ \nare used when authenticating with Jira Cloud platform. See [Add scopes to\ \ call an Atlassian REST API](https://developer.atlassian.com/platform/forge/add-scopes-to-call-an-atlassian-rest-api/)\ \ for more details.\n\nThe URIs for Forge app REST API calls have this structure:\n\ \n`/rest/api/3/`\n\nFor example, `/rest/api/3/issue/DEMO-1`\n\ \n### Connect apps\n\nFor Connect apps, authentication (JWT-based) is built\ \ into the Connect libraries. Authorization is implemented using either \nscopes\ \ (shown as _App scope required_ for operations on this page) or user impersonation.\ \ See \n[Security for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)\ \ \nfor details.\n\nThe URIs for Connect app REST API calls have this structure:\n\ \n`https:///rest/api/3/`\n\nFor example, `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`\n\ \n### Other integrations\n\nFor integrations that are not Forge or Connect apps,\ \ use OAuth 2.0 authorization code grants (3LO) for security \n(3LO scopes are\ \ shown as for operations _OAuth scopes required_). See \n[OAuth 2.0 (3LO) apps](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/)\ \ \nfor details.\n\nThe URIs for OAuth 2.0 (3LO) app REST API calls have this\ \ structure:\n\n`https://api.atlassian.com/ex/jira//rest/api/3/`\n\ \nFor example, `https://api.atlassian.com/ex/jira/35273b54-3f06-40d2-880f-dd28cf8daafa/rest/api/3/issue/DEMO-1`\n\ \n### Ad-hoc API calls\n\nFor personal scripts, bots, and ad-hoc execution of\ \ the REST APIs use basic authentication. See [Basic auth for REST APIs](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/)\ \ for details. \n\nThe URIs for basic authentication REST API calls have this\ \ structure:\n\n`https:///rest/api/3/`\n\nFor example,\ \ `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`\n" title: "Authentication and authorization" - anchor: "permissions" body: "### Operation permissions\n\nMost operations in this API require permissions.\ \ The calling user must have the required permissions for an operation to \n\ use it. Note that for Connect apps, the app user must have the required permissions\ \ for the operation and the app must \nhave scopes that permit the operation.\n\ \nA permission can be granted to a group, project role, or issue role that the\ \ user is a member of, or granted directly to a user. \nSee [Permissions overview](https://confluence.atlassian.com/x/FQiiLQ)\ \ for details. The most common permissions are:\n\n- **Administer the Cloud\ \ site**: Users in the _site-admins_ group have this \npermission. See [Manage\ \ groups](https://confluence.atlassian.com/x/24xjL) for details.\n- **Administer\ \ Jira**: Granted by the _Jira Administrators_ global permission. There is a\ \ default group for this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL)\ \ and [Managing global permissions](https://confluence.atlassian.com/x/x4dKLg)\ \ for details.\n- **Administer a project in Jira**: Granted by the _Administer\ \ projects_ project permission for a project. This can be \ngranted to a user,\ \ a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg)\ \ for details.\n- **Access a project in Jira**: Granted by the _Browse projects_\ \ project permission for a project. This can be \ngranted to a user, a group,\ \ a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg)\ \ for details.\n- **Access Jira**: Granted by the _Jira Users_ global permission.\ \ Users in the default product access group (for example, \n_jira-software-users-acmesite_)\ \ have this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL)\ \ and \n[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg)\ \ for details.\n\n### Anonymous access\n\nSome operations provide support for\ \ anonymous access. However, anonymous access is only available if \nthe Jira\ \ permission needed to access the object or records returned by the operation\ \ is granted to \nthe _Public_ group. See [Allowing anonymous access to your\ \ project](https://confluence.atlassian.com/x/GDxxLg) \nfor details.\n\nIf an\ \ operation is called anonymously and anonymous access is not available, the\ \ operation will return \nan error. Note that not all operations that correspond\ \ to objects that can be given public access \nprovide for anonymous access.\n" title: "Permissions" - anchor: "expansion" body: "### Expansion\n\nThe Jira REST API uses resource expansion, which means\ \ that some parts of a resource are not returned unless specified \nin the request.\ \ This simplifies responses and minimizes network traffic.\n\nTo expand part\ \ of a resource in a request, use the expand query parameter and specify the\ \ object(s) to be expanded. \nIf you need to expand nested objects, use the\ \ `.` dot notation. If you need to expand multiple objects, use a \ncomma-separated\ \ list. \n\nFor example, the following request expands the `names` and `renderedFields`\ \ properties for the _JRACLOUD-34423_ issue:\n\n`GET issue/JRACLOUD-34423?expand=names,renderedFields`\n\ \nTo discover which object can be expanded, refer to the `expand` property in\ \ the object. \nIn the JSON example below, the resource declares `widgets` as\ \ expandable.\n\n```json\n{\n \"expand\": \"widgets\", \n \"self\": \"https://your-domain.atlassian.net/rest/api/3/resource/KEY-1\"\ , \n \"widgets\": {\n \"widgets\": [],\n \"size\": 5\n }\n}\n```\n\n\ ### Pagination\n\nThe Jira REST API uses pagination to improve performance.\ \ Pagination is enforced for operations that could return a large \ncollection\ \ of items. When you make a request to a paginated resource, the response wraps\ \ the returned array of values in \na JSON object with paging metadata. For\ \ example:\n\n```json\n{\n \"startAt\" : 0,\n \"maxResults\" : 10,\n \ \ \"total\": 200,\n \"isLast\": false,\n \"values\": [\n { /*\ \ result 0 */ },\n { /* result 1 */ },\n { /* result 2 */ }\n\ \ ]\n}\n```\n\n* `startAt` is the index of the first item returned in the\ \ page.\n* `maxResults` is the maximum number of items that a page can return.\ \ Each operation can have a different limit for\n the number of items returned,\ \ and these limits may change without notice. To find the maximum number of\ \ items \n that an operation could return, set `maxResults` to a large number—\ for example, over 1000—and if the returned value of `maxResults` is less than\ \ the requested value, the returned value is the maximum.\n* `total` is the\ \ total number of items contained in all pages. This number **_may change_**\ \ as the client \nrequests the subsequent pages, therefore the client should\ \ always assume that the requested page can be empty. Note \nthat this property\ \ is not returned for all operations.\n* `isLast` indicates whether the page\ \ returned is the last one. Note that this property is not returned for all\ \ operations.\n\n### Ordering\n\nSome operations support ordering the elements\ \ of a response by a field. Check the documentation for the operation to \n\ confirm whether ordering of a response is supported and which fields can be\ \ used. Responses are listed in ascending order \nby default. You can change\ \ the order using the `orderby` query parameter with a `-` or `+` symbol. For\ \ example:\n\n* `?orderBy=name` to order by `name` field ascending.\n* `?orderBy=+name`\ \ to order by `name` field ascending.\n* `?orderBy=-name` to order by `name`\ \ field descending.\n\n\n" title: "Expansion, pagination, and ordering" - anchor: "timestamps" body: "By default, top-level timestamps (e.g. updated and created) are returned\ \ in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format, in the system default\ \ user time zone.\n\nTo return date time data in the logged in user's timezone,\ \ please refer to `renderedFields` property under the `expand` query parameter\ \ in relevant APIs.\n" title: "Timestamps" - anchor: "special-request-headers" body: "The following request and response headers define important metadata for\ \ the Jira Cloud REST API resources.\n\n- `X-Atlassian-Token` (request): Operations\ \ that accept multipart/form-data must include the `X-Atlassian-Token: no-check`\n\ header in requests. Otherwise the request is blocked by cross-site request forgery\ \ (CSRF/XSRF) protection.\n- `X-Force-Accept-Language` (request): controls\ \ how the standard HTTP `Accept-Language` header is processed.\nBy default `Accept-Language`\ \ is ignored and the response is in the language configured in the user's profile\ \ or,\nwhen no language is configured for the user, the default Jira instance\ \ language. For the response to recognize\n`Accept-Language` send `X-Force-Accept-Language\ \ = true` as well. If `Accept-Language` requests a language that Jira\ncan return\ \ the response is in that language, otherwise Jira returns the response in the\ \ default language. If\n`Accept-Language` is not specified the response is in\ \ the default language.\n- `X-AAccountId` (response): This response header\ \ contains the Atlassian account ID of the authenticated user." title: "Special headers" - anchor: "anonymous-operations" body: " Jira provides for all permissions, except the [global permission](https://confluence.atlassian.com/x/x4dKLg)\ \ Administer Jira, to be assigned to *Anyone*. Once a permission is assigned\ \ to *Anyone*, anyone knowing a project's URL is able to use the features in\ \ Jira enabled by the permission. However, the Jira REST API does not enable\ \ anonymous access for operations by default. This means that an anonymous user\ \ who may be able to perform an action through Jira, may not be able to perform\ \ the same action where it's enabled by the REST API. \n\n The operations that\ \ provide anonymous access are annotated \"This operation can be accessed anonymously.\"" title: "Anonymous operations" - anchor: "async-operations" body: "Some Jira REST API operations may trigger long-running or computationally\ \ expensive tasks. In these cases, the operation \nwill schedule an asynchronous\ \ task and return a `303 (See Other)` response, indicating the location of the\ \ queued task \nin the `Location` header. You can query this task to get progress\ \ updates.\n\nWhen the task finishes, the response object will contain the `result`\ \ field. The content of the field is specific to the \noperation that created\ \ the task. Refer to the operation’s documentation for more information.\n\n\ Note that asynchronous tasks are not guaranteed to be run in order. In other\ \ words, if you need your tasks to execute \nin a certain order, you should\ \ start a task only after the prerequisite task(s) have finished." title: "Asynchronous operations" - anchor: "experimental" body: "Features and methods marked as experimental may change without notice.\ \ Feedback on experimental functionality is welcome. \nReport your suggestions\ \ and bugs in the [ACJIRA project](https://ecosystem.atlassian.net/projects/ACJIRA)\ \ (preferred) or use the \n**Give docs feedback** link at the top of this page.\ \ \n" title: "Experimental features" - anchor: "status-codes" body: "The Jira Cloud platform REST API uses the [standard HTTP status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).\n\ \nOperations that return an error status code may also return a response body\ \ containing details of the error or errors. \nThe schema for the response body\ \ is shown below:\n\n\n```json\n{\n \"id\": \"https://docs.atlassian.com/jira/REST/schema/error-collection#\"\ ,\n \"title\": \"Error Collection\",\n \"type\": \"object\",\n \"properties\"\ : {\n \"errorMessages\": {\n \"type\": \"array\",\n \"items\":\ \ {\n \"type\": \"string\"\n }\n },\n \"errors\": {\n \ \ \"type\": \"object\",\n \"patternProperties\": {\n \".+\": {\n\ \ \"type\": \"string\"\n }\n },\n \"additionalProperties\"\ : false\n },\n \"status\": { \n \"type\": \"integer\"\n }\n },\n\ \ \"additionalProperties\": false\n}\n```" title: "Status codes"