{"components":{"schemas":{"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"},"Board":{"additionalProperties":false,"description":"Details about a board.","properties":{"admins":{"allOf":[{"additionalProperties":false,"description":"The users and groups who own the board.","properties":{"groups":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"},"users":{"items":{"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":[{"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"}],"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"},"type":"array"}},"type":"object"}],"readOnly":true},"canEdit":{"description":"Whether the board can be edited.","readOnly":true,"type":"boolean"},"favourite":{"description":"Whether the board is selected as a favorite.","readOnly":true,"type":"boolean"},"id":{"description":"The ID of the board.","format":"int64","type":"integer"},"isPrivate":{"description":"Whether the board is private.","readOnly":true,"type":"boolean"},"location":{"additionalProperties":false,"description":"The container that the board is located in.","properties":{"avatarURI":{"format":"uri","type":"string"},"displayName":{"type":"string"},"name":{"type":"string"},"projectId":{"format":"int64","type":"integer"},"projectKey":{"type":"string"},"projectName":{"type":"string"},"projectTypeKey":{"type":"string"},"userAccountId":{"type":"string"},"userId":{"format":"int64","type":"integer"}},"type":"object"},"name":{"description":"The name of the board.","type":"string"},"self":{"description":"The URL of the board.","format":"uri","readOnly":true,"type":"string"},"type":{"description":"The type the board.","type":"string"}},"type":"object"},"BoardAdminsBean":{"additionalProperties":false,"description":"The users and groups who own the board.","properties":{"groups":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"},"users":{"items":{"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":[{"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"}],"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"},"type":"array"}},"type":"object"},"BoardConfigBean":{"additionalProperties":false,"properties":{"columnConfig":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"max":{"format":"int32","type":"integer"},"min":{"format":"int32","type":"integer"},"name":{"type":"string"},"statuses":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"constraintType":{"type":"string"}},"type":"object"},"estimation":{"additionalProperties":false,"properties":{"field":{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"fieldId":{"type":"string"}},"type":"object"},"type":{"type":"string"}},"type":"object"},"filter":{"additionalProperties":false,"properties":{"id":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"id":{"format":"int64","type":"integer"},"location":{"additionalProperties":false,"properties":{"projectKeyOrId":{"type":"string"},"type":{"enum":["project","user"],"type":"string"}},"type":"object"},"name":{"type":"string"},"ranking":{"additionalProperties":false,"properties":{"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"},"self":{"format":"uri","type":"string"},"subQuery":{"additionalProperties":false,"properties":{"query":{"type":"string"}},"type":"object"},"type":{"type":"string"}},"type":"object"},"BoardCreateBean":{"additionalProperties":false,"properties":{"filterId":{"format":"int64","type":"integer"},"location":{"additionalProperties":false,"properties":{"projectKeyOrId":{"type":"string"},"type":{"enum":["project","user"],"type":"string"}},"type":"object"},"name":{"type":"string"},"type":{"enum":["kanban","scrum","agility"],"type":"string"}},"type":"object"},"BoardFilterBean":{"additionalProperties":false,"properties":{"id":{"format":"int64","type":"integer"},"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"BoardLocationBean":{"additionalProperties":false,"description":"The container that the board is located in.","properties":{"avatarURI":{"format":"uri","type":"string"},"displayName":{"type":"string"},"name":{"type":"string"},"projectId":{"format":"int64","type":"integer"},"projectKey":{"type":"string"},"projectName":{"type":"string"},"projectTypeKey":{"type":"string"},"userAccountId":{"type":"string"},"userId":{"format":"int64","type":"integer"}},"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"},"Changelog":{"additionalProperties":false,"description":"A log of changes made to issue fields. Changelogs related to workflow associations are currently being deprecated.","properties":{"author":{"allOf":[{"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":[{"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"}],"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"}],"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":[{"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":[{"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"}],"description":"Details of the user whose action created the history record."},"cause":{"allOf":[{"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"}],"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":[{"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"}],"description":"Details of the system that generated the history record."},"type":{"description":"The type of the history record.","type":"string"}},"type":"object"}],"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":{"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"},"readOnly":true,"type":"array"}},"type":"object"},"ColorBean":{"additionalProperties":false,"properties":{"key":{"enum":["color_1","color_2","color_3","color_4","color_5","color_6","color_7","color_8","color_9","color_10","color_11","color_12","color_13","color_14"],"type":"string"}},"type":"object"},"ColumnBean":{"additionalProperties":false,"properties":{"max":{"format":"int32","type":"integer"},"min":{"format":"int32","type":"integer"},"name":{"type":"string"},"statuses":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"ColumnConfigBean":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"max":{"format":"int32","type":"integer"},"min":{"format":"int32","type":"integer"},"name":{"type":"string"},"statuses":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"constraintType":{"type":"string"}},"type":"object"},"Entry":{"additionalProperties":false,"properties":{"errors":{"items":{"type":"string"},"type":"array"},"issueId":{"format":"int64","type":"integer"},"issueKey":{"type":"string"},"status":{"format":"int32","type":"integer"}},"type":"object"},"EpicRankRequestBean":{"additionalProperties":false,"properties":{"rankAfterEpic":{"type":"string"},"rankBeforeEpic":{"type":"string"},"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"},"EpicUpdateBean":{"additionalProperties":false,"properties":{"color":{"additionalProperties":false,"properties":{"key":{"enum":["color_1","color_2","color_3","color_4","color_5","color_6","color_7","color_8","color_9","color_10","color_11","color_12","color_13","color_14"],"type":"string"}},"type":"object"},"done":{"type":"boolean"},"name":{"type":"string"},"summary":{"type":"string"}},"type":"object"},"EstimationConfigBean":{"additionalProperties":false,"properties":{"field":{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"fieldId":{"type":"string"}},"type":"object"},"type":{"type":"string"}},"type":"object"},"EstimationConfigurationBean":{"additionalProperties":false,"properties":{"localisedDescription":{"type":"string"},"localisedName":{"type":"string"},"value":{"enum":["STORY_POINTS","ORIGINAL_ESTIMATE"],"type":"string"}},"type":"object"},"EstimationFieldBean":{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"fieldId":{"type":"string"}},"type":"object"},"FeatureBean":{"additionalProperties":false,"properties":{"boardFeature":{"enum":["SIMPLE_ROADMAP","BACKLOG","SPRINTS","CALENDAR","DEVTOOLS","REPORTS","ESTIMATION","PAGES","CODE","SECURITY","REQUESTS","INCIDENTS","RELEASES","DEPLOYMENTS","ISSUE_NAVIGATOR","ON_CALL_SCHEDULE","BOARD","GOALS","LIST_VIEW"],"type":"string"},"boardId":{"format":"int64","type":"integer"},"featureId":{"type":"string"},"featureType":{"enum":["BASIC","ESTIMATION"],"type":"string"},"imageUri":{"type":"string"},"learnMoreArticleId":{"type":"string"},"learnMoreLink":{"type":"string"},"localisedDescription":{"type":"string"},"localisedGroup":{"type":"string"},"localisedName":{"type":"string"},"permissibleEstimationTypes":{"items":{"additionalProperties":false,"properties":{"localisedDescription":{"type":"string"},"localisedName":{"type":"string"},"value":{"enum":["STORY_POINTS","ORIGINAL_ESTIMATE"],"type":"string"}},"type":"object"},"type":"array"},"state":{"enum":["ENABLED","DISABLED","COMING_SOON"],"type":"string"},"toggleLocked":{"type":"boolean"}},"type":"object"},"FeatureResponseBean":{"additionalProperties":false,"properties":{"features":{"items":{"additionalProperties":false,"properties":{"boardFeature":{"enum":["SIMPLE_ROADMAP","BACKLOG","SPRINTS","CALENDAR","DEVTOOLS","REPORTS","ESTIMATION","PAGES","CODE","SECURITY","REQUESTS","INCIDENTS","RELEASES","DEPLOYMENTS","ISSUE_NAVIGATOR","ON_CALL_SCHEDULE","BOARD","GOALS","LIST_VIEW"],"type":"string"},"boardId":{"format":"int64","type":"integer"},"featureId":{"type":"string"},"featureType":{"enum":["BASIC","ESTIMATION"],"type":"string"},"imageUri":{"type":"string"},"learnMoreArticleId":{"type":"string"},"learnMoreLink":{"type":"string"},"localisedDescription":{"type":"string"},"localisedGroup":{"type":"string"},"localisedName":{"type":"string"},"permissibleEstimationTypes":{"items":{"additionalProperties":false,"properties":{"localisedDescription":{"type":"string"},"localisedName":{"type":"string"},"value":{"enum":["STORY_POINTS","ORIGINAL_ESTIMATE"],"type":"string"}},"type":"object"},"type":"array"},"state":{"enum":["ENABLED","DISABLED","COMING_SOON"],"type":"string"},"toggleLocked":{"type":"boolean"}},"type":"object"},"type":"array"}},"type":"object"},"FeatureToggleRequestBean":{"additionalProperties":false,"properties":{"boardId":{"format":"int64","type":"integer"},"enabling":{"type":"boolean"},"feature":{"type":"string"}},"type":"object"},"FieldEditBean":{"additionalProperties":false,"properties":{"value":{"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":[{"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"}],"description":"The data type of the field.","readOnly":true}},"required":["key","name","operations","required","schema"],"type":"object","xml":{"name":"availableField"}},"GroupBean":{"additionalProperties":false,"properties":{"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"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":[{"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"}],"description":"Details of the user whose action created the history record."},"cause":{"allOf":[{"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"}],"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":[{"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"}],"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"},"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"},"IssueAssignRequestBean":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"IssueBean":{"additionalProperties":false,"description":"Details about an issue.","properties":{"changelog":{"allOf":[{"additionalProperties":false,"description":"A page of changelogs.","properties":{"histories":{"description":"The list of changelogs.","items":{"additionalProperties":false,"description":"A log of changes made to issue fields. Changelogs related to workflow associations are currently being deprecated.","properties":{"author":{"allOf":[{"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":[{"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"}],"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"}],"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":[{"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":[{"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"}],"description":"Details of the user whose action created the history record."},"cause":{"allOf":[{"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"}],"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":[{"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"}],"description":"Details of the system that generated the history record."},"type":{"description":"The type of the history record.","type":"string"}},"type":"object"}],"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":{"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"},"readOnly":true,"type":"array"}},"type":"object"},"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"}],"description":"Details of changelogs associated with the issue.","readOnly":true},"editmeta":{"allOf":[{"description":"A list of editable field details.","properties":{"fields":{"additionalProperties":{"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":[{"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"}],"description":"The data type of the field.","readOnly":true}},"required":["key","name","operations","required","schema"],"type":"object","xml":{"name":"availableField"}},"readOnly":true,"type":"object"}},"type":"object"}],"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":{"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"},"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":{"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"},"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":{"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":{"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":[{"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"}],"description":"The data type of the field.","readOnly":true}},"required":["key","name","operations","required","schema"],"type":"object","xml":{"name":"availableField"}},"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":[{"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":[{"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":[{"additionalProperties":false,"description":"Details about a project.","properties":{"avatarUrls":{"allOf":[{"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"}],"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":[{"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"}],"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"}],"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"}],"description":"The scope of the field.","readOnly":true},"self":{"description":"The URL of the status.","readOnly":true,"type":"string"},"statusCategory":{"allOf":[{"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"}],"description":"The category assigned to the status.","readOnly":true}},"type":"object"}],"description":"Details of the issue status after the transition.","readOnly":true}},"type":"object"},"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"}},"IssueRankRequestBean":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array"},"rankAfterIssue":{"type":"string"},"rankBeforeIssue":{"type":"string"},"rankCustomFieldId":{"format":"int64","type":"integer"}},"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":{"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":[{"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"}],"description":"The data type of the field.","readOnly":true}},"required":["key","name","operations","required","schema"],"type":"object","xml":{"name":"availableField"}},"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":[{"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":[{"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":[{"additionalProperties":false,"description":"Details about a project.","properties":{"avatarUrls":{"allOf":[{"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"}],"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":[{"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"}],"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"}],"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"}],"description":"The scope of the field.","readOnly":true},"self":{"description":"The URL of the status.","readOnly":true,"type":"string"},"statusCategory":{"allOf":[{"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"}],"description":"The category assigned to the status.","readOnly":true}},"type":"object"}],"description":"Details of the issue status after the transition.","readOnly":true}},"type":"object"},"IssueUpdateMetadata":{"description":"A list of editable field details.","properties":{"fields":{"additionalProperties":{"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":[{"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"}],"description":"The data type of the field.","readOnly":true}},"required":["key","name","operations","required","schema"],"type":"object","xml":{"name":"availableField"}},"readOnly":true,"type":"object"}},"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"},"LinkGroup":{"additionalProperties":false,"description":"Details a link group, which defines issue operations.","properties":{"groups":{"items":{"$ref":"#/components/schemas/LinkGroup"},"type":"array"},"header":{"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"}},"id":{"type":"string"},"links":{"items":{"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"}},"type":"array"},"styleClass":{"type":"string"},"weight":{"format":"int32","type":"integer"}},"type":"object"},"LocationBean":{"additionalProperties":false,"properties":{"projectKeyOrId":{"type":"string"},"type":{"enum":["project","user"],"type":"string"}},"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"},"PageBeanBoard":{"additionalProperties":false,"properties":{"isLast":{"type":"boolean"},"maxResults":{"format":"int32","type":"integer"},"startAt":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"},"values":{"items":{"additionalProperties":false,"description":"Details about a board.","properties":{"admins":{"allOf":[{"additionalProperties":false,"description":"The users and groups who own the board.","properties":{"groups":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"},"users":{"items":{"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":[{"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"}],"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"},"type":"array"}},"type":"object"}],"readOnly":true},"canEdit":{"description":"Whether the board can be edited.","readOnly":true,"type":"boolean"},"favourite":{"description":"Whether the board is selected as a favorite.","readOnly":true,"type":"boolean"},"id":{"description":"The ID of the board.","format":"int64","type":"integer"},"isPrivate":{"description":"Whether the board is private.","readOnly":true,"type":"boolean"},"location":{"additionalProperties":false,"description":"The container that the board is located in.","properties":{"avatarURI":{"format":"uri","type":"string"},"displayName":{"type":"string"},"name":{"type":"string"},"projectId":{"format":"int64","type":"integer"},"projectKey":{"type":"string"},"projectName":{"type":"string"},"projectTypeKey":{"type":"string"},"userAccountId":{"type":"string"},"userId":{"format":"int64","type":"integer"}},"type":"object"},"name":{"description":"The name of the board.","type":"string"},"self":{"description":"The URL of the board.","format":"uri","readOnly":true,"type":"string"},"type":{"description":"The type the board.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"PageBeanBoardFilterBean":{"additionalProperties":false,"properties":{"isLast":{"type":"boolean"},"maxResults":{"format":"int32","type":"integer"},"startAt":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"},"values":{"items":{"additionalProperties":false,"properties":{"id":{"format":"int64","type":"integer"},"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"PageBeanQuickFilterBean":{"additionalProperties":false,"properties":{"isLast":{"type":"boolean"},"maxResults":{"format":"int32","type":"integer"},"startAt":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"},"values":{"items":{"additionalProperties":false,"properties":{"boardId":{"format":"int64","type":"integer"},"description":{"type":"string"},"id":{"format":"int64","type":"integer"},"jql":{"type":"string"},"name":{"type":"string"},"position":{"format":"int32","type":"integer"}},"type":"object"},"type":"array"}},"type":"object"},"PageOfChangelogs":{"additionalProperties":false,"description":"A page of changelogs.","properties":{"histories":{"description":"The list of changelogs.","items":{"additionalProperties":false,"description":"A log of changes made to issue fields. Changelogs related to workflow associations are currently being deprecated.","properties":{"author":{"allOf":[{"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":[{"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"}],"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"}],"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":[{"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":[{"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"}],"description":"Details of the user whose action created the history record."},"cause":{"allOf":[{"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"}],"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":[{"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"}],"description":"Details of the system that generated the history record."},"type":{"description":"The type of the history record.","type":"string"}},"type":"object"}],"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":{"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"},"readOnly":true,"type":"array"}},"type":"object"},"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"},"PartialSuccessBean":{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"errors":{"items":{"type":"string"},"type":"array"},"issueId":{"format":"int64","type":"integer"},"issueKey":{"type":"string"},"status":{"format":"int32","type":"integer"}},"type":"object"},"type":"array"}},"type":"object"},"ProjectDetails":{"additionalProperties":false,"description":"Details about a project.","properties":{"avatarUrls":{"allOf":[{"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"}],"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":[{"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"}],"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"},"QuickFilterBean":{"additionalProperties":false,"properties":{"boardId":{"format":"int64","type":"integer"},"description":{"type":"string"},"id":{"format":"int64","type":"integer"},"jql":{"type":"string"},"name":{"type":"string"},"position":{"format":"int32","type":"integer"}},"type":"object"},"RankingConfigBean":{"additionalProperties":false,"properties":{"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"},"RelationBean":{"additionalProperties":false,"properties":{"id":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"ReportBean":{"additionalProperties":false,"type":"object"},"ReportsResponseBean":{"additionalProperties":false,"properties":{"reports":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},"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":[{"additionalProperties":false,"description":"Details about a project.","properties":{"avatarUrls":{"allOf":[{"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"}],"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":[{"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"}],"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"}],"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"},"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":{"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"},"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"},"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"}},"SprintBean":{"additionalProperties":false,"properties":{"completeDate":{"type":"string"},"createdDate":{"type":"string"},"endDate":{"type":"string"},"goal":{"type":"string"},"id":{"format":"int64","type":"integer"},"name":{"type":"string"},"originBoardId":{"format":"int64","type":"integer"},"self":{"format":"uri","type":"string"},"startDate":{"type":"string"},"state":{"type":"string"}},"type":"object"},"SprintCreateBean":{"additionalProperties":false,"properties":{"endDate":{"type":"string"},"goal":{"type":"string"},"name":{"type":"string"},"originBoardId":{"format":"int64","type":"integer"},"startDate":{"type":"string"}},"type":"object"},"SprintSwapBean":{"additionalProperties":false,"properties":{"sprintToSwapWith":{"format":"int64","type":"integer"}},"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"},"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":[{"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":[{"additionalProperties":false,"description":"Details about a project.","properties":{"avatarUrls":{"allOf":[{"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"}],"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":[{"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"}],"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"}],"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"}],"description":"The scope of the field.","readOnly":true},"self":{"description":"The URL of the status.","readOnly":true,"type":"string"},"statusCategory":{"allOf":[{"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"}],"description":"The category assigned to the status.","readOnly":true}},"type":"object"},"StringList":{"additionalProperties":false,"type":"object"},"SubqueryBean":{"additionalProperties":false,"properties":{"query":{"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"},"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":[{"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"}],"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"},"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":[{"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"}],"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"}},"securitySchemes":{"OAuth2":{"description":"OAuth2 scopes for Jira","flows":{"authorizationCode":{"authorizationUrl":"https://auth.atlassian.com/authorize","scopes":{"delete:board-scope.admin:jira-software":"Remove board configuration, features, and properties.","delete:sprint:jira-software":"Delete sprints and their properties.","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:board-scope.admin:jira-software":"View configuration, features, filters, project, properties and quick filters related to the given board.","read:board-scope:jira-software":"View board and issues from a board, view issues from a backlog and view reports and versions.","read:build:jira-software":"View builds.","read:deployment:jira-software":"View deployments.","read:epic:jira-software":"View and search for epics, view issues related to an epic and issues without an epic.","read:feature-flag:jira-software":"View feature flags.","read:issue:jira-software":"View issues, issue estimations and field used for estimations.","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:remote-link:jira-software":"View remote links.","read:source-code:jira-software":"View repositories and check if data exists for the supplied properties.","read:sprint:jira-software":"View sprints and sprint related issues and properties.","write:board-scope.admin:jira-software":"Create board, toggle features and set and delete properties.","write:board-scope:jira-software":"Move issues to a backlog and move issues from a backlog to a board.","write:build:jira-software":"Submit and delete build.","write:deployment:jira-software":"Submit and delete deployment.","write:epic:jira-software":"Remove issues from epic, move issues to epic, rank epics and partially update epics. A partial update means that fields not present in the request JSON will not be updated.","write:feature-flag:jira-software":"Submit and delete feature flag.","write:issue:jira-software":"Move (rank) issues and update estimation of the issue.","write:jira-work":"Create and edit issues in Jira, post comments, create worklogs, and delete issues.","write:remote-link:jira-software":"Submit and delete remote link.","write:source-code:jira-software":"Store and delete development information, delete repository and delete development information entity.","write:sprint:jira-software":"Save, move issues to sprints, and change the order of sprints."},"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":{"url":"https://getsupport.atlassian.com"},"description":"Jira Software Cloud REST API documentation","license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"termsOfService":"http://atlassian.com/terms/","title":"Jira Software Cloud API","version":"1001.0.0"},"openapi":"3.0.1","paths":{"/rest/agile/1.0/backlog/issue":{"post":{"deprecated":false,"description":"Move issues to the backlog. \nThis operation is equivalent to remove future and active sprints from a given set of issues. At most 50 issues may be moved at once.","operationId":"moveIssuesToBacklog","requestBody":{"content":{"application/json":{"example":{"issues":["10001","PR-1","PR-3"]},"schema":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license or does not have permission to assign issues."},"404":{"description":"Returned if sprint does not exist or the user cannot view it."}},"security":[{"OAuth2":["write:board-scope:jira-software"]}],"summary":"Move issues to backlog","tags":["Backlog"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/backlog/{boardId}/issue":{"post":{"deprecated":false,"description":"Move issues to the backlog of a particular board (if they are already on that board). \nThis operation is equivalent to remove future and active sprints from a given set of issues if the board has sprints If the board does not have sprints this will put the issues back into the backlog from the board. At most 50 issues may be moved at once.","operationId":"moveIssuesToBacklogForBoard","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"issues":["PR-1","10001","PR-3"],"rankBeforeIssue":"PR-4","rankCustomFieldId":10521},"schema":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array"},"rankAfterIssue":{"type":"string"},"rankBeforeIssue":{"type":"string"},"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"207":{"content":{"application/json":{"example":"{\"entries\":[{\"issueId\":10000,\"issueKey\":\"PR-1\",\"status\":200},{\"issueId\":10001,\"issueKey\":\"PR-2\",\"status\":200},{\"errors\":[\"JIRA Agile cannot execute the rank operation at this time. Please try again later.\"],\"issueId\":10002,\"issueKey\":\"PR-3\",\"status\":503}]}"}},"description":"Returns the list of issue with status of rank operation."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license or does not have permission to assign issues."},"404":{"description":"Returned if sprint does not exist or the user cannot view it."}},"security":[{"OAuth2":["write:board-scope:jira-software"]}],"summary":"Move issues to backlog for board","tags":["Backlog"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/board":{"get":{"deprecated":false,"description":"Returns all boards. This only includes boards that the user has permission to view.\n\n**Deprecation notice:** The required OAuth 2.0 scopes will be updated on February 15, 2024.\n\n * `read:board-scope:jira-software`, `read:project:jira`","operationId":"getAllBoards","parameters":[{"description":"The starting index of the returned boards. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"default":0,"format":"int64","type":"integer"}},{"description":"The maximum number of boards to return per page. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"maxResults","schema":{"default":50,"format":"int32","type":"integer"}},{"description":"Filters results to boards of the specified types. Valid values: scrum, kanban, simple.","in":"query","name":"type","schema":{"additionalProperties":false,"type":"object"}},{"description":"Filters results to boards that match or partially match the specified name.","in":"query","name":"name","schema":{"type":"string"}},{"description":"Filters results to boards that are relevant to a project. Relevance means that the jql filter defined in board contains a reference to a project.","in":"query","name":"projectKeyOrId","schema":{"type":"string"}},{"in":"query","name":"accountIdLocation","schema":{"type":"string"}},{"in":"query","name":"projectLocation","schema":{"type":"string"}},{"description":"Appends private boards to the end of the list. The name and type fields are excluded for security reasons.","in":"query","name":"includePrivate","schema":{"type":"boolean"}},{"description":"If set to true, negate filters used for querying by location. By default false.","in":"query","name":"negateLocationFiltering","schema":{"type":"boolean"}},{"description":"Ordering of the results by a given field. If not provided, values will not be sorted. Valid values: name.","in":"query","name":"orderBy","schema":{"enum":["name","-name","+name"],"type":"string"}},{"description":"List of fields to expand for each board. Valid values: admins, permissions.","in":"query","name":"expand","schema":{"type":"string"}},{"description":"Filters results to boards that are relevant to a project types. Support Jira Software, Jira Service Management. Valid values: software, service\\_desk. By default software.","in":"query","name":"projectTypeLocation","schema":{"items":{"default":"","type":"string"},"type":"array"}},{"description":"Filters results to boards that are relevant to a filter. Not supported for next-gen boards.","in":"query","name":"filterId","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"isLast\":false,\"maxResults\":2,\"startAt\":1,\"total\":5,\"values\":[{\"id\":84,\"name\":\"scrum board\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/84\",\"type\":\"scrum\"},{\"id\":92,\"name\":\"kanban board\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92\",\"type\":\"kanban\"}]}","schema":{"additionalProperties":false,"properties":{"isLast":{"type":"boolean"},"maxResults":{"format":"int32","type":"integer"},"startAt":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"},"values":{"items":{"additionalProperties":false,"description":"Details about a board.","properties":{"admins":{"allOf":[{"additionalProperties":false,"description":"The users and groups who own the board.","properties":{"groups":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"},"users":{"items":{"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":[{"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"}],"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"},"type":"array"}},"type":"object"}],"readOnly":true},"canEdit":{"description":"Whether the board can be edited.","readOnly":true,"type":"boolean"},"favourite":{"description":"Whether the board is selected as a favorite.","readOnly":true,"type":"boolean"},"id":{"description":"The ID of the board.","format":"int64","type":"integer"},"isPrivate":{"description":"Whether the board is private.","readOnly":true,"type":"boolean"},"location":{"additionalProperties":false,"description":"The container that the board is located in.","properties":{"avatarURI":{"format":"uri","type":"string"},"displayName":{"type":"string"},"name":{"type":"string"},"projectId":{"format":"int64","type":"integer"},"projectKey":{"type":"string"},"projectName":{"type":"string"},"projectTypeKey":{"type":"string"},"userAccountId":{"type":"string"},"userId":{"format":"int64","type":"integer"}},"type":"object"},"name":{"description":"The name of the board.","type":"string"},"self":{"description":"The URL of the board.","format":"uri","readOnly":true,"type":"string"},"type":{"description":"The type the board.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"Returns the requested boards, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not have valid license."}},"security":[{"OAuth2":["read:board-scope:jira-software","read:project:jira"]}],"summary":"Get all boards","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"},"post":{"deprecated":false,"description":"Creates a new board. Board name, type and filter ID is required.\n\n * `name` \\- Must be less than 255 characters.\n * `type` \\- Valid values: scrum, kanban\n * `filterId` \\- ID of a filter that the user has permissions to view. Note, if the user does not have the 'Create shared objects' permission and tries to create a shared board, a private board will be created instead (remember that board sharing depends on the filter sharing).\n * `location` \\- The container that the board will be located in. `location` must include the `type` property (Valid values: project, user). If choosing 'project', then a project must be specified by a `projectKeyOrId` property in `location`. If choosing 'user', the current user is chosen by default. The `projectKeyOrId` property should not be provided.\n\nNote:\n\n * If you want to create a new project with an associated board, use the [Jira platform REST API](https://docs.atlassian.com/jira/REST/latest). For more information, see the [Create project](#api-rest-api-3-project-post) method. The `projectTypeKey` for software boards must be 'software' and the `projectTemplateKey` must be either `com.pyxis.greenhopper.jira:gh-kanban-template` or `com.pyxis.greenhopper.jira:gh-scrum-template`.\n * You can create a filter using the [Jira REST API](https://docs.atlassian.com/jira/REST/latest). For more information, see the [Create filter](#api-rest-api-3-filter-post) method.\n * If you do not ORDER BY the Rank field for the filter of your board, you will not be able to reorder issues on the board.","operationId":"createBoard","requestBody":{"content":{"application/json":{"example":{"filterId":10040,"location":{"projectKeyOrId":"10000","type":"project"},"name":"scrum board","type":"scrum"},"schema":{"additionalProperties":false,"properties":{"filterId":{"format":"int64","type":"integer"},"location":{"additionalProperties":false,"properties":{"projectKeyOrId":{"type":"string"},"type":{"enum":["project","user"],"type":"string"}},"type":"object"},"name":{"type":"string"},"type":{"enum":["kanban","scrum","agility"],"type":"string"}},"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":"{\"id\":84,\"name\":\"scrum board\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/84\",\"type\":\"scrum\"}","schema":{"additionalProperties":false,"description":"Details about a board.","properties":{"admins":{"allOf":[{"additionalProperties":false,"description":"The users and groups who own the board.","properties":{"groups":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"},"users":{"items":{"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":[{"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"}],"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"},"type":"array"}},"type":"object"}],"readOnly":true},"canEdit":{"description":"Whether the board can be edited.","readOnly":true,"type":"boolean"},"favourite":{"description":"Whether the board is selected as a favorite.","readOnly":true,"type":"boolean"},"id":{"description":"The ID of the board.","format":"int64","type":"integer"},"isPrivate":{"description":"Whether the board is private.","readOnly":true,"type":"boolean"},"location":{"additionalProperties":false,"description":"The container that the board is located in.","properties":{"avatarURI":{"format":"uri","type":"string"},"displayName":{"type":"string"},"name":{"type":"string"},"projectId":{"format":"int64","type":"integer"},"projectKey":{"type":"string"},"projectName":{"type":"string"},"projectTypeKey":{"type":"string"},"userAccountId":{"type":"string"},"userId":{"format":"int64","type":"integer"}},"type":"object"},"name":{"description":"The name of the board.","type":"string"},"self":{"description":"The URL of the board.","format":"uri","readOnly":true,"type":"string"},"type":{"description":"The type the board.","type":"string"}},"type":"object"}}},"description":"Returns the created board."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."}},"security":[{"OAuth2":["write:board-scope:jira-software"]}],"summary":"Create board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/board/filter/{filterId}":{"get":{"deprecated":false,"description":"Returns any boards which use the provided filter id. This method can be executed by users without a valid software license in order to find which boards are using a particular filter.","operationId":"getBoardByFilterId","parameters":[{"description":"The starting index of the returned boards. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of boards to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results to boards that are relevant to a filter. Not supported for next-gen boards.","in":"path","name":"filterId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"id\":84,\"name\":\"scrum board\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/84\"}","schema":{"additionalProperties":false,"properties":{"isLast":{"type":"boolean"},"maxResults":{"format":"int32","type":"integer"},"startAt":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"},"values":{"items":{"additionalProperties":false,"properties":{"id":{"format":"int64","type":"integer"},"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"Returns the requested boards, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software"]}],"summary":"Get board by filter id","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}":{"delete":{"deprecated":false,"description":"Deletes the board. Admin without the view permission can still remove the board.","operationId":"deleteBoard","parameters":[{"description":"ID of the board to be deleted","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"204":{"description":"Returned if the board has been successfully removed."},"403":{"description":"Returned if the user does not a have valid license, or when the user does not have the permission to delete the board, or when the user tried to delete a next-gen board. The user has to be a Jira Administrator or a board administrator to remove the board. Next-gen boards cannot be deleted, because next-gen software projects must have a board."},"404":{"description":"Returned if a board with the given ID does not exist or the user does not have the permission to view the board."}},"security":[{"OAuth2":["write:board-scope:jira-software"]}],"summary":"Delete board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"DELETE"},"get":{"deprecated":false,"description":"Returns the board for the given board ID. This board will only be returned if the user has permission to view it. Admins without the view permission will see the board as a private one, so will see only a subset of the board's data (board location for instance).","operationId":"getBoard","parameters":[{"description":"The ID of the requested board.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"id\":84,\"location\":{\"displayName\":\"Example Project\",\"name\":\"Example Project\",\"projectId\":10040,\"projectKey\":\"Example Project Key\",\"projectName\":\"Example Project\",\"projectTypeKey\":\"KEY\",\"userAccountId\":\"5b10a2844c20165700ede21g\",\"userId\":10040},\"name\":\"scrum board\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/84\",\"type\":\"scrum\"}","schema":{"additionalProperties":false,"description":"Details about a board.","properties":{"admins":{"allOf":[{"additionalProperties":false,"description":"The users and groups who own the board.","properties":{"groups":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"},"users":{"items":{"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":[{"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"}],"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"},"type":"array"}},"type":"object"}],"readOnly":true},"canEdit":{"description":"Whether the board can be edited.","readOnly":true,"type":"boolean"},"favourite":{"description":"Whether the board is selected as a favorite.","readOnly":true,"type":"boolean"},"id":{"description":"The ID of the board.","format":"int64","type":"integer"},"isPrivate":{"description":"Whether the board is private.","readOnly":true,"type":"boolean"},"location":{"additionalProperties":false,"description":"The container that the board is located in.","properties":{"avatarURI":{"format":"uri","type":"string"},"displayName":{"type":"string"},"name":{"type":"string"},"projectId":{"format":"int64","type":"integer"},"projectKey":{"type":"string"},"projectName":{"type":"string"},"projectTypeKey":{"type":"string"},"userAccountId":{"type":"string"},"userId":{"format":"int64","type":"integer"}},"type":"object"},"name":{"description":"The name of the board.","type":"string"},"self":{"description":"The URL of the board.","format":"uri","readOnly":true,"type":"string"},"type":{"description":"The type the board.","type":"string"}},"type":"object"}}},"description":"Returns the requested board."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:board-scope:jira-software","read:issue-details:jira"]}],"summary":"Get board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/backlog":{"get":{"deprecated":false,"description":"Returns all issues from the board's backlog, for the given board ID. This only includes issues that the user has permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.","operationId":"getIssuesForBacklog","parameters":[{"description":"The ID of the board that has the backlog containing the requested issues.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. \nNote that `username` and `userkey` can't be used as search terms for this parameter due to privacy reasons. Use `accountId` instead.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"This parameter is currently not used.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}],\"maxResults\":50,\"startAt\":0,\"total\":1}","schema":{"$ref":"#/components/schemas/SearchResults"}}},"description":"Returns the requested issues, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:board-scope:jira-software","read:issue-details:jira"]}],"summary":"Get issues for backlog","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/configuration":{"get":{"deprecated":false,"description":"Get the board configuration. The response contains the following fields:\n\n * `id` \\- ID of the board.\n * `name` \\- Name of the board.\n * `filter` \\- Reference to the filter used by the given board.\n * `location` \\- Reference to the container that the board is located in. Includes the container type (Valid values: project, user).\n * `subQuery` (Kanban only) - JQL subquery used by the given board.\n * `columnConfig` \\- The column configuration lists the columns for the board, in the order defined in the column configuration. For each column, it shows the issue status mapping as well as the constraint type (Valid values: none, issueCount, issueCountExclSubs) for the min/max number of issues. Note, the last column with statuses mapped to it is treated as the \"Done\" column, which means that issues in that column will be marked as already completed.\n * `estimation` (Scrum only) - Contains information about type of estimation used for the board. Valid values: none, issueCount, field. If the estimation type is \"field\", the ID and display name of the field used for estimation is also returned. Note, estimates for an issue can be updated by a PUT /rest/api/3/issue/\\{issueIdOrKey\\} request, however the fields must be on the screen. \"timeoriginalestimate\" field will never be on the screen, so in order to update it \"originalEstimate\" in \"timetracking\" field should be updated.\n * `ranking` \\- Contains information about custom field used for ranking in the given board.","operationId":"getConfiguration","parameters":[{"description":"The ID of the board for which configuration is requested.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"columnConfig\":{\"columns\":[{\"name\":\"To Do\",\"statuses\":[{\"id\":\"1\",\"self\":\"https://your-domain.atlassian.net/status/1\"},{\"id\":\"4\",\"self\":\"https://your-domain.atlassian.net/status/4\"}]},{\"max\":4,\"min\":2,\"name\":\"In progress\",\"statuses\":[{\"id\":\"3\",\"self\":\"https://your-domain.atlassian.net/status/3\"}]},{\"name\":\"Done\",\"statuses\":[{\"id\":\"5\",\"self\":\"https://your-domain.atlassian.net/status/5\"}]}],\"constraintType\":\"issueCount\"},\"estimation\":{\"field\":{\"displayName\":\"Story Points\",\"fieldId\":\"customfield_10002\"},\"type\":\"field\"},\"filter\":{\"id\":\"1001\",\"self\":\"https://your-domain.atlassian.net/filter/1001\"},\"id\":10000,\"location\":{\"id\":\"10010\",\"key\":\"PROJ\",\"name\":\"name\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/10010\",\"type\":\"project\"},\"name\":\"Board\",\"ranking\":{\"rankCustomFieldId\":10020},\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/84/config\"}","schema":{"additionalProperties":false,"properties":{"columnConfig":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"max":{"format":"int32","type":"integer"},"min":{"format":"int32","type":"integer"},"name":{"type":"string"},"statuses":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"constraintType":{"type":"string"}},"type":"object"},"estimation":{"additionalProperties":false,"properties":{"field":{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"fieldId":{"type":"string"}},"type":"object"},"type":{"type":"string"}},"type":"object"},"filter":{"additionalProperties":false,"properties":{"id":{"type":"string"},"self":{"format":"uri","type":"string"}},"type":"object"},"id":{"format":"int64","type":"integer"},"location":{"additionalProperties":false,"properties":{"projectKeyOrId":{"type":"string"},"type":{"enum":["project","user"],"type":"string"}},"type":"object"},"name":{"type":"string"},"ranking":{"additionalProperties":false,"properties":{"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"},"self":{"format":"uri","type":"string"},"subQuery":{"additionalProperties":false,"properties":{"query":{"type":"string"}},"type":"object"},"type":{"type":"string"}},"type":"object"}}},"description":"Returns the configuration of the board for given boardId."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license."},"404":{"description":"Returned if board does not exist or the user cannot view it."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software","read:project:jira"]}],"summary":"Get configuration","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/epic":{"get":{"deprecated":false,"description":"Returns all epics from the board, for the given board ID. This only includes epics that the user has permission to view. Note, if the user does not have permission to view the board, no epics will be returned at all.","operationId":"getEpics","parameters":[{"description":"The ID of the board that contains the requested epics.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned epics. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of epics to return per page. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results to epics that are either done or not done. Valid values: true, false.","in":"query","name":"done","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"isLast\":false,\"maxResults\":2,\"startAt\":1,\"total\":5,\"values\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/13\",\"name\":\"epic 2\",\"summary\":\"epic 2 summary\",\"color\":{\"key\":\"color_2\"},\"done\":false}]}"}},"description":"Returns the requested epics, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not have valid license."},"404":{"description":"Returned if board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:epic:jira-software"]}],"summary":"Get epics","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/epic/none/issue":{"get":{"deprecated":false,"description":"Returns all issues that do not belong to any epic on a board, for a given board ID. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.","operationId":"getIssuesWithoutEpicForBoard","parameters":[{"description":"The ID of the board that contains the requested issues.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. \nNote that `username` and `userkey` can't be used as search terms for this parameter due to privacy reasons. Use `accountId` instead.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"A comma-separated list of the parameters to expand.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}],\"maxResults\":50,\"startAt\":0,\"total\":1}"}},"description":"Returns the requested issues, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:epic:jira-software","read:issue-details:jira","read:jql:jira"]}],"summary":"Get issues without epic for board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/epic/{epicId}/issue":{"get":{"deprecated":false,"description":"Returns all issues that belong to an epic on the board, for the given epic ID and the board ID. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.","operationId":"getBoardIssuesForEpic","parameters":[{"description":"The ID of the board that contains the requested issues.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The ID of the epic that contains the requested issues.","in":"path","name":"epicId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"A comma-separated list of the parameters to expand.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}],\"maxResults\":50,\"startAt\":0,\"total\":1}"}},"description":"Returns the requested issues, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:epic:jira-software","read:issue-details:jira","read:jql:jira"]}],"summary":"Get board issues for epic","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/features":{"get":{"deprecated":false,"description":"","operationId":"getFeaturesForBoard","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"features":{"items":{"additionalProperties":false,"properties":{"boardFeature":{"enum":["SIMPLE_ROADMAP","BACKLOG","SPRINTS","CALENDAR","DEVTOOLS","REPORTS","ESTIMATION","PAGES","CODE","SECURITY","REQUESTS","INCIDENTS","RELEASES","DEPLOYMENTS","ISSUE_NAVIGATOR","ON_CALL_SCHEDULE","BOARD","GOALS","LIST_VIEW"],"type":"string"},"boardId":{"format":"int64","type":"integer"},"featureId":{"type":"string"},"featureType":{"enum":["BASIC","ESTIMATION"],"type":"string"},"imageUri":{"type":"string"},"learnMoreArticleId":{"type":"string"},"learnMoreLink":{"type":"string"},"localisedDescription":{"type":"string"},"localisedGroup":{"type":"string"},"localisedName":{"type":"string"},"permissibleEstimationTypes":{"items":{"additionalProperties":false,"properties":{"localisedDescription":{"type":"string"},"localisedName":{"type":"string"},"value":{"enum":["STORY_POINTS","ORIGINAL_ESTIMATE"],"type":"string"}},"type":"object"},"type":"array"},"state":{"enum":["ENABLED","DISABLED","COMING_SOON"],"type":"string"},"toggleLocked":{"type":"boolean"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"200 response"}},"security":[{"OAuth2":["read:board-scope.admin:jira-software"]}],"summary":"Get features for board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"},"put":{"deprecated":false,"description":"","operationId":"toggleFeatures","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"boardId":{"format":"int64","type":"integer"},"enabling":{"type":"boolean"},"feature":{"type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"features":{"items":{"additionalProperties":false,"properties":{"boardFeature":{"enum":["SIMPLE_ROADMAP","BACKLOG","SPRINTS","CALENDAR","DEVTOOLS","REPORTS","ESTIMATION","PAGES","CODE","SECURITY","REQUESTS","INCIDENTS","RELEASES","DEPLOYMENTS","ISSUE_NAVIGATOR","ON_CALL_SCHEDULE","BOARD","GOALS","LIST_VIEW"],"type":"string"},"boardId":{"format":"int64","type":"integer"},"featureId":{"type":"string"},"featureType":{"enum":["BASIC","ESTIMATION"],"type":"string"},"imageUri":{"type":"string"},"learnMoreArticleId":{"type":"string"},"learnMoreLink":{"type":"string"},"localisedDescription":{"type":"string"},"localisedGroup":{"type":"string"},"localisedName":{"type":"string"},"permissibleEstimationTypes":{"items":{"additionalProperties":false,"properties":{"localisedDescription":{"type":"string"},"localisedName":{"type":"string"},"value":{"enum":["STORY_POINTS","ORIGINAL_ESTIMATE"],"type":"string"}},"type":"object"},"type":"array"},"state":{"enum":["ENABLED","DISABLED","COMING_SOON"],"type":"string"},"toggleLocked":{"type":"boolean"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"200 response"}},"security":[{"OAuth2":["write:board-scope.admin:jira-software"]}],"summary":"Toggle features","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/board/{boardId}/issue":{"get":{"deprecated":false,"description":"Returns all issues from a board, for a given board ID. This only includes issues that the user has permission to view. An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the scrum boards. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.","operationId":"getIssuesForBoard","parameters":[{"description":"The ID of the board that contains the requested issues.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. \nNote that `username` and `userkey` can't be used as search terms for this parameter due to privacy reasons. Use `accountId` instead.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"This parameter is currently not used.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}],\"maxResults\":50,\"startAt\":0,\"total\":1}","schema":{"$ref":"#/components/schemas/SearchResults"}}},"description":"Returns the requested issues, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:board-scope:jira-software","read:issue-details:jira"]}],"summary":"Get issues for board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"},"post":{"deprecated":false,"description":"Move issues from the backog to the board (if they are already in the backlog of that board). \nThis operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board) Or transitions the issue(s) to the first column for a kanban board with backlog. At most 50 issues may be moved at once.","operationId":"moveIssuesToBoard","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"issues":["PR-1","10001","PR-3"],"rankBeforeIssue":"PR-4","rankCustomFieldId":10521},"schema":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array"},"rankAfterIssue":{"type":"string"},"rankBeforeIssue":{"type":"string"},"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"207":{"content":{"application/json":{"example":"{\"entries\":[{\"issueId\":10000,\"issueKey\":\"PR-1\",\"status\":200},{\"issueId\":10001,\"issueKey\":\"PR-2\",\"status\":200},{\"errors\":[\"JIRA Agile cannot execute the rank operation at this time. Please try again later.\"],\"issueId\":10002,\"issueKey\":\"PR-3\",\"status\":503}]}","schema":{"additionalProperties":false,"properties":{"entries":{"items":{"additionalProperties":false,"properties":{"errors":{"items":{"type":"string"},"type":"array"},"issueId":{"format":"int64","type":"integer"},"issueKey":{"type":"string"},"status":{"format":"int32","type":"integer"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"Returns the list of issue with status of rank operation."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license or does not have permission to assign issues."}},"security":[{"OAuth2":["write:board-scope:jira-software"]}],"summary":"Move issues to board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/board/{boardId}/project":{"get":{"deprecated":false,"description":"Returns all projects that are associated with the board, for the given board ID. If the user does not have permission to view the board, no projects will be returned at all. Returned projects are ordered by the name.\n\nA project is associated with a board if the board filter contains reference the project or there is an issue from the project that belongs to the board.\n\nThe board filter contains reference the project only if JQL query guarantees that returned issues will be returned from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to any project.\n\nAn issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the scrum boards.","operationId":"getProjects","parameters":[{"description":"The ID of the board that contains returned projects.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned projects. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of projects to return per page. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"isLast\":true,\"maxResults\":10,\"startAt\":0,\"total\":2,\"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}]}"}},"description":"Returns the board's projects, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if board does not exist or the user does not have permission to access it."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software","read:project:jira"]}],"summary":"Get projects","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/project/full":{"get":{"deprecated":false,"description":"Returns all projects that are statically associated with the board, for the given board ID. Returned projects are ordered by the name.\n\nA project is associated with a board if the board filter contains reference the project.\n\nThe board filter contains reference the project only if JQL query guarantees that returned issues will be returned from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to any project.","operationId":"getProjectsFull","parameters":[{"description":"The ID of the board that contains returned projects.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"description":"Returns the board's projects, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if board does not exist or the user does not have permission to access it."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software","read:project:jira"]}],"summary":"Get projects full","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/properties":{"get":{"deprecated":false,"description":"Returns the keys of all properties for the board identified by the id. The user who retrieves the property keys is required to have permissions to view the board.","operationId":"getBoardPropertyKeys","parameters":[{"description":"the ID of the board from which property keys will be returned.","in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Returned if the board with given id exists."},"400":{"description":"Returned if the boardId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"404":{"description":"Returned if the board with given id does not exist, or if the property with given key is not found, or the user doesn't have permissions to see it."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software"]},{}],"summary":"Get board property keys","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/properties/{propertyKey}":{"delete":{"deprecated":false,"description":"Removes the property from the board identified by the id. Ths user removing the property is required to have permissions to modify the board.","operationId":"deleteBoardProperty","parameters":[{"description":"the id of the board from which the property will be removed.","in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"description":"the key of the property to remove.","in":"path","name":"propertyKey","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the board property was removed successfully."},"400":{"description":"Returned if the boardId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"404":{"description":"Returned if the board with given id does not exist, or if the property with given key is not found, or the user doesn't have permissions to see it."}},"security":[{"OAuth2":["delete:board-scope.admin:jira-software"]},{}],"summary":"Delete board property","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"DELETE"},"get":{"deprecated":false,"description":"Returns the value of the property with a given key from the board identified by the provided id. The user who retrieves the property is required to have permissions to view the board.","operationId":"getBoardProperty","parameters":[{"description":"the ID of the board from which the property will be returned.","in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"description":"the key of the property to return.","in":"path","name":"propertyKey","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Returned if the board exists and the property was found."},"400":{"description":"Returned if the boardId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"404":{"description":"Returned if the board with given id does not exist, or if the property with given key is not found, or the user doesn't have permissions to see it."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software"]},{}],"summary":"Get board property","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"},"put":{"deprecated":false,"description":"Sets the value of the specified board's property.\n\nYou can use this resource to store a custom data against the board identified by the id. The user who stores the data is required to have permissions to modify the board.","operationId":"setBoardProperty","parameters":[{"description":"the ID of the board on which the property will be set.","in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"description":"the key of the board's property. The maximum length of the key is 255 bytes.","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 board property is successfully updated."},"201":{"content":{"application/json":{"schema":{}}},"description":"Returned if the board property is successfully created."},"400":{"description":"Returned if the boardId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"404":{"description":"Returned if the board with given id does not exist or the user doesn't have permissions to see it."}},"security":[{"OAuth2":["write:board-scope.admin:jira-software"]},{}],"summary":"Set board property","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/board/{boardId}/quickfilter":{"get":{"deprecated":false,"description":"Returns all quick filters from a board, for a given board ID.","operationId":"getAllQuickFilters","parameters":[{"description":"The ID of the board that contains the requested quick filters.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned quick filters. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of sprints to return per page. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"isLast\":false,\"maxResults\":2,\"startAt\":1,\"total\":5,\"values\":[{\"boardId\":1,\"description\":\"Issues of type bug\",\"id\":1,\"jql\":\"issueType = bug\",\"name\":\"Bugs\",\"position\":0},{\"boardId\":1,\"description\":\"Issues of type task\",\"id\":2,\"jql\":\"issueType = task\",\"name\":\"Tasks\",\"position\":0}]}","schema":{"additionalProperties":false,"properties":{"isLast":{"type":"boolean"},"maxResults":{"format":"int32","type":"integer"},"startAt":{"format":"int64","type":"integer"},"total":{"format":"int64","type":"integer"},"values":{"items":{"additionalProperties":false,"properties":{"boardId":{"format":"int64","type":"integer"},"description":{"type":"string"},"id":{"format":"int64","type":"integer"},"jql":{"type":"string"},"name":{"type":"string"},"position":{"format":"int32","type":"integer"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"Returns the requested quick filters, at the specified page of the results. Quick filters will be ordered first by position."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software","read:jql:jira"]}],"summary":"Get all quick filters","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/quickfilter/{quickFilterId}":{"get":{"deprecated":false,"description":"Returns the quick filter for a given quick filter ID. The quick filter will only be returned if the user can view the board that the quick filter belongs to.","operationId":"getQuickFilter","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The ID of the requested quick filter.","in":"path","name":"quickFilterId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"boardId\":1,\"description\":\"Issues of type bug\",\"id\":1,\"jql\":\"issueType = bug\",\"name\":\"Bugs\",\"position\":0}","schema":{"additionalProperties":false,"properties":{"boardId":{"format":"int64","type":"integer"},"description":{"type":"string"},"id":{"format":"int64","type":"integer"},"jql":{"type":"string"},"name":{"type":"string"},"position":{"format":"int32","type":"integer"}},"type":"object"}}},"description":"Returns the requested quick filter."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board with given id does not exist or if the quick filter with given id is not found or the user doesn't have permissions to see it."}},"security":[{"OAuth2":["read:board-scope.admin:jira-software","read:jql:jira"]}],"summary":"Get quick filter","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/reports":{"get":{"deprecated":false,"description":"","operationId":"getReportsForBoard","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"reports":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},"type":"object"}}},"description":"200 response"}},"security":[{"OAuth2":["read:board-scope:jira-software"]}],"summary":"Get reports for board","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/sprint":{"get":{"deprecated":false,"description":"Returns all sprints from a board, for a given board ID. This only includes sprints that the user has permission to view.","operationId":"getAllSprints","parameters":[{"description":"The ID of the board that contains the requested sprints.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned sprints. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of sprints to return per page. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results to sprints in specified states. Valid values: future, active, closed. You can define multiple states separated by commas, e.g. state=active,closed","in":"query","name":"state","schema":{"additionalProperties":false,"type":"object"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"isLast\":false,\"maxResults\":2,\"startAt\":1,\"total\":5,\"values\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"originBoardId\":5,\"goal\":\"sprint 1 goal\"},{\"id\":72,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/73\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"}]}"}},"description":"Returns the requested sprints, at the specified page of the results. Sprints will be ordered first by state (i.e. closed, active, future) then by their position in the backlog."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:sprint:jira-software"]}],"summary":"Get all sprints","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/sprint/{sprintId}/issue":{"get":{"deprecated":false,"description":"Get all issues you have access to that belong to the sprint from the board. Issue returned from this resource contains additional fields like: sprint, closedSprints, flagged and epic. Issues are returned ordered by rank. JQL order has higher priority than default rank.","operationId":"getBoardIssuesForSprint","parameters":[{"description":"The ID of the board that contains requested issues.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The ID of the sprint that contains requested issues.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. \nNote that `username` and `userkey` can't be used as search terms for this parameter due to privacy reasons. Use `accountId` instead.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"A comma-separated list of the parameters to expand.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}],\"maxResults\":50,\"startAt\":0,\"total\":1}"}},"description":"Returns the requested issues, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:sprint:jira-software","read:issue-details:jira","read:jql:jira"]}],"summary":"Get board issues for sprint","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/board/{boardId}/version":{"get":{"deprecated":false,"description":"Returns all versions from a board, for a given board ID. This only includes versions that the user has permission to view. Note, if the user does not have permission to view the board, no versions will be returned at all. Returned versions are ordered by the name of the project from which they belong and then by sequence defined by user.","operationId":"getAllVersions","parameters":[{"description":"The ID of the board that contains the requested versions.","in":"path","name":"boardId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned versions. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of versions to return per page. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results to versions that are either released or unreleased. Valid values: true, false.","in":"query","name":"released","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"isLast\":false,\"maxResults\":2,\"startAt\":1,\"total\":5,\"values\":[{\"archived\":false,\"description\":\"A first version\",\"id\":10000,\"name\":\"Version 1\",\"projectId\":10000,\"releaseDate\":\"2015-04-20T01:02:00.000+10:00\",\"released\":true,\"self\":\"https://your-domain.atlassian.net/version/10000\"},{\"archived\":false,\"description\":\"Minor Bugfix version\",\"id\":10010,\"name\":\"Next Version\",\"projectId\":10000,\"released\":false,\"self\":\"https://your-domain.atlassian.net/version/10010\"}]}"}},"description":"Returns the requested versions, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:board-scope:jira-software"]}],"summary":"Get all versions","tags":["Board"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/epic/none/issue":{"get":{"deprecated":false,"description":"Returns all issues that do not belong to any epic. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank. **Note:** If you are querying a next-gen project, do not use this operation. Instead, search for issues that don't belong to an epic by using the [Search for issues using JQL](https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-search-get) operation in the Jira platform REST API. Build your JQL query using the `parent is empty` clause. For more information on the `parent` JQL field, see [Advanced searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent).","operationId":"getIssuesWithoutEpic","parameters":[{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"A comma-separated list of the parameters to expand.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}],\"maxResults\":50,\"startAt\":0,\"total\":1}"}},"description":"Returns the requested issues, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."}},"security":[{"OAuth2":["read:epic:jira-software","read:issue-details:jira","read:jql:jira"]}],"summary":"Get issues without epic","tags":["Epic"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"},"post":{"deprecated":false,"description":"Removes issues from epics. The user needs to have the edit issue permission for all issue they want to remove from epics. The maximum number of issues that can be moved in one operation is 50. **Note:** This operation does not work for epics in next-gen projects. Instead, update the issue using `\\{ fields: \\{ parent: \\{\\} \\} \\}`","operationId":"removeIssuesFromEpic","requestBody":{"content":{"application/json":{"example":{"issues":["10001","PR-1","PR-3"]},"schema":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license or does not have permission to assign issues."},"404":{"description":"Returned if the epic does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["write:epic:jira-software"]}],"summary":"Remove issues from epic","tags":["Epic"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/epic/{epicIdOrKey}":{"get":{"deprecated":false,"description":"Returns the epic for a given epic ID. This epic will only be returned if the user has permission to view it. **Note:** This operation does not work for epics in next-gen projects.","operationId":"getEpic","parameters":[{"description":"The id or key of the requested epic.","in":"path","name":"epicIdOrKey","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true}"}},"description":"Returns the requested epic."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the epic does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:epic:jira-software"]}],"summary":"Get epic","tags":["Epic"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"},"post":{"deprecated":false,"description":"Performs a partial update of the epic. A partial update means that fields not present in the request JSON will not be updated. Valid values for color are `color_1` to `color_9`. **Note:** This operation does not work for epics in next-gen projects.","operationId":"partiallyUpdateEpic","parameters":[{"description":"The id or key of the epic to update.","in":"path","name":"epicIdOrKey","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"color":{"key":"color_6"},"done":true,"name":"epic 2","summary":"epic 2 summary"},"schema":{"additionalProperties":false,"properties":{"color":{"additionalProperties":false,"properties":{"key":{"enum":["color_1","color_2","color_3","color_4","color_5","color_6","color_7","color_8","color_9","color_10","color_11","color_12","color_13","color_14"],"type":"string"}},"type":"object"},"done":{"type":"boolean"},"name":{"type":"string"},"summary":{"type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":"{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true}"}},"description":"Updated epic"},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license or edit issue permission."},"404":{"description":"Returned if the epic does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["write:epic:jira-software"]}],"summary":"Partially update epic","tags":["Epic"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/epic/{epicIdOrKey}/issue":{"get":{"deprecated":false,"description":"Returns all issues that belong to the epic, for the given epic ID. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank. **Note:** If you are querying a next-gen project, do not use this operation. Instead, search for issues that belong to an epic by using the [Search for issues using JQL](https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-search-get) operation in the Jira platform REST API. Build your JQL query using the `parent` clause. For more information on the `parent` JQL field, see [Advanced searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent).","operationId":"getIssuesForEpic","parameters":[{"description":"The id or key of the epic that contains the requested issues.","in":"path","name":"epicIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. \nNote that `username` and `userkey` can't be used as search terms for this parameter due to privacy reasons. Use `accountId` instead.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"A comma-separated list of the parameters to expand.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"names,schema\",\"issues\":[{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}],\"maxResults\":50,\"startAt\":0,\"total\":1}"}},"description":"Returns the requested issues, at the specified page of the results."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the epic does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:epic:jira-software","read:issue-details:jira","read:jql:jira"]}],"summary":"Get issues for epic","tags":["Epic"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"},"post":{"deprecated":false,"description":"Moves issues to an epic, for a given epic id. Issues can be only in a single epic at the same time. That means that already assigned issues to an epic, will not be assigned to the previous epic anymore. The user needs to have the edit issue permission for all issue they want to move and to the epic. The maximum number of issues that can be moved in one operation is 50. **Note:** This operation does not work for epics in next-gen projects.","operationId":"moveIssuesToEpic","parameters":[{"description":"The id or key of the epic that you want to assign issues to.","in":"path","name":"epicIdOrKey","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"issues":["10001","PR-1","PR-3"]},"schema":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license or does not have edit issue permission for all issues to assign or for the epic."},"404":{"description":"Returned if the epic does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["write:epic:jira-software"]}],"summary":"Move issues to epic","tags":["Epic"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/epic/{epicIdOrKey}/rank":{"put":{"deprecated":false,"description":"Moves (ranks) an epic before or after a given epic.\n\nIf rankCustomFieldId is not defined, the default rank field will be used.\n\n**Note:** This operation does not work for epics in next-gen projects.","operationId":"rankEpics","parameters":[{"description":"The id or key of the epic to rank.","in":"path","name":"epicIdOrKey","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"rankBeforeEpic":"10000","rankCustomFieldId":10521},"schema":{"additionalProperties":false,"properties":{"rankAfterEpic":{"type":"string"},"rankBeforeEpic":{"type":"string"},"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"}}},"description":"bean which contains the information where the given epic should be ranked.","required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license or does not have permission to rank. To rank issues user have to have schedule issue permission for epics that they want to rank."},"404":{"description":"Returned when the given epics in the path parameter or the request body do not exist."}},"security":[{"OAuth2":["write:epic:jira-software"]}],"summary":"Rank epics","tags":["Epic"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/issue/rank":{"put":{"deprecated":false,"description":"Moves (ranks) issues before or after a given issue. At most 50 issues may be ranked at once.\n\nThis operation may fail for some issues, although this will be rare. In that case the 207 status code is returned for the whole response and detailed information regarding each issue is available in the response body.\n\nIf rankCustomFieldId is not defined, the default rank field will be used.","operationId":"rankIssues","requestBody":{"content":{"application/json":{"example":{"issues":["PR-1","10001","PR-3"],"rankBeforeIssue":"PR-4","rankCustomFieldId":10521},"schema":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array"},"rankAfterIssue":{"type":"string"},"rankBeforeIssue":{"type":"string"},"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"}}},"description":"bean which contains list of issues to rank and information where it should be ranked.","required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"207":{"content":{"application/json":{"example":"{\"entries\":[{\"issueId\":10000,\"issueKey\":\"PR-1\",\"status\":200},{\"issueId\":10001,\"issueKey\":\"PR-2\",\"status\":200},{\"errors\":[\"JIRA Agile cannot execute the rank operation at this time. Please try again later.\"],\"issueId\":10002,\"issueKey\":\"PR-3\",\"status\":503}]}"}},"description":"Returns the list of issue with status of rank operation."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license or does not have permission to rank. To rank issues user has to have schedule issue permission for issues that they want to rank."}},"security":[{"OAuth2":["write:issue:jira-software"]}],"summary":"Rank issues","tags":["Issue"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/issue/{issueIdOrKey}":{"get":{"deprecated":false,"description":"Returns a single issue, for a given issue ID or issue key. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic.","operationId":"getIssue","parameters":[{"description":"The ID or key of the requested issue.","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"A comma-separated list of the parameters to expand.","in":"query","name":"expand","schema":{"type":"string"}},{"description":"A boolean indicating whether the issue retrieved by this method should be added to the current user's issue history","in":"query","name":"updateHistory","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}"}},"description":"Returns the requested issue."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned in these cases:\n\n * the issue does not exist\n * the user does not have permission to view issue"}},"security":[{"OAuth2":["read:issue:jira-software"]}],"summary":"Get issue","tags":["Issue"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/issue/{issueIdOrKey}/estimation":{"get":{"deprecated":false,"description":"Returns the estimation of the issue and a fieldId of the field that is used for it. `boardId` param is required. This param determines which field will be updated on a issue.\n\nOriginal time internally stores and returns the estimation as a number of seconds.\n\nThe field used for estimation on the given board can be obtained from [board configuration resource](#agile/1.0/board-getConfiguration). More information about the field are returned by [edit meta resource](#api-rest-api-3-issue-getEditIssueMeta) or [field resource](#api-rest-api-3-field-get).","operationId":"getIssueEstimationForBoard","parameters":[{"description":"The ID or key of the requested issue.","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the board required to determine which field is used for estimation.","in":"query","name":"boardId","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"fieldId\":\"customfield_12532\",\"value\":\"8.0\"}"}},"description":"Returns the estimation of the issue and a fieldId of the field that is used for it."},"400":{"description":"Returned if the boardId was not provided, field does not exists or value was in wrong format."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license or does not have permission to edit issue."},"404":{"description":"Returned in these cases:\n\n * the issue does not exist\n * the user does not have permission to view issue\n * the board does not exist\n * the user does not have permission to view board\n * the issue does not belong to the board"}},"security":[{"OAuth2":["read:issue:jira-software","read:issue-details:jira"]}],"summary":"Get issue estimation for board","tags":["Issue"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"},"put":{"deprecated":false,"description":"Updates the estimation of the issue. boardId param is required. This param determines which field will be updated on a issue.\n\nNote that this resource changes the estimation field of the issue regardless of appearance the field on the screen.\n\nOriginal time tracking estimation field accepts estimation in formats like \"1w\", \"2d\", \"3h\", \"20m\" or number which represent number of minutes. However, internally the field stores and returns the estimation as a number of seconds.\n\nThe field used for estimation on the given board can be obtained from [board configuration resource](#agile/1.0/board-getConfiguration). More information about the field are returned by [edit meta resource](#api-rest-api-3-issue-issueIdOrKey-editmeta-get) or [field resource](#api-rest-api-3-field-get).","operationId":"estimateIssueForBoard","parameters":[{"description":"The ID or key of the requested issue.","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the board required to determine which field is used for estimation.","in":"query","name":"boardId","schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"value":"8.0"},"schema":{"additionalProperties":false,"properties":{"value":{"type":"string"}},"type":"object"}}},"description":"bean that contains value of a new estimation.","required":true},"responses":{"200":{"content":{"application/json":{"example":"{\"fieldId\":\"customfield_12532\",\"value\":\"8.0\"}"}},"description":"Returns the estimation of the issue and a fieldId of the field that is used for it."},"400":{"description":"Returned if the boardId was not provided, field does not exists or value was in wrong format."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if user does not a have valid license or does not have permission to edit issue."},"404":{"description":"Returned in these cases:\n\n * the issue does not exist\n * the user does not have permission to view issue\n * the board does not exist\n * the user does not have permission to view board\n * the issue does not belong to the board"}},"security":[{"OAuth2":["write:issue:jira-software","read:issue-details:jira"]}],"summary":"Estimate issue for board","tags":["Issue"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/sprint":{"post":{"deprecated":false,"description":"Creates a future sprint. Sprint name and origin board id are required. Start date, end date, and goal are optional.\n\nNote that the sprint name is trimmed. Also, when starting sprints from the UI, the \"endDate\" set through this call is ignored and instead the last sprint's duration is used to fill the form.","operationId":"createSprint","requestBody":{"content":{"application/json":{"example":{"endDate":"2015-04-20T01:22:00.000+10:00","goal":"sprint 1 goal","name":"sprint 1","originBoardId":5,"startDate":"2015-04-11T15:22:00.000+10:00"},"schema":{"additionalProperties":false,"properties":{"endDate":{"type":"string"},"goal":{"type":"string"},"name":{"type":"string"},"originBoardId":{"format":"int64","type":"integer"},"startDate":{"type":"string"}},"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":"{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"future\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"originBoardId\":5,\"goal\":\"sprint 1 goal\"}"}},"description":"Created sprint"},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the board does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["write:sprint:jira-software"]}],"summary":"Create sprint","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/sprint/{sprintId}":{"delete":{"deprecated":false,"description":"Deletes a sprint. Once a sprint is deleted, all open issues in the sprint will be moved to the backlog.","operationId":"deleteSprint","parameters":[{"description":"The ID of the sprint to delete.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"204":{"description":"Returned if the sprint was deleted successfully"},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license or does not have permission to delete sprints."},"404":{"description":"Returned if the sprint does not exist."}},"security":[{"OAuth2":["delete:sprint:jira-software"]}],"summary":"Delete sprint","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"DELETE"},"get":{"deprecated":false,"description":"Returns the sprint for a given sprint ID. The sprint will only be returned if the user can view the board that the sprint was created on, or view at least one of the issues in the sprint.","operationId":"getSprint","parameters":[{"description":"The ID of the requested sprint.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"originBoardId\":5,\"goal\":\"sprint 1 goal\"}"}},"description":"Returns the requested sprint."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the sprint does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["read:sprint:jira-software"]}],"summary":"Get sprint","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"},"post":{"deprecated":false,"description":"Performs a partial update of a sprint. A partial update means that fields not present in the request JSON will not be updated.\n\nNotes:\n\n * For closed sprints, only the name and goal can be updated; changes to other fields will be ignored.\n * A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and have a startDate and endDate set.\n * A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active' state. This sets the completeDate to the time of the request.\n * Other changes to state are not allowed.\n * The completeDate field cannot be updated manually.","operationId":"partiallyUpdateSprint","parameters":[{"description":"The ID of the sprint to update.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"name":"new name"},"schema":{"additionalProperties":false,"properties":{"completeDate":{"type":"string"},"createdDate":{"type":"string"},"endDate":{"type":"string"},"goal":{"type":"string"},"id":{"format":"int64","type":"integer"},"name":{"type":"string"},"originBoardId":{"format":"int64","type":"integer"},"self":{"format":"uri","type":"string"},"startDate":{"type":"string"},"state":{"type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":"{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"originBoardId\":5,\"goal\":\"sprint 1 goal\"}"}},"description":"Updated sprint"},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the sprint does not exist."}},"security":[{"OAuth2":["write:sprint:jira-software"]}],"summary":"Partially update sprint","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"},"put":{"deprecated":false,"description":"Performs a full update of a sprint. A full update means that the result will be exactly the same as the request body. Any fields not present in the request JSON will be set to null.\n\nNotes:\n\n * For closed sprints, only the name and goal can be updated; changes to other fields will be ignored.\n * A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and have a startDate and endDate set.\n * A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active' state. This sets the completeDate to the time of the request.\n * Other changes to state are not allowed.\n * The completeDate field cannot be updated manually.","operationId":"updateSprint","parameters":[{"description":"the ID of the sprint to update.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"completeDate":"2015-04-20T11:11:28.008+10:00","endDate":"2015-04-16T14:01:00.000+10:00","goal":"sprint 1 goal","name":"sprint 1","startDate":"2015-04-11T15:36:00.000+10:00","state":"closed"},"schema":{"additionalProperties":false,"properties":{"completeDate":{"type":"string"},"createdDate":{"type":"string"},"endDate":{"type":"string"},"goal":{"type":"string"},"id":{"format":"int64","type":"integer"},"name":{"type":"string"},"originBoardId":{"format":"int64","type":"integer"},"self":{"format":"uri","type":"string"},"startDate":{"type":"string"},"state":{"type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":"{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"originBoardId\":5,\"goal\":\"sprint 1 goal\"}"}},"description":"Updated sprint"},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if the sprint does not exist."}},"security":[{"OAuth2":["write:sprint:jira-software"]}],"summary":"Update sprint","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/sprint/{sprintId}/issue":{"get":{"deprecated":false,"description":"Returns all issues in a sprint, for a given sprint ID. This only includes issues that the user has permission to view. By default, the returned issues are ordered by rank.","operationId":"getIssuesForSprint","parameters":[{"description":"The ID of the sprint that contains the requested issues.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.","in":"query","name":"startAt","schema":{"format":"int64","type":"integer"}},{"description":"The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.","in":"query","name":"maxResults","schema":{"format":"int32","type":"integer"}},{"description":"Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. \nNote that `username` and `userkey` can't be used as search terms for this parameter due to privacy reasons. Use `accountId` instead.","in":"query","name":"jql","schema":{"type":"string"}},{"description":"Specifies whether to validate the JQL query or not. Default: true.","in":"query","name":"validateQuery","schema":{"type":"boolean"}},{"description":"The list of fields to return for each issue. By default, all navigable and Agile fields are returned.","in":"query","name":"fields","schema":{"items":{"additionalProperties":false,"type":"object"},"type":"array"}},{"description":"A comma-separated list of the parameters to expand.","in":"query","name":"expand","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"expand\":\"\",\"fields\":{\"flagged\":true,\"sprint\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/13\",\"state\":\"future\",\"name\":\"sprint 2\",\"goal\":\"sprint 2 goal\"},\"closedSprints\":[{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/sprint/23\",\"state\":\"closed\",\"name\":\"sprint 1\",\"startDate\":\"2015-04-11T15:22:00.000+10:00\",\"endDate\":\"2015-04-20T01:22:00.000+10:00\",\"completeDate\":\"2015-04-20T11:04:00.000+10:00\",\"goal\":\"sprint 1 goal\"}],\"description\":\"example bug report\",\"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/3/projectCategory/10000\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"simplified\":false,\"style\":\"classic\"},\"comment\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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/3/issue/10010/comment/10000\",\"updateAuthor\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"identifier\":\"Administrators\",\"type\":\"role\",\"value\":\"Administrators\"}}],\"epic\":{\"id\":37,\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/epic/23\",\"name\":\"epic 1\",\"summary\":\"epic 1 summary\",\"color\":{\"key\":\"color_4\"},\"done\":true},\"worklog\":[{\"author\":{\"accountId\":\"5b10a2844c20165700ede21g\",\"active\":false,\"displayName\":\"Mia Krystof\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\"},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"id\":\"100028\",\"issueId\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/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/3/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\":\"10001\",\"key\":\"HSP-1\",\"self\":\"https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001\"}"}},"description":"Returns the requested issues, at the specified page of the results."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license."},"404":{"description":"Returned if sprint does not exist or the user cannot view it."}},"security":[{"OAuth2":["read:sprint:jira-software","read:issue-details:jira","read:jql:jira"]}],"summary":"Get issues for sprint","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"},"post":{"deprecated":false,"description":"Moves issues to a sprint, for a given sprint ID. Issues can only be moved to open or active sprints. The maximum number of issues that can be moved in one operation is 50.","operationId":"moveIssuesToSprintAndRank","parameters":[{"description":"The ID of the sprint that you want to assign issues to.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"issues":["PR-1","10001","PR-3"],"rankBeforeIssue":"PR-4","rankCustomFieldId":10521},"schema":{"additionalProperties":false,"properties":{"issues":{"items":{"type":"string"},"type":"array"},"rankAfterIssue":{"type":"string"},"rankBeforeIssue":{"type":"string"},"rankCustomFieldId":{"format":"int64","type":"integer"}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Empty response is returned if operation was successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license or does not have permission to assign issues."},"404":{"description":"Returned if the sprint does not exist or the user does not have permission to view it."}},"security":[{"OAuth2":["write:sprint:jira-software"]}],"summary":"Move issues to sprint and rank","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/sprint/{sprintId}/properties":{"get":{"deprecated":false,"description":"Returns the keys of all properties for the sprint identified by the id. The user who retrieves the property keys is required to have permissions to view the sprint.","operationId":"getPropertiesKeys","parameters":[{"description":"the ID of the sprint from which property keys will be returned.","in":"path","name":"sprintId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":"{\"keys\":[{\"key\":\"issue.support\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\"}]}"}},"description":"Returned if the sprint with given id exists."},"400":{"description":"Returned if the sprintId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"403":{"description":"Returned if the calling user does not have permission to view the sprint."},"404":{"description":"Returned if the sprint with given id does not exist."}},"security":[{"OAuth2":["read:sprint:jira-software"]},{}],"summary":"Get properties keys","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"READ"}},"/rest/agile/1.0/sprint/{sprintId}/properties/{propertyKey}":{"delete":{"deprecated":false,"description":"Removes the property from the sprint identified by the id. Ths user removing the property is required to have permissions to modify the sprint.","operationId":"deleteProperty","parameters":[{"description":"the ID of the sprint from which the property will be removed.","in":"path","name":"sprintId","required":true,"schema":{"type":"string"}},{"description":"the key of the property to remove.","in":"path","name":"propertyKey","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the sprint property was removed successfully."},"400":{"description":"Returned if the sprintId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"403":{"description":"Returned if the calling user does not have permission to modify the sprint."},"404":{"description":"Returned if the sprint with given id does not exist or if the property with given key is not found."}},"security":[{"OAuth2":["delete:sprint:jira-software"]},{}],"summary":"Delete property","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"DELETE"},"get":{"deprecated":false,"description":"Returns the value of the property with a given key from the sprint identified by the provided id. The user who retrieves the property is required to have permissions to view the sprint.","operationId":"getProperty","parameters":[{"description":"the ID of the sprint from which the property will be returned.","in":"path","name":"sprintId","required":true,"schema":{"type":"string"}},{"description":"the key of the property to return.","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\"}}"}},"description":"Returned if the sprint exists and the property was found."},"400":{"description":"Returned if the sprintId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"403":{"description":"Returned if the calling user does not have permission to view the sprint."},"404":{"description":"Returned if the sprint with a given id does not exist or if the property with given key is not found."}},"security":[{"OAuth2":["read:sprint:jira-software"]},{}],"summary":"Get property","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-connect-scope":"READ"},"put":{"deprecated":false,"description":"Sets the value of the specified sprint's property.\n\nYou can use this resource to store a custom data against the sprint identified by the id. The user who stores the data is required to have permissions to modify the sprint.","operationId":"setProperty","parameters":[{"description":"the ID of the sprint on which the property will be set.","in":"path","name":"sprintId","required":true,"schema":{"type":"string"}},{"description":"the key of the sprint's property. The maximum length of the key is 255 bytes.","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 sprint property is successfully updated."},"201":{"content":{"application/json":{"schema":{}}},"description":"Returned if the sprint property is successfully created."},"400":{"description":"Returned if the sprintId is invalid (negative or not a number)."},"401":{"description":"Returned if the calling user is not authenticated."},"403":{"description":"Returned if the calling user does not have permission to edit the sprint"},"404":{"description":"Returned if the sprint with given id does not exist."}},"security":[{"OAuth2":["write:sprint:jira-software"]},{}],"summary":"Set property","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/agile/1.0/sprint/{sprintId}/swap":{"post":{"deprecated":false,"description":"Swap the position of the sprint with the second sprint.","operationId":"swapSprint","parameters":[{"description":"The ID of the sprint to swap.","in":"path","name":"sprintId","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"sprintToSwapWith":3},"schema":{"additionalProperties":false,"properties":{"sprintToSwapWith":{"format":"int64","type":"integer"}},"type":"object"}}},"required":true},"responses":{"204":{"description":"Returned if the sprint swap was performed successfully"},"401":{"description":"Returned if the user is not logged in."},"403":{"description":"Returned if the user does not a have valid license or does not have permission to at least one sprint."},"404":{"description":"Returned if at least one sprint does not exist or user does not have permission to view to at least one sprint."}},"security":[{"OAuth2":["write:sprint:jira-software"]}],"summary":"Swap sprint","tags":["Sprint"],"x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-connect-scope":"WRITE"}},"/rest/devinfo/0.10/bulk":{"post":{"tags":["Development Information"],"summary":"Store development information","description":"Stores development information provided in the request to make it available when viewing issues in Jira. Existing repository and entity data for the same ID will be replaced if the updateSequenceId of existing data is less than the incoming data. Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times.","operationId":"storeDevelopmentInformation","parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira. If the JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool module it will be rejected with a 403. See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"title":"DevInformation","type":"object","required":["repositories"],"properties":{"repositories":{"type":"array","maxItems":100,"description":"List of repositories containing development information. Must not contain duplicates. Maximum number of entities across all repositories is 1000.","items":{"title":"Repository","type":"object","required":["id","name","updateSequenceId","url"],"properties":{"name":{"type":"string","example":"atlassian-connect-jira-example","description":"The name of this repository. Max length is 255 characters.","maxLength":255},"description":{"type":"string","example":"The repository which stores code of the Atlassian Connect Add-on Devinfo application.","description":"Description of this repository. Max length is 1024 characters.","maxLength":1024},"forkOf":{"type":"string","example":"56c7c750-cee2-48e2-b920-d7706dfd11f7","description":"The ID of the repository this repository was forked from, if it's a fork. Max length is 1024 characters.","maxLength":1024},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example","description":"The URL of this repository. Max length is 2000 characters.","maxLength":2000,"format":"url"},"commits":{"type":"array","description":"List of commits to update in this repository. Must not contain duplicate entity IDs. Maximum number of commits is 400","items":{"title":"Commit","type":"object","required":["id","issueKeys","updateSequenceId","author","authorTimestamp","displayId","fileCount","message","url"],"properties":{"id":{"type":"string","example":"a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"hash":{"type":"string","description":"Deprecated. Use the id field instead.","maxLength":255},"flags":{"type":"array","example":"[MERGE_COMMIT]","description":"The set of flags for this commit","uniqueItems":true,"items":{"type":"string","enum":["MERGE_COMMIT"]}},"message":{"type":"string","example":"README.md edited online with Bitbucket","description":"The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to 1024 characters.","maxLength":1024},"author":{"title":"Author","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.","maxLength":255},"email":{"type":"string","example":"jane_doe@atlassian.com","description":"The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.","maxLength":255},"username":{"type":"string","example":"jdoe","description":"Deprecated. The username of the user. Used to associate the user with a Jira user if there are multiple users for a given email. Max length is 255 characters.","maxLength":255},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this user. Max length is 2000 characters.","maxLength":2000},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this user. Max length is 2000 characters.","maxLength":2000}},"description":"Describes the author of a particular entity"},"fileCount":{"type":"integer","format":"int32","example":1,"description":"The total number of files added, removed, or modified by this commit","minimum":0},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/commits/a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The URL of this commit. Max length is 2000 characters.","maxLength":2000,"format":"url"},"files":{"type":"array","description":"List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path) in the UI. This UI behavior may change without notice.","maxItems":10,"items":{"title":"File","type":"object","required":["changeType","linesAdded","linesRemoved","path","url"],"properties":{"path":{"type":"string","example":"/home/user/src/atlassian-connect-jira-example/README.md","description":"The path of the file. Max length is 1024 characters.","maxLength":1024},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/a7727ee6350c33cdf90826dc21abaa26a5704370/README.md","description":"The URL of this file. Max length is 2000 characters.","maxLength":2000,"format":"url"},"changeType":{"type":"string","example":"MODIFIED","description":"The operation performed on this file","enum":["ADDED","COPIED","DELETED","MODIFIED","MOVED","UNKNOWN"]},"linesAdded":{"type":"integer","format":"int32","example":0,"description":"Number of lines added to the file","minimum":0},"linesRemoved":{"type":"integer","format":"int32","example":1,"description":"Number of lines removed from the file","minimum":0}},"description":"Describes changes to a file"}},"authorTimestamp":{"type":"string","example":"2016-10-31T23:27:25+00:00","description":"The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format."},"displayId":{"type":"string","example":"a7727ee","description":"Shortened identifier for this commit, used for display. Max length is 255 characters.","maxLength":255}},"description":"Represents a commit in the version control system."},"minItems":0,"maxItems":400},"branches":{"type":"array","description":"List of branches to update in this repository. Must not contain duplicate entity IDs. Maximum number of branches is 400.","items":{"title":"Branch","type":"object","required":["id","issueKeys","updateSequenceId","lastCommit","name","url"],"properties":{"id":{"type":"string","example":"c6c7c750-cee2-48e2-b920-d7706dfd11f9","description":"The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters.","maxLength":1024},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"name":{"type":"string","example":"master","description":"The name of the branch. Max length is 512 characters.","maxLength":512},"lastCommit":{"title":"Commit","type":"object","required":["id","issueKeys","updateSequenceId","author","authorTimestamp","displayId","fileCount","message","url"],"properties":{"id":{"type":"string","example":"a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"hash":{"type":"string","description":"Deprecated. Use the id field instead.","maxLength":255},"flags":{"type":"array","example":"[MERGE_COMMIT]","description":"The set of flags for this commit","uniqueItems":true,"items":{"type":"string","enum":["MERGE_COMMIT"]}},"message":{"type":"string","example":"README.md edited online with Bitbucket","description":"The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to 1024 characters.","maxLength":1024},"author":{"title":"Author","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.","maxLength":255},"email":{"type":"string","example":"jane_doe@atlassian.com","description":"The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.","maxLength":255},"username":{"type":"string","example":"jdoe","description":"Deprecated. The username of the user. Used to associate the user with a Jira user if there are multiple users for a given email. Max length is 255 characters.","maxLength":255},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this user. Max length is 2000 characters.","maxLength":2000},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this user. Max length is 2000 characters.","maxLength":2000}},"description":"Describes the author of a particular entity"},"fileCount":{"type":"integer","format":"int32","example":1,"description":"The total number of files added, removed, or modified by this commit","minimum":0},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/commits/a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The URL of this commit. Max length is 2000 characters.","maxLength":2000,"format":"url"},"files":{"type":"array","description":"List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path) in the UI. This UI behavior may change without notice.","maxItems":10,"items":{"title":"File","type":"object","required":["changeType","linesAdded","linesRemoved","path","url"],"properties":{"path":{"type":"string","example":"/home/user/src/atlassian-connect-jira-example/README.md","description":"The path of the file. Max length is 1024 characters.","maxLength":1024},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/a7727ee6350c33cdf90826dc21abaa26a5704370/README.md","description":"The URL of this file. Max length is 2000 characters.","maxLength":2000,"format":"url"},"changeType":{"type":"string","example":"MODIFIED","description":"The operation performed on this file","enum":["ADDED","COPIED","DELETED","MODIFIED","MOVED","UNKNOWN"]},"linesAdded":{"type":"integer","format":"int32","example":0,"description":"Number of lines added to the file","minimum":0},"linesRemoved":{"type":"integer","format":"int32","example":1,"description":"Number of lines removed from the file","minimum":0}},"description":"Describes changes to a file"}},"authorTimestamp":{"type":"string","example":"2016-10-31T23:27:25+00:00","description":"The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format."},"displayId":{"type":"string","example":"a7727ee","description":"Shortened identifier for this commit, used for display. Max length is 255 characters.","maxLength":255}},"description":"Represents a commit in the version control system."},"createPullRequestUrl":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/pull-requests/new","description":"The URL of the page for creating a pull request from this branch. Max length is 2000 characters.","maxLength":2000},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/branch/master","description":"The URL of the branch. Max length is 2000 characters.","maxLength":2000}},"description":"Represents a branch in the version control system"},"minItems":0,"maxItems":400},"pullRequests":{"type":"array","description":"List of pull requests to update in this repository. Must not contain duplicate entity IDs. Maximum number of pull requests is 400","items":{"title":"PullRequest","type":"object","required":["id","issueKeys","updateSequenceId","author","commentCount","displayId","lastUpdate","sourceBranch","status","title","url"],"properties":{"id":{"type":"string","example":"c6c7c750-cee2-48e2-b920-d7706dfd11f9","description":"The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"status":{"type":"string","example":"OPEN","description":"The status of the pull request. In the case of concurrent updates, priority is given in the order OPEN, MERGED, DECLINED, UNKNOWN","enum":["OPEN","MERGED","DECLINED","UNKNOWN"]},"title":{"type":"string","example":"Pull request 2, fixing all the issues caused by pull request #1","description":"Title of the pull request. Max length is 1024 characters.","maxLength":1024},"author":{"title":"Author","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.","maxLength":255},"email":{"type":"string","example":"jane_doe@atlassian.com","description":"The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.","maxLength":255},"username":{"type":"string","example":"jdoe","description":"Deprecated. The username of the user. Used to associate the user with a Jira user if there are multiple users for a given email. Max length is 255 characters.","maxLength":255},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this user. Max length is 2000 characters.","maxLength":2000},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this user. Max length is 2000 characters.","maxLength":2000}},"description":"Describes the author of a particular entity"},"commentCount":{"type":"integer","format":"int32","example":42,"description":"The number of comments on the pull request"},"sourceBranch":{"type":"string","example":"ISSUE-1-feature-branch","description":"The name of the source branch of this PR. Max length is 255 characters.","maxLength":255},"sourceBranchUrl":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/branch/ISSUE-1-feature-branch","description":"The url of the source branch of this PR. This is used to match this PR against the branch. Max length is 2000 characters.","maxLength":2000,"format":"url"},"lastUpdate":{"type":"string","example":"2016-10-31T23:27:25+00:00","description":"The most recent update to this PR. Formatted as a UTC ISO 8601 date time format."},"destinationBranch":{"type":"string","example":"master","description":"The name of destination branch of this PR. Max length is 255 characters.","maxLength":255},"destinationBranchUrl":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/master","description":"The url of the destination branch of this PR. Max length is 2000 characters.","maxLength":2000,"format":"url"},"reviewers":{"type":"array","description":"The list of reviewers of this pull request","items":{"title":"Reviewer","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this reviewer. Max length is 255 characters.","maxLength":255},"approvalStatus":{"type":"string","example":"APPROVED","description":"The approval status of this reviewer, default is UNAPPROVED.","enum":["APPROVED","UNAPPROVED"]},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this reviewer. Max length is 2000 characters.","maxLength":2000,"format":"url"},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this reviewer. Max length is 2000 characters.","maxLength":2000,"format":"url"},"email":{"type":"string","example":"jane_doe@example.com","description":"The email address of this reviewer. Max length is 254 characters.","maxLength":254},"accountId":{"type":"string","example":"655363:e4ca5e2d-a901-40e3-877e-bf5d22c0f130","description":"The Atlassian Account ID (AAID) of this reviewer. Max length is 128 characters.","maxLength":128}},"description":"The reviewer of a pull request"}},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/pull-requests/2","description":"The URL of this pull request. Max length is 2000 characters.","maxLength":2000,"format":"url"},"displayId":{"type":"string","example":"Pull request 2","description":"Shortened identifier for this pull request, used for display. Max length is 255 characters.","maxLength":255}},"description":"Represents a pull request"},"minItems":0,"maxItems":400},"avatar":{"type":"string","example":"http://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/avatar/32","description":"The URL of the avatar for this repository. Max length is 2000 characters.","maxLength":2000,"format":"url"},"avatarDescription":{"type":"string","example":"Avatar description","description":"Description of the avatar for this repository. Max length is 1024 characters.","maxLength":1024},"id":{"type":"string","example":"c6c7c750-cee2-48e2-b920-d7706dfd11f9","description":"The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters.","maxLength":1024},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":" An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."}},"description":"Represents a repository, containing development information such as commits, pull requests, and branches."}},"preventTransitions":{"type":"boolean","description":"Flag to prevent automatic issue transitions and smart commits being fired, default is false."},"operationType":{"type":"string","example":"NORMAL","description":"Indicates the operation being performed by the provider system when sending this data. \"NORMAL\" - Data received during normal operation (e.g. a user pushing a branch). \"BACKFILL\" - Data received while backfilling existing data (e.g. indexing a newly connected account). Default is \"NORMAL\". Please note that \"BACKFILL\" operations have a much higher rate-limiting threshold but are also processed slower in comparison to \"NORMAL\" operations.","enum":["NORMAL","BACKFILL"]},"properties":{"type":"object","description":"Arbitrary properties to tag the submitted repositories with. These properties can be used for delete operations to e.g. clean up all development information associated with an account in the event that the account is removed from the provider system. Note that these properties will never be returned with repository or entity data. They are not intended for use as metadata to associate with a repository. Maximum length of each key or value is 255 characters. Maximum allowed number of properties key/value pairs is 5. Properties keys cannot start with '_' character. Properties keys cannot contain ':' character. ","additionalProperties":{"type":"string"}},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not considered private information. Hence, it may not contain personally identifiable information.","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the development information data.","example":"Bitbucket Server 6.7.2"}}}},"description":"Request object for development information push operations, entities are grouped by repository"}}},"description":"Request object, which contains development information","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted repository and entity that is of a valid format will be eventually available in Jira.","content":{"application/json":{"schema":{"title":"StoreDevinfoResult","type":"object","properties":{"acceptedDevinfoEntities":{"type":"object","description":"The IDs of devinfo entities that have been accepted for submission grouped by their repository IDs. Note that a devinfo entity that isn't updated due to it's updateSequenceId being out of order is not considered a failed submission.","additionalProperties":{"title":"EntityIds","type":"object","properties":{"commits":{"type":"array","description":"Commits IDs","items":{"type":"string"}},"branches":{"type":"array","description":"Branch IDs","items":{"type":"string"}},"pullRequests":{"type":"array","description":"Pull request IDs","items":{"type":"string"}}},"description":"IDs of entities grouped by entity type"}},"failedDevinfoEntities":{"type":"object","description":"IDs of devinfo entities that have not been accepted for submission and caused error descriptions, usually due to a problem with the request data. The entities (if present) will be grouped by their repository id and type. Entity IDs are listed with errors associated with that devinfo entity that have prevented it being submitted. ","additionalProperties":{"title":"RepositoryErrors","type":"object","properties":{"errorMessages":{"type":"array","description":"Repository errors","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}},"commits":{"type":"array","description":"Commits errors","items":{"title":"EntityError","type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Entity id"},"errorMessages":{"type":"array","description":"Error message","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"Represents an error that happened with particular entity."}},"branches":{"type":"array","description":"Branches errors","items":{"title":"EntityError","type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Entity id"},"errorMessages":{"type":"array","description":"Error message","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"Represents an error that happened with particular entity."}},"pullRequests":{"type":"array","description":"Pull requests errors","items":{"title":"EntityError","type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Entity id"},"errorMessages":{"type":"array","description":"Error message","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"Represents an error that happened with particular entity."}}},"description":"Represents errors related to a particular repository and its entities"}},"unknownIssueKeys":{"type":"array","description":"Issue keys that are not known on this Jira instance (if any). These may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be for projects that no longer exist. If a devinfo entity has been associated with issue keys other than those in this array it will still be stored against those valid keys. ","items":{"type":"string"}}},"description":"The result of a successful store development information request"}}}},"400":{"description":"Request has incorrect format. It will fail in the following cases: If no repositories or development information entities were provided, or more than 5 properties were submitted, or there are one or more properties with leading underscore '_' symbol in their keys.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"401":{"description":"Missing a JWT token, or token is invalid."},"403":{"description":"The JWT token used does not correspond to an app that defines the jiraDevelopmentTool module, or the app does not define the 'WRITE' scope"},"413":{"description":"Data is too large. Submit fewer devinfo entities in each payload.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"429":{"description":"API rate limit has been exceeded.","headers":{"X-RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of remaining possible requests in current rate limit window."},"X-RateLimit-Reset":{"schema":{"type":"string"},"description":"The date in ISO 8601 format when the rate limit values will be next reset."},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum possible requests in a window of one minute."},"Retry-After":{"schema":{"type":"integer"},"description":"The number of seconds to wait before making a follow-up request."}}},"500":{"description":"An unknown error has occurred.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"503":{"description":"Service is unavailable due to maintenance or other reasons."}},"x-atlassian-connect-scope":"WRITE"}},"/rest/devinfo/0.10/repository/{repositoryId}":{"get":{"tags":["Development Information"],"summary":"Get repository","description":"For the specified repository ID, retrieves the repository and the most recent 400 development information entities. The result will be what is currently stored, ignoring any pending updates or deletes.","operationId":"getRepository","parameters":[{"name":"repositoryId","in":"path","description":"The ID of repository to fetch","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira. If the JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool module it will be rejected with a 403. See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The repository data currently stored for the given ID.","content":{"application/json":{"schema":{"title":"Repository","type":"object","required":["id","name","updateSequenceId","url"],"properties":{"name":{"type":"string","example":"atlassian-connect-jira-example","description":"The name of this repository. Max length is 255 characters.","maxLength":255},"description":{"type":"string","example":"The repository which stores code of the Atlassian Connect Add-on Devinfo application.","description":"Description of this repository. Max length is 1024 characters.","maxLength":1024},"forkOf":{"type":"string","example":"56c7c750-cee2-48e2-b920-d7706dfd11f7","description":"The ID of the repository this repository was forked from, if it's a fork. Max length is 1024 characters.","maxLength":1024},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example","description":"The URL of this repository. Max length is 2000 characters.","maxLength":2000,"format":"url"},"commits":{"type":"array","description":"List of commits to update in this repository. Must not contain duplicate entity IDs. Maximum number of commits is 400","items":{"title":"Commit","type":"object","required":["id","issueKeys","updateSequenceId","author","authorTimestamp","displayId","fileCount","message","url"],"properties":{"id":{"type":"string","example":"a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"hash":{"type":"string","description":"Deprecated. Use the id field instead.","maxLength":255},"flags":{"type":"array","example":"[MERGE_COMMIT]","description":"The set of flags for this commit","uniqueItems":true,"items":{"type":"string","enum":["MERGE_COMMIT"]}},"message":{"type":"string","example":"README.md edited online with Bitbucket","description":"The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to 1024 characters.","maxLength":1024},"author":{"title":"Author","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.","maxLength":255},"email":{"type":"string","example":"jane_doe@atlassian.com","description":"The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.","maxLength":255},"username":{"type":"string","example":"jdoe","description":"Deprecated. The username of the user. Used to associate the user with a Jira user if there are multiple users for a given email. Max length is 255 characters.","maxLength":255},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this user. Max length is 2000 characters.","maxLength":2000},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this user. Max length is 2000 characters.","maxLength":2000}},"description":"Describes the author of a particular entity"},"fileCount":{"type":"integer","format":"int32","example":1,"description":"The total number of files added, removed, or modified by this commit","minimum":0},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/commits/a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The URL of this commit. Max length is 2000 characters.","maxLength":2000,"format":"url"},"files":{"type":"array","description":"List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path) in the UI. This UI behavior may change without notice.","maxItems":10,"items":{"title":"File","type":"object","required":["changeType","linesAdded","linesRemoved","path","url"],"properties":{"path":{"type":"string","example":"/home/user/src/atlassian-connect-jira-example/README.md","description":"The path of the file. Max length is 1024 characters.","maxLength":1024},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/a7727ee6350c33cdf90826dc21abaa26a5704370/README.md","description":"The URL of this file. Max length is 2000 characters.","maxLength":2000,"format":"url"},"changeType":{"type":"string","example":"MODIFIED","description":"The operation performed on this file","enum":["ADDED","COPIED","DELETED","MODIFIED","MOVED","UNKNOWN"]},"linesAdded":{"type":"integer","format":"int32","example":0,"description":"Number of lines added to the file","minimum":0},"linesRemoved":{"type":"integer","format":"int32","example":1,"description":"Number of lines removed from the file","minimum":0}},"description":"Describes changes to a file"}},"authorTimestamp":{"type":"string","example":"2016-10-31T23:27:25+00:00","description":"The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format."},"displayId":{"type":"string","example":"a7727ee","description":"Shortened identifier for this commit, used for display. Max length is 255 characters.","maxLength":255}},"description":"Represents a commit in the version control system."},"minItems":0,"maxItems":400},"branches":{"type":"array","description":"List of branches to update in this repository. Must not contain duplicate entity IDs. Maximum number of branches is 400.","items":{"title":"Branch","type":"object","required":["id","issueKeys","updateSequenceId","lastCommit","name","url"],"properties":{"id":{"type":"string","example":"c6c7c750-cee2-48e2-b920-d7706dfd11f9","description":"The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters.","maxLength":1024},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"name":{"type":"string","example":"master","description":"The name of the branch. Max length is 512 characters.","maxLength":512},"lastCommit":{"title":"Commit","type":"object","required":["id","issueKeys","updateSequenceId","author","authorTimestamp","displayId","fileCount","message","url"],"properties":{"id":{"type":"string","example":"a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"hash":{"type":"string","description":"Deprecated. Use the id field instead.","maxLength":255},"flags":{"type":"array","example":"[MERGE_COMMIT]","description":"The set of flags for this commit","uniqueItems":true,"items":{"type":"string","enum":["MERGE_COMMIT"]}},"message":{"type":"string","example":"README.md edited online with Bitbucket","description":"The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to 1024 characters.","maxLength":1024},"author":{"title":"Author","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.","maxLength":255},"email":{"type":"string","example":"jane_doe@atlassian.com","description":"The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.","maxLength":255},"username":{"type":"string","example":"jdoe","description":"Deprecated. The username of the user. Used to associate the user with a Jira user if there are multiple users for a given email. Max length is 255 characters.","maxLength":255},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this user. Max length is 2000 characters.","maxLength":2000},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this user. Max length is 2000 characters.","maxLength":2000}},"description":"Describes the author of a particular entity"},"fileCount":{"type":"integer","format":"int32","example":1,"description":"The total number of files added, removed, or modified by this commit","minimum":0},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/commits/a7727ee6350c33cdf90826dc21abaa26a5704370","description":"The URL of this commit. Max length is 2000 characters.","maxLength":2000,"format":"url"},"files":{"type":"array","description":"List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path) in the UI. This UI behavior may change without notice.","maxItems":10,"items":{"title":"File","type":"object","required":["changeType","linesAdded","linesRemoved","path","url"],"properties":{"path":{"type":"string","example":"/home/user/src/atlassian-connect-jira-example/README.md","description":"The path of the file. Max length is 1024 characters.","maxLength":1024},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/a7727ee6350c33cdf90826dc21abaa26a5704370/README.md","description":"The URL of this file. Max length is 2000 characters.","maxLength":2000,"format":"url"},"changeType":{"type":"string","example":"MODIFIED","description":"The operation performed on this file","enum":["ADDED","COPIED","DELETED","MODIFIED","MOVED","UNKNOWN"]},"linesAdded":{"type":"integer","format":"int32","example":0,"description":"Number of lines added to the file","minimum":0},"linesRemoved":{"type":"integer","format":"int32","example":1,"description":"Number of lines removed from the file","minimum":0}},"description":"Describes changes to a file"}},"authorTimestamp":{"type":"string","example":"2016-10-31T23:27:25+00:00","description":"The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format."},"displayId":{"type":"string","example":"a7727ee","description":"Shortened identifier for this commit, used for display. Max length is 255 characters.","maxLength":255}},"description":"Represents a commit in the version control system."},"createPullRequestUrl":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/pull-requests/new","description":"The URL of the page for creating a pull request from this branch. Max length is 2000 characters.","maxLength":2000},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/branch/master","description":"The URL of the branch. Max length is 2000 characters.","maxLength":2000}},"description":"Represents a branch in the version control system"},"minItems":0,"maxItems":400},"pullRequests":{"type":"array","description":"List of pull requests to update in this repository. Must not contain duplicate entity IDs. Maximum number of pull requests is 400","items":{"title":"PullRequest","type":"object","required":["id","issueKeys","updateSequenceId","author","commentCount","displayId","lastUpdate","sourceBranch","status","title","url"],"properties":{"id":{"type":"string","example":"c6c7c750-cee2-48e2-b920-d7706dfd11f9","description":"The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"},"issueKeys":{"type":"array","example":"[\"ISSUE-1\",\"TEST-2\"]","description":"List of issues keys that this entity is associated with. They must be valid Jira issue keys.","minItems":1,"maxItems":500,"pattern":"^\\p{L}[\\p{L}\\p{Digit}_]{1,255}-\\p{Digit}{1,255}$","items":{"type":"string"}},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":"An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."},"status":{"type":"string","example":"OPEN","description":"The status of the pull request. In the case of concurrent updates, priority is given in the order OPEN, MERGED, DECLINED, UNKNOWN","enum":["OPEN","MERGED","DECLINED","UNKNOWN"]},"title":{"type":"string","example":"Pull request 2, fixing all the issues caused by pull request #1","description":"Title of the pull request. Max length is 1024 characters.","maxLength":1024},"author":{"title":"Author","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.","maxLength":255},"email":{"type":"string","example":"jane_doe@atlassian.com","description":"The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.","maxLength":255},"username":{"type":"string","example":"jdoe","description":"Deprecated. The username of the user. Used to associate the user with a Jira user if there are multiple users for a given email. Max length is 255 characters.","maxLength":255},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this user. Max length is 2000 characters.","maxLength":2000},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this user. Max length is 2000 characters.","maxLength":2000}},"description":"Describes the author of a particular entity"},"commentCount":{"type":"integer","format":"int32","example":42,"description":"The number of comments on the pull request"},"sourceBranch":{"type":"string","example":"ISSUE-1-feature-branch","description":"The name of the source branch of this PR. Max length is 255 characters.","maxLength":255},"sourceBranchUrl":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/branch/ISSUE-1-feature-branch","description":"The url of the source branch of this PR. This is used to match this PR against the branch. Max length is 2000 characters.","maxLength":2000,"format":"url"},"lastUpdate":{"type":"string","example":"2016-10-31T23:27:25+00:00","description":"The most recent update to this PR. Formatted as a UTC ISO 8601 date time format."},"destinationBranch":{"type":"string","example":"master","description":"The name of destination branch of this PR. Max length is 255 characters.","maxLength":255},"destinationBranchUrl":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/master","description":"The url of the destination branch of this PR. Max length is 2000 characters.","maxLength":2000,"format":"url"},"reviewers":{"type":"array","description":"The list of reviewers of this pull request","items":{"title":"Reviewer","type":"object","properties":{"name":{"type":"string","example":"Jane Doe","description":"Deprecated. The name of this reviewer. Max length is 255 characters.","maxLength":255},"approvalStatus":{"type":"string","example":"APPROVED","description":"The approval status of this reviewer, default is UNAPPROVED.","enum":["APPROVED","UNAPPROVED"]},"url":{"type":"string","example":"https://atlassian.com/account/jane_doe","description":"Deprecated. The URL of the profile for this reviewer. Max length is 2000 characters.","maxLength":2000,"format":"url"},"avatar":{"type":"string","example":"https://atlassian.com/account/jane_doe/avatar/32","description":"Deprecated. The URL of the avatar for this reviewer. Max length is 2000 characters.","maxLength":2000,"format":"url"},"email":{"type":"string","example":"jane_doe@example.com","description":"The email address of this reviewer. Max length is 254 characters.","maxLength":254},"accountId":{"type":"string","example":"655363:e4ca5e2d-a901-40e3-877e-bf5d22c0f130","description":"The Atlassian Account ID (AAID) of this reviewer. Max length is 128 characters.","maxLength":128}},"description":"The reviewer of a pull request"}},"url":{"type":"string","example":"https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/pull-requests/2","description":"The URL of this pull request. Max length is 2000 characters.","maxLength":2000,"format":"url"},"displayId":{"type":"string","example":"Pull request 2","description":"Shortened identifier for this pull request, used for display. Max length is 255 characters.","maxLength":255}},"description":"Represents a pull request"},"minItems":0,"maxItems":400},"avatar":{"type":"string","example":"http://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/avatar/32","description":"The URL of the avatar for this repository. Max length is 2000 characters.","maxLength":2000,"format":"url"},"avatarDescription":{"type":"string","example":"Avatar description","description":"Description of the avatar for this repository. Max length is 1024 characters.","maxLength":1024},"id":{"type":"string","example":"c6c7c750-cee2-48e2-b920-d7706dfd11f9","description":"The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters.","maxLength":1024},"updateSequenceId":{"type":"integer","format":"int64","example":1523494301248,"description":" An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored."}},"description":"Represents a repository, containing development information such as commits, pull requests, and branches."}}}},"401":{"description":"Missing a JWT token, or token is invalid."},"403":{"description":"The JWT token used does not correspond to an app that defines the jiraDevelopmentTool module, or the app does not define the 'READ' scope"},"404":{"description":"No data found for the given repository ID."},"429":{"description":"API rate limit has been exceeded."},"500":{"description":"An unknown error has occurred.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"503":{"description":"Service is unavailable due to maintenance or other reasons."}},"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Development Information"],"summary":"Delete repository","description":"Deletes the repository data stored by the given ID and all related development information entities. Deletion is performed asynchronously.","operationId":"deleteRepository","parameters":[{"name":"repositoryId","in":"path","description":"The ID of repository to delete","required":true,"schema":{"type":"string"}},{"name":"_updateSequenceId","in":"query","description":"An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they are issued close together. ","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira. If the JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool module it will be rejected with a 403. See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Delete request has been accepted. Data will eventually be removed from Jira if it exists."},"401":{"description":"Missing a JWT token, or token is invalid."},"403":{"description":"The JWT token used does not correspond to an app that defines the jiraDevelopmentTool module, or the app does not define the 'DELETE' scope"},"429":{"description":"API rate limit has been exceeded."},"500":{"description":"An unknown error has occurred.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"503":{"description":"Service is unavailable due to maintenance or other reasons."}},"x-atlassian-connect-scope":"DELETE"}},"/rest/devinfo/0.10/bulkByProperties":{"delete":{"tags":["Development Information"],"summary":"Delete development information by properties","description":"Deletes development information entities which have all the provided properties. Repositories which have properties that match ALL of the properties (i.e. treated as an AND), and all their related development information (such as commits, branches and pull requests), will be deleted. For example if request is `DELETE bulk?accountId=123&projectId=ABC` entities which have properties `accountId=123` and `projectId=ABC` will be deleted. Optional param `_updateSequenceId` is no longer supported. Deletion is performed asynchronously: specified entities will eventually be removed from Jira. ","operationId":"deleteByProperties","parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira. If the JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool module it will be rejected with a 403. See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.","required":true,"schema":{"type":"string"}},{"name":"_updateSequenceId","in":"query","description":"An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they are issued close together. ","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira. "},"400":{"description":"Request has incorrect format. It will fail in the following cases: If no query properties are specified. If `_updateSequenceId` is not a numeric value. If multiple values of the same property key are specified. Deleting data for many property values, for the same property key, requires multiple requests to this resource. ","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"401":{"description":"Missing a JWT token, or token is invalid."},"403":{"description":"The JWT token used does not correspond to an app that defines the jiraDevelopmentTool module, or the app does not define the 'DELETE' scope"},"429":{"description":"API rate limit has been exceeded."},"500":{"description":"An unknown error has occurred.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"503":{"description":"Service is unavailable due to maintenance or other reasons."}},"x-atlassian-connect-scope":"DELETE"}},"/rest/devinfo/0.10/existsByProperties":{"get":{"tags":["Development Information"],"summary":"Check if data exists for the supplied properties","description":"Checks if repositories which have all the provided properties exists. For example, if request is `GET existsByProperties?accountId=123&projectId=ABC` then result will be positive only if there is at least one repository with both properties `accountId=123` and `projectId=ABC`. Special property `_updateSequenceId` can be used to filter all entities with updateSequenceId less or equal than the value specified. In addition to the optional `_updateSequenceId`, one or more query params must be supplied to specify properties to search by. ","operationId":"existsByProperties","parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira. If the JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool module it will be rejected with a 403. See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.","required":true,"schema":{"type":"string"}},{"name":"_updateSequenceId","in":"query","description":"An optional property. Filters out entities and repositories which have updateSequenceId greater than specified. ","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returns whether data exists for the specified properties. ","content":{"application/json":{"schema":{"title":"ExistsForPropertiesResponse","type":"object","properties":{"hasDataMatchingProperties":{"type":"boolean","description":"Whether there is data matching the query","readOnly":true}},"description":"Whether there is data for the properties supplied in a query"}}}},"400":{"description":"Request has incorrect format. It will fail in the following cases: If no query properties are specified. If `_updateSequenceId` is not a numeric value. If multiple values of the same property key are specified. ","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"401":{"description":"Missing a JWT token, or token is invalid."},"403":{"description":"The JWT token used does not correspond to an app that defines the jiraDevelopmentTool module, or the app does not define the 'READ' scope"},"429":{"description":"API rate limit has been exceeded."},"500":{"description":"An unknown error has occurred.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"503":{"description":"Service is unavailable due to maintenance or other reasons."}},"x-atlassian-connect-scope":"READ"}},"/rest/devinfo/0.10/repository/{repositoryId}/{entityType}/{entityId}":{"delete":{"tags":["Development Information"],"summary":"Delete development information entity","description":"Deletes particular development information entity. Deletion is performed asynchronously.","operationId":"deleteEntity","parameters":[{"name":"repositoryId","in":"path","required":true,"schema":{"type":"string"}},{"name":"entityType","in":"path","required":true,"schema":{"type":"string","enum":["commit","branch","pull_request"]}},{"name":"entityId","in":"path","required":true,"schema":{"type":"string"}},{"name":"_updateSequenceId","in":"query","description":"An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they are issued close together. ","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira. If the JWT token corresponds to a Connect app that does not define the jiraDevelopmentTool module it will be rejected with a 403. See https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens. See https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Delete request has been accepted. Data will eventually be removed from Jira if it exists."},"400":{"description":"Wrong entity type specified","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"401":{"description":"Missing a JWT token, or token is invalid."},"403":{"description":"The JWT token used does not correspond to an app that defines the jiraDevelopmentTool module, or the app does not define the 'DELETE' scope"},"429":{"description":"API rate limit has been exceeded."},"500":{"description":"An unknown error has occurred.","content":{"application/json":{"schema":{"title":"ErrorMessages","type":"object","required":["errorMessages"],"properties":{"errorMessages":{"type":"array","description":"List of errors occurred.","items":{"title":"ErrorMessage","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}},"description":"A message supplied in the case of an error."}}},"description":"A response returned in the case of an error."}}}},"503":{"description":"Service is unavailable due to maintenance or other reasons."}},"x-atlassian-connect-scope":"DELETE"}},"/rest/featureflags/0.1/bulk":{"post":{"operationId":"submitFeatureFlags","summary":"Submit Feature Flag data","tags":["Feature Flags"],"description":"Update / insert Feature Flag data.\n\nFeature Flags are identified by their ID, and existing Feature Flag data for the same ID will be replaced if it exists and the updateSequenceId of existing data is less than the incoming data.\n\nSubmissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The getFeatureFlagById operation can be used to confirm that data has been stored successfully (if needed).\n\nIn the case of multiple Feature Flags being submitted in one request, each is validated individually prior to submission. Details of which Feature Flags failed submission (if any) are available in the response object.\n\nOnly Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitFeatureFlagRequest","description":"The payload used to submit (update / insert) Feature Flag data.","required":["flags"],"properties":{"properties":{"title":"Properties","description":"Properties assigned to Feature Flag data that can then be used for delete / query operations.\n\nExamples might be an account or user ID that can then be used to clean up data if an account is removed from the Provider system.\n\nNote that these properties will never be returned with Feature Flag data. They are not intended for use as metadata to associate with a Feature Flag. Internally they are stored as a hash so that personal information etc. is never stored within Jira.\n\nProperties are supplied as key/value pairs, a maximum of 5 properties can be supplied, and keys must not contain ':' or start with '_'.\n","type":"object","additionalProperties":{"type":"string","maxLength":255},"maxProperties":5,"example":{"accountId":"account-234","projectId":"project-123"}},"flags":{"description":"A list of Feature Flags to submit to Jira.\n\nEach Feature Flag may be associated with 1 or more Jira issue keys, and will be associated with any properties included in this request.\n","type":"array","items":{"title":"FeatureFlagData","description":"Data related to a single Feature Flag, across any Environment that the flag is present in.\n","required":["id","key","issueKeys","summary","details","updateSequenceId"],"properties":{"schemaVersion":{"description":"The FeatureFlagData schema version used for this flag data. \n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Feature Flag. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"key":{"description":"The identifier that users would use to reference the Feature Flag in their source code etc.\n\nWill be made available via the UI for users to copy into their source code etc.\n","type":"string","maxLength":255,"example":"my-awesome-feature"},"updateSequenceId":{"description":"An ID used to apply an ordering to updates for this Feature Flag in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Feature Flag and increment that on each update to Jira).\n\nUpdates for a Feature Flag that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"displayName":{"description":"The human-readable name for the Feature Flag. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"Enable awesome feature"},"issueKeys":{"description":"The Jira issue keys to associate the Feature Flag information with.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ISSUE-123"},"minItems":1,"maxItems":100},"summary":{"title":"FeatureFlagSummary","description":"Summary information for a single Feature Flag.\n\nProviders may elect to provide information from a specific environment, or they may choose to 'roll up' information from across multiple environments - whatever makes most sense in the Provider system.\n\nThis is the summary information that will be presented to the user on e.g. the Jira issue screen.\n","required":["status","lastUpdated"],"properties":{"url":{"description":"A URL users can use to link to a summary view of this flag, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific environment, it might make sense to link the user to the flag in that environment).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/feature-123/summary"},"status":{"title":"FeatureFlagStatus","description":"Status information about a single Feature Flag.\n","required":["enabled"],"properties":{"enabled":{"description":"Whether the Feature Flag is enabled in the given environment (or in summary).\n\nEnabled may imply a partial rollout, which can be described using the 'rollout' field.\n","type":"boolean"},"defaultValue":{"description":"The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as appropriate.\n\nThis value may be presented to the user in the UI.\n","type":"string","maxLength":255,"example":"Disabled"},"rollout":{"title":"FeatureFlagRollout","description":"Information about the rollout of a Feature Flag in an environment (or in summary).\n\nOnly one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple are present.\n\nThis information may be presented to the user in the UI.\n","properties":{"percentage":{"description":"If the Feature Flag rollout is a simple percentage rollout\n","type":"number","minimum":0,"maximum":100},"text":{"description":"A text status to display that represents the rollout. This could be e.g. a named cohort.\n","type":"string","maxLength":255},"rules":{"description":"A count of the number of rules active for this Feature Flag in an environment.\n","type":"integer","minimum":0}},"example":{"percentage":80}}}},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of the state of the Feature Flag.\n\nProviders may choose to supply the last-updated timestamp from a specific environment, or the 'most recent' last-updated timestamp across all environments - whatever makes sense in the Provider system.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"}}},"details":{"description":"Detail information for this Feature Flag.\n\nThis may be information for each environment the Feature Flag is defined in or a selection of environments made by the user, as appropriate.\n","type":"array","items":{"title":"FeatureFlagDetails","description":"Details of a Feature Flag for a single environment.","required":["url","lastUpdated","environment","status"],"properties":{"url":{"description":"A URL users can use to link to this Feature Flag, in this environment.\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/feature-123/production"},"lastUpdated":{"description":"The last-updated timestamp for this Feature Flag, in this environment.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"environment":{"title":"EnvironmentDetails","description":"Details of a single environment.\n\nAt the simplest this must be the name of the environment.\n\nIdeally there is also type information which may be used to group data from multiple Feature Flags and other entities for visualisation in the UI.\n","required":["name"],"properties":{"name":{"description":"The name of the environment.","type":"string","maxLength":255},"type":{"description":"The 'type' or 'category' of environment this environment belongs to.","type":"string","enum":["development","testing","staging","production"]}},"example":{"name":"prod-us-west","type":"production"}},"status":{"title":"FeatureFlagStatus","description":"Status information about a single Feature Flag.\n","required":["enabled"],"properties":{"enabled":{"description":"Whether the Feature Flag is enabled in the given environment (or in summary).\n\nEnabled may imply a partial rollout, which can be described using the 'rollout' field.\n","type":"boolean"},"defaultValue":{"description":"The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as appropriate.\n\nThis value may be presented to the user in the UI.\n","type":"string","maxLength":255,"example":"Disabled"},"rollout":{"title":"FeatureFlagRollout","description":"Information about the rollout of a Feature Flag in an environment (or in summary).\n\nOnly one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple are present.\n\nThis information may be presented to the user in the UI.\n","properties":{"percentage":{"description":"If the Feature Flag rollout is a simple percentage rollout\n","type":"number","minimum":0,"maximum":100},"text":{"description":"A text status to display that represents the rollout. This could be e.g. a named cohort.\n","type":"string","maxLength":255},"rules":{"description":"A count of the number of rules active for this Feature Flag in an environment.\n","type":"integer","minimum":0}},"example":{"percentage":80}}}}}},"minItems":1}}},"minItems":1,"maxItems":100},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging,\nand other internal uses. It is not considered private information. Hence, it may not contain personally\nidentifiable information.\n","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the feature flags.","example":"Atlassian Release Platform 2.1.0"}}}}}}},"description":"Feature Flag data to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted Feature Flag that is of a valid format will be eventually available in Jira.\n\nDetails of which Feature Flags were submitted and which failed submission (due to data format problems etc.) are available in the response object.\n","content":{"application/json":{"schema":{"title":"SubmitFeatureFlagsResponse","description":"The result of a successful submitFeatureFlags request.\n","properties":{"acceptedFeatureFlags":{"description":"The IDs of Feature Flags that have been accepted for submission.\n\nA Feature Flag may be rejected if it was only associated with unknown issue keys.\n\nNote that a Feature Flag that isn't updated due to it's updateSequenceId being out of order is not considered a failed submission.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"]},"failedFeatureFlags":{"description":"Details of Feature Flags that have not been accepted for submission, usually due to a problem with the request data.\n\nThe object (if present) will be keyed by Feature Flag ID and include any errors associated with that Feature Flag that have prevented it being submitted.\n","type":"object","additionalProperties":{"type":"array","items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}},"unknownIssueKeys":{"description":"Issue keys that are not known on this Jira instance (if any). \n\nThese may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be for projects that no longer exist.\n\nIf a Feature Flag has been associated with issue keys other than those in this array it will still be stored against those valid keys.\nIf a Feature Flag was only associated with issue keys deemed to be invalid it won't be persisted.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ISSUE-123"}}}}}}},"400":{"description":"Request has incorrect format.\n\nNote that in the case of an individual Feature Flag having an invalid format (rather than the request as a whole) the response for the request will be a 202 and details of the invalid Feature Flag will be contained in the response object.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Feature Flags module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Data is too large. Submit fewer Feature Flags in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Feature Flags module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/featureflags/0.1/bulkByProperties":{"delete":{"operationId":"deleteFeatureFlagsByProperty","summary":"Delete Feature Flags by Property","tags":["Feature Flags"],"description":"Bulk delete all Feature Flags that match the given request.\n\nOne or more query params must be supplied to specify Properties to delete by. Optional param `_updateSequenceId` is no longer supported.\nIf more than one Property is provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND).\nSee the documentation for the submitFeatureFlags operation for more details.\n\ne.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456\n\nDeletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"_updateSequenceId","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `_updateSequenceId` to use to control deletion.\n\nOnly stored data with an `updateSequenceId` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n\nIf not provided, all stored data that matches the request will be deleted.\n","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format (e.g. missing at least one Property param).\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Feature Flags module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Feature Flags module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/featureflags/0.1/flag/{featureFlagId}":{"get":{"operationId":"getFeatureFlagById","summary":"Get a Feature Flag by ID","tags":["Feature Flags"],"description":"Retrieve the currently stored Feature Flag data for the given ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"featureFlagId","in":"path","description":"The ID of the Feature Flag to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"200":{"description":"The Feature Flag data currently stored for the given ID.\n","content":{"application/json":{"schema":{"title":"FeatureFlagData","description":"Data related to a single Feature Flag, across any Environment that the flag is present in.\n","required":["id","key","issueKeys","summary","details","updateSequenceId"],"properties":{"schemaVersion":{"description":"The FeatureFlagData schema version used for this flag data. \n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Feature Flag. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"key":{"description":"The identifier that users would use to reference the Feature Flag in their source code etc.\n\nWill be made available via the UI for users to copy into their source code etc.\n","type":"string","maxLength":255,"example":"my-awesome-feature"},"updateSequenceId":{"description":"An ID used to apply an ordering to updates for this Feature Flag in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Feature Flag and increment that on each update to Jira).\n\nUpdates for a Feature Flag that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"displayName":{"description":"The human-readable name for the Feature Flag. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"Enable awesome feature"},"issueKeys":{"description":"The Jira issue keys to associate the Feature Flag information with.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ISSUE-123"},"minItems":1,"maxItems":100},"summary":{"title":"FeatureFlagSummary","description":"Summary information for a single Feature Flag.\n\nProviders may elect to provide information from a specific environment, or they may choose to 'roll up' information from across multiple environments - whatever makes most sense in the Provider system.\n\nThis is the summary information that will be presented to the user on e.g. the Jira issue screen.\n","required":["status","lastUpdated"],"properties":{"url":{"description":"A URL users can use to link to a summary view of this flag, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific environment, it might make sense to link the user to the flag in that environment).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/feature-123/summary"},"status":{"title":"FeatureFlagStatus","description":"Status information about a single Feature Flag.\n","required":["enabled"],"properties":{"enabled":{"description":"Whether the Feature Flag is enabled in the given environment (or in summary).\n\nEnabled may imply a partial rollout, which can be described using the 'rollout' field.\n","type":"boolean"},"defaultValue":{"description":"The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as appropriate.\n\nThis value may be presented to the user in the UI.\n","type":"string","maxLength":255,"example":"Disabled"},"rollout":{"title":"FeatureFlagRollout","description":"Information about the rollout of a Feature Flag in an environment (or in summary).\n\nOnly one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple are present.\n\nThis information may be presented to the user in the UI.\n","properties":{"percentage":{"description":"If the Feature Flag rollout is a simple percentage rollout\n","type":"number","minimum":0,"maximum":100},"text":{"description":"A text status to display that represents the rollout. This could be e.g. a named cohort.\n","type":"string","maxLength":255},"rules":{"description":"A count of the number of rules active for this Feature Flag in an environment.\n","type":"integer","minimum":0}},"example":{"percentage":80}}}},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of the state of the Feature Flag.\n\nProviders may choose to supply the last-updated timestamp from a specific environment, or the 'most recent' last-updated timestamp across all environments - whatever makes sense in the Provider system.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"}}},"details":{"description":"Detail information for this Feature Flag.\n\nThis may be information for each environment the Feature Flag is defined in or a selection of environments made by the user, as appropriate.\n","type":"array","items":{"title":"FeatureFlagDetails","description":"Details of a Feature Flag for a single environment.","required":["url","lastUpdated","environment","status"],"properties":{"url":{"description":"A URL users can use to link to this Feature Flag, in this environment.\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/feature-123/production"},"lastUpdated":{"description":"The last-updated timestamp for this Feature Flag, in this environment.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"environment":{"title":"EnvironmentDetails","description":"Details of a single environment.\n\nAt the simplest this must be the name of the environment.\n\nIdeally there is also type information which may be used to group data from multiple Feature Flags and other entities for visualisation in the UI.\n","required":["name"],"properties":{"name":{"description":"The name of the environment.","type":"string","maxLength":255},"type":{"description":"The 'type' or 'category' of environment this environment belongs to.","type":"string","enum":["development","testing","staging","production"]}},"example":{"name":"prod-us-west","type":"production"}},"status":{"title":"FeatureFlagStatus","description":"Status information about a single Feature Flag.\n","required":["enabled"],"properties":{"enabled":{"description":"Whether the Feature Flag is enabled in the given environment (or in summary).\n\nEnabled may imply a partial rollout, which can be described using the 'rollout' field.\n","type":"boolean"},"defaultValue":{"description":"The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as appropriate.\n\nThis value may be presented to the user in the UI.\n","type":"string","maxLength":255,"example":"Disabled"},"rollout":{"title":"FeatureFlagRollout","description":"Information about the rollout of a Feature Flag in an environment (or in summary).\n\nOnly one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple are present.\n\nThis information may be presented to the user in the UI.\n","properties":{"percentage":{"description":"If the Feature Flag rollout is a simple percentage rollout\n","type":"number","minimum":0,"maximum":100},"text":{"description":"A text status to display that represents the rollout. This could be e.g. a named cohort.\n","type":"string","maxLength":255},"rules":{"description":"A count of the number of rules active for this Feature Flag in an environment.\n","type":"integer","minimum":0}},"example":{"percentage":80}}}}}},"minItems":1}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Feature Flags module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given Feature Flag ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteFeatureFlagById","summary":"Delete a Feature Flag by ID","tags":["Feature Flags"],"description":"Delete the Feature Flag data currently stored for the given ID.\n\nDeletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"featureFlagId","in":"path","description":"The ID of the Feature Flag to delete.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"_updateSequenceId","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `_updateSequenceId` to use to control deletion.\n\nOnly stored data with an `updateSequenceId` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete has been accepted. Data will eventually be removed from Jira if it exists.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Feature Flags module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Feature Flags module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/deployments/0.1/bulk":{"post":{"operationId":"submitDeployments","summary":"Submit deployment data","tags":["Deployments"],"description":"Update / insert deployment data.\n\nDeployments are identified by the combination of `pipelineId`, `environmentId` and `deploymentSequenceNumber`, and existing deployment data for the same deployment will be replaced if it exists and the `updateSequenceNumber` of existing data is less than the incoming data.\n\nSubmissions are processed asynchronously. Submitted data will eventually be available in Jira. Most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The `getDeploymentByKey` operation can be used to confirm that data has been stored successfully (if needed).\n\nIn the case of multiple deployments being submitted in one request, each is validated individually prior to submission. Details of which deployments failed submission (if any) are available in the response object.\n\nOnly Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitDeploymentRequest","description":"The payload used to submit (update / insert) deployment data.","required":["deployments"],"properties":{"properties":{"title":"Properties","description":"Properties assigned to deployment data that can then be used for delete / query operations.\n\nExamples might be an account or user ID that can then be used to clean up data if an account is removed from the Provider system.\n\nProperties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':' or start with '_'.\n","type":"object","additionalProperties":{"type":"string","maxLength":255},"maxProperties":5,"example":{"accountId":"account-234","projectId":"project-123"}},"deployments":{"description":"A list of deployments to submit to Jira.\n\nEach deployment may be associated with one or more Jira issue keys, and will be associated with any properties included in this request.\n","type":"array","items":{"title":"DeploymentData","description":"Data related to a specific deployment in a specific environment that the deployment is present in.\nMust specify one of `issueKeys` or `associations`.\n","required":["deploymentSequenceNumber","updateSequenceNumber","displayName","url","description","lastUpdated","state","pipeline","environment"],"properties":{"deploymentSequenceNumber":{"description":"This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It must be a monotonically increasing number, as this is used to sequence the deployments.\n","type":"integer","format":"int64","example":100},"updateSequenceNumber":{"description":"A number used to apply an order to the updates to the deployment, as identified by the deploymentSequenceNumber, in the case of out-of-order receipt of update requests. It must be a monotonically increasing number. For example, epoch time could be one way to generate the updateSequenceNumber.\n","type":"integer","format":"int64","example":1},"issueKeys":{"deprecated":true,"description":"Deprecated. The Jira issue keys to associate the Deployment information with.\nShould replace this field with the \"associations\" field to associate Deployment information with issueKeys or other types of associations.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ABC-123"},"minItems":1,"maxItems":100},"associations":{"description":"The entities to associate the Deployment information with.\nIt must contain at least one of IssueIdOrKeysAssociation or ServiceIdOrKeysAssociation.\n","type":"array","items":{"oneOf":[{"description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys","issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"An issue key or ID that references an issue in Jira.\n","type":"string","pattern":"(\\w{1,255}-\\d{1,255}|\\d{1,255})","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["ABC-123","ABC-456"]}},{"description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}}],"anyOf":[{"description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys","issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"An issue key or ID that references an issue in Jira.\n","type":"string","pattern":"(\\w{1,255}-\\d{1,255}|\\d{1,255})","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["ABC-123","ABC-456"]}},{"description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}},{"description":"An association type referencing another DevOps entity. Initially only commit entities are supported for this type of association.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type. Currently supported entities can be found in this field's value enums list.\n","type":"string","maxLength":255,"enum":["commit"]},"values":{"description":"The entity keys that represent the entities to be associated.\nThe number of values counted across all associationTypes (issueKeys, issueIdOrKeys, serviceIdOrKeys, supported ATIs and entity associations) must not exceed a limit of 500.\n","type":"array","items":{"anyOf":[{"description":"Identifies an individual commit in a repository.\n","type":"object","required":["commitHash","repositoryId"],"properties":{"commitHash":{"description":"The hash for the Commit.\n","type":"string","maxLength":255,"example":"b00152456cf4"},"repositoryId":{"description":"The ID of the Repository that the Commit belongs to.\n","type":"string","maxLength":255,"example":"de7fbebffabe"}}}]},"minItems":1,"maxItems":500}}}]},"minItems":1,"maxItems":3},"displayName":{"description":"The human-readable name for the deployment. Will be shown in the UI.\n","type":"string","maxLength":255,"example":"Deployment number 16 of Data Depot"},"url":{"description":"A URL users can use to link to this deployment, in this environment.\n","type":"string","format":"uri","maxLength":2000,"example":"http://mydeployer.com/project1/1111-222-333/prod-east"},"description":{"description":"A short description of the deployment\n","type":"string","maxLength":255,"example":"The bits are being transferred"},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of the state of the deployment.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"label":{"description":"An (optional) additional label that may be displayed with deployment information. Can be used to display version information etc. for the deployment.\n","type":"string","maxLength":255,"example":"Release 2018-01-20_08-47-bc2421a"},"state":{"description":"The state of the deployment\n","type":"string","enum":["unknown","pending","in_progress","cancelled","failed","rolled_back","successful"],"example":"in_progress"},"pipeline":{"title":"Pipeline","description":"This object models the Continuous Delivery (CD) Pipeline concept, an automated process (usually comprised of multiple stages)\n\nfor getting software from version control right through to the production environment.\n","required":["id","displayName","url"],"properties":{"id":{"description":"The identifier of this pipeline, must be unique for the provider.\n","type":"string","maxLength":255,"example":"e9c906a7-451f-4fa6-ae1a-c389e2e2d87c"},"displayName":{"description":"The name of the pipeline to present to the user.\n","type":"string","maxLength":255,"example":"Data Depot Deployment"},"url":{"description":"A URL users can use to link to this deployment pipeline.\n","type":"string","format":"uri","maxLength":2000,"example":"http://mydeployer.com/project1"}}},"environment":{"title":"Environment","description":"The environment that the deployment is present in.\n","required":["id","displayName","type"],"properties":{"id":{"description":"The identifier of this environment, must be unique for the provider so that it can be shared across pipelines.\n","type":"string","maxLength":255,"example":"8ec94d72-a4fc-4ac0-b31d-c5a595f373ba"},"displayName":{"description":"The name of the environment to present to the user.\n","type":"string","maxLength":255,"example":"US East"},"type":{"description":"The type of the environment.\n","type":"string","enum":["unmapped","development","testing","staging","production"],"example":"production"}}},"commands":{"title":"Commands","description":"A list of commands to be actioned for this Deployment\n","type":"array","items":{"title":"Command","description":"A command to be actioned for this Deployment\n- command\n","properties":{"command":{"description":"The command name.\n","type":"string","example":"initiate_deployment_gating"}}}},"schemaVersion":{"description":"The DeploymentData schema version used for this deployment data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"}}},"minItems":1,"maxItems":100},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging,\nand other internal uses. It is not considered private information. Hence, it may not contain personally\nidentifiable information.\n","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the deployments data.","example":"Bamboo 6.10.2"}}}}}}},"description":"Deployment data to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted deployment that is of a valid format will eventually be available in Jira.\n\nDetails of which deployments were submitted and which failed submission (due to data format problems etc.) are available in the response object.\n","content":{"application/json":{"schema":{"title":"SubmitDeploymentsResponse","description":"The result of a successful submitDeployments request.\n","properties":{"acceptedDeployments":{"description":"The keys of deployments that have been accepted for submission. A deployment key is a composite key that consists of `pipelineId`, `environmentId` and `deploymentSequenceNumber`.\n\nA deployment may be rejected if it was only associated with unknown issue keys.\n\nNote that a deployment that isn't updated due to it's updateSequenceNumber being out of order is not considered a failed submission.\n","type":"array","items":{"title":"DeploymentKey","description":"Fields that uniquely reference a deployment.\n","required":["pipelineId","environmentId","deploymentSequenceNumber"],"properties":{"pipelineId":{"description":"The identifier of a pipeline, must be unique for the provider.\n","type":"string","maxLength":255,"example":"e9c906a7-451f-4fa6-ae1a-c389e2e2d87c"},"environmentId":{"description":"The identifier of an environment, must be unique for the provider so that it can be shared across pipelines.\n","type":"string","maxLength":255,"example":"8ec94d72-a4fc-4ac0-b31d-c5a595f373ba"},"deploymentSequenceNumber":{"description":"This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It must be a monotonically increasing number, as this is used to sequence the deployments.\n","type":"integer","format":"int64","example":100}}}},"rejectedDeployments":{"description":"Details of deployments that have not been accepted for submission, usually due to a problem with the request data.\n\nThe object will contain the deployment key and any errors associated with that deployment that have prevented it being submitted.\n","type":"array","items":{"title":"RejectedDeployment","description":"A deployment that has not been accepted for submission, usually due to a problem with the request data.\n\nThe object is comprised of the key of the rejected deployment and the corresponding error messages.\n","required":["key","errors"],"properties":{"key":{"title":"DeploymentKey","description":"Fields that uniquely reference a deployment.\n","required":["pipelineId","environmentId","deploymentSequenceNumber"],"properties":{"pipelineId":{"description":"The identifier of a pipeline, must be unique for the provider.\n","type":"string","maxLength":255,"example":"e9c906a7-451f-4fa6-ae1a-c389e2e2d87c"},"environmentId":{"description":"The identifier of an environment, must be unique for the provider so that it can be shared across pipelines.\n","type":"string","maxLength":255,"example":"8ec94d72-a4fc-4ac0-b31d-c5a595f373ba"},"deploymentSequenceNumber":{"description":"This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It must be a monotonically increasing number, as this is used to sequence the deployments.\n","type":"integer","format":"int64","example":100}}},"errors":{"description":"The error messages for the rejected deployment","type":"array","items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"unknownIssueKeys":{"description":"Issue keys that are not known on this Jira instance (if any).\n\nThese may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be for projects that no longer exist.\n\nIf a deployment has been associated with issue keys other than those in this array it will still be stored against those valid keys.\nIf a deployment was only associated with issue keys deemed to be invalid it won't be persisted.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ABC-123"}},"unknownAssociations":{"description":"Associations (e.g. Issue Keys or Service IDs) that are not known on this Jira instance (if any).\n\nThese may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be for projects that no longer exist.\n\nIf a deployment has been associated with any other association other than those in this array it will still be stored against those valid associations.\nIf a deployment was only associated with the associations in this array, it is deemed to be invalid and it won't be persisted.\n","type":"array","items":{"anyOf":[{"description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys","issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"An issue key or ID that references an issue in Jira.\n","type":"string","pattern":"(\\w{1,255}-\\d{1,255}|\\d{1,255})","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["ABC-123","ABC-456"]}},{"description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}},{"description":"An association type referencing another DevOps entity. Initially only commit entities are supported for this type of association.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type. Currently supported entities can be found in this field's value enums list.\n","type":"string","maxLength":255,"enum":["commit"]},"values":{"description":"The entity keys that represent the entities to be associated.\nThe number of values counted across all associationTypes (issueKeys, issueIdOrKeys, serviceIdOrKeys, supported ATIs and entity associations) must not exceed a limit of 500.\n","type":"array","items":{"anyOf":[{"description":"Identifies an individual commit in a repository.\n","type":"object","required":["commitHash","repositoryId"],"properties":{"commitHash":{"description":"The hash for the Commit.\n","type":"string","maxLength":255,"example":"b00152456cf4"},"repositoryId":{"description":"The ID of the Repository that the Commit belongs to.\n","type":"string","maxLength":255,"example":"de7fbebffabe"}}}]},"minItems":1,"maxItems":500}}}]}}}}}}},"400":{"description":"Request has incorrect format.\n\nNote that in the case of an individual deployment having an invalid format (rather than the request as a whole) the response for the request will be a 202 and details of the invalid deployment will be contained in the response object.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraDeploymentInfoProvider` module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Data is too large. Submit fewer deployments in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraDeploymentInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/deployments/0.1/bulkByProperties":{"delete":{"operationId":"deleteDeploymentsByProperty","summary":"Delete deployments by Property","tags":["Deployments"],"description":"Bulk delete all deployments that match the given request.\n\nOne or more query params must be supplied to specify the Properties to delete by. Optional param `_updateSequenceNumber` is no longer supported.\nIf more than one Property is provided, data will be deleted that matches ALL of the Properties (i.e. treated as AND).\nSee the documentation for the `submitDeployments` operation for more details.\n\nExample operation: DELETE /bulkByProperties?accountId=account-123&createdBy=user-456\n\nDeletion is performed asynchronously. The `getDeploymentByKey` operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"_updateSequenceNumber","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `updateSequenceNumber` to use to control deletion.\n\nOnly stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n\nIf not provided, all stored data that matches the request will be deleted.\n","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format (e.g. missing at least one Property param).\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraDeploymentInfoProvider` module,\nor the app does not define the 'DELETE' scope for Connect apps.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraDeploymentInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/deployments/0.1/pipelines/{pipelineId}/environments/{environmentId}/deployments/{deploymentSequenceNumber}":{"get":{"operationId":"getDeploymentByKey","summary":"Get a deployment by key","tags":["Deployments"],"description":"Retrieve the currently stored deployment data for the given `pipelineId`, `environmentId` and `deploymentSequenceNumber` combination.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"pipelineId","in":"path","description":"The ID of the deployment's pipeline.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"environmentId","in":"path","description":"The ID of the deployment's environment.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"deploymentSequenceNumber","in":"path","description":"The deployment's deploymentSequenceNumber.\n","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"The deployment data currently stored for the given ID.\n","content":{"application/json":{"schema":{"title":"DeploymentData","description":"Data related to a specific deployment in a specific environment that the deployment is present in.\nMust specify one of `issueKeys` or `associations`.\n","required":["deploymentSequenceNumber","updateSequenceNumber","displayName","url","description","lastUpdated","state","pipeline","environment"],"properties":{"deploymentSequenceNumber":{"description":"This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It must be a monotonically increasing number, as this is used to sequence the deployments.\n","type":"integer","format":"int64","example":100},"updateSequenceNumber":{"description":"A number used to apply an order to the updates to the deployment, as identified by the deploymentSequenceNumber, in the case of out-of-order receipt of update requests. It must be a monotonically increasing number. For example, epoch time could be one way to generate the updateSequenceNumber.\n","type":"integer","format":"int64","example":1},"issueKeys":{"deprecated":true,"description":"Deprecated. The Jira issue keys to associate the Deployment information with.\nShould replace this field with the \"associations\" field to associate Deployment information with issueKeys or other types of associations.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ABC-123"},"minItems":1,"maxItems":100},"associations":{"description":"The entities to associate the Deployment information with.\nIt must contain at least one of IssueIdOrKeysAssociation or ServiceIdOrKeysAssociation.\n","type":"array","items":{"oneOf":[{"description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys","issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"An issue key or ID that references an issue in Jira.\n","type":"string","pattern":"(\\w{1,255}-\\d{1,255}|\\d{1,255})","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["ABC-123","ABC-456"]}},{"description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}}],"anyOf":[{"description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys","issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"An issue key or ID that references an issue in Jira.\n","type":"string","pattern":"(\\w{1,255}-\\d{1,255}|\\d{1,255})","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["ABC-123","ABC-456"]}},{"description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Deployment information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}},{"description":"An association type referencing another DevOps entity. Initially only commit entities are supported for this type of association.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type. Currently supported entities can be found in this field's value enums list.\n","type":"string","maxLength":255,"enum":["commit"]},"values":{"description":"The entity keys that represent the entities to be associated.\nThe number of values counted across all associationTypes (issueKeys, issueIdOrKeys, serviceIdOrKeys, supported ATIs and entity associations) must not exceed a limit of 500.\n","type":"array","items":{"anyOf":[{"description":"Identifies an individual commit in a repository.\n","type":"object","required":["commitHash","repositoryId"],"properties":{"commitHash":{"description":"The hash for the Commit.\n","type":"string","maxLength":255,"example":"b00152456cf4"},"repositoryId":{"description":"The ID of the Repository that the Commit belongs to.\n","type":"string","maxLength":255,"example":"de7fbebffabe"}}}]},"minItems":1,"maxItems":500}}}]},"minItems":1,"maxItems":3},"displayName":{"description":"The human-readable name for the deployment. Will be shown in the UI.\n","type":"string","maxLength":255,"example":"Deployment number 16 of Data Depot"},"url":{"description":"A URL users can use to link to this deployment, in this environment.\n","type":"string","format":"uri","maxLength":2000,"example":"http://mydeployer.com/project1/1111-222-333/prod-east"},"description":{"description":"A short description of the deployment\n","type":"string","maxLength":255,"example":"The bits are being transferred"},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of the state of the deployment.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"label":{"description":"An (optional) additional label that may be displayed with deployment information. Can be used to display version information etc. for the deployment.\n","type":"string","maxLength":255,"example":"Release 2018-01-20_08-47-bc2421a"},"state":{"description":"The state of the deployment\n","type":"string","enum":["unknown","pending","in_progress","cancelled","failed","rolled_back","successful"],"example":"in_progress"},"pipeline":{"title":"Pipeline","description":"This object models the Continuous Delivery (CD) Pipeline concept, an automated process (usually comprised of multiple stages)\n\nfor getting software from version control right through to the production environment.\n","required":["id","displayName","url"],"properties":{"id":{"description":"The identifier of this pipeline, must be unique for the provider.\n","type":"string","maxLength":255,"example":"e9c906a7-451f-4fa6-ae1a-c389e2e2d87c"},"displayName":{"description":"The name of the pipeline to present to the user.\n","type":"string","maxLength":255,"example":"Data Depot Deployment"},"url":{"description":"A URL users can use to link to this deployment pipeline.\n","type":"string","format":"uri","maxLength":2000,"example":"http://mydeployer.com/project1"}}},"environment":{"title":"Environment","description":"The environment that the deployment is present in.\n","required":["id","displayName","type"],"properties":{"id":{"description":"The identifier of this environment, must be unique for the provider so that it can be shared across pipelines.\n","type":"string","maxLength":255,"example":"8ec94d72-a4fc-4ac0-b31d-c5a595f373ba"},"displayName":{"description":"The name of the environment to present to the user.\n","type":"string","maxLength":255,"example":"US East"},"type":{"description":"The type of the environment.\n","type":"string","enum":["unmapped","development","testing","staging","production"],"example":"production"}}},"commands":{"title":"Commands","description":"A list of commands to be actioned for this Deployment\n","type":"array","items":{"title":"Command","description":"A command to be actioned for this Deployment\n- command\n","properties":{"command":{"description":"The command name.\n","type":"string","example":"initiate_deployment_gating"}}}},"schemaVersion":{"description":"The DeploymentData schema version used for this deployment data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraDeploymentInfoProvider` module,\n\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given deployment ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteDeploymentByKey","summary":"Delete a deployment by key","tags":["Deployments"],"description":"Delete the currently stored deployment data for the given `pipelineId`, `environmentId` and `deploymentSequenceNumber` combination.\n\nDeletion is performed asynchronously. The `getDeploymentByKey` operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"pipelineId","in":"path","description":"The ID of the deployment's pipeline.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"environmentId","in":"path","description":"The ID of the deployment's environment.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"deploymentSequenceNumber","in":"path","description":"The deployment's deploymentSequenceNumber.\n","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"_updateSequenceNumber","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `_updateSequenceNumber` to use to control deletion.\n\nOnly stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete has been accepted. Data will eventually be removed from Jira if it exists.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraDeploymentInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraDeploymentInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/deployments/0.1/pipelines/{pipelineId}/environments/{environmentId}/deployments/{deploymentSequenceNumber}/gating-status":{"get":{"operationId":"getDeploymentGatingStatusByKey","summary":"Get deployment gating status by key","tags":["Deployments"],"description":"Retrieve the Deployment gating status for the given `pipelineId + environmentId + deploymentSequenceNumber` combination.\nOnly apps that define the `jiraDeploymentInfoProvider` module can access this resource. This resource requires the 'READ' scope.\n","parameters":[{"name":"pipelineId","in":"path","description":"The ID of the Deployment's pipeline.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"environmentId","in":"path","description":"The ID of the Deployment's environment.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"deploymentSequenceNumber","in":"path","description":"The Deployment's deploymentSequenceNumber.\n","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"The current gating status for the given Deployment\n","content":{"application/json":{"schema":{"title":"SubmitDeploymentsResponse","description":"The current gating status for the given Deployment.\n","properties":{"deploymentSequenceNumber":{"description":"This is the identifier for the Deployment.\n","type":"integer","format":"int64","example":100},"pipelineId":{"description":"The ID of the Deployment's pipeline.\n","type":"string","maxLength":255,"example":"e9c906a7-451f-4fa6-ae1a-c389e2e2d87c"},"environmentId":{"description":"The ID of the Deployment's environment.\n","type":"string","example":"8ec94d72-a4fc-4ac0-b31d-c5a595f373ba"},"updatedTimestamp":{"description":"Time the deployment gating status was updated.\n","type":"string","format":"date-time","example":"2020-08-25T06:04:50.239Z"},"gatingStatus":{"description":"The gating status\n","type":"string","enum":["allowed","prevented","awaiting","invalid"],"example":"allowed"},"details":{"type":"array","items":{"description":"Details related to the gating status\n","required":["type","issueKey","issueLink"],"properties":{"type":{"description":"The type of the gating status details.\n","type":"string","enum":["issue"],"example":"issue"},"issueKey":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ABC-123"},"issueLink":{"description":"A full HTTPS link to the Jira issue for the change request gating this Deployment. This field is provided if the details type is issue.\n","type":"string","format":"uri","maxLength":2000,"example":"https://your-domain.atlassian.net/servicedesk/customer/portal/1/ZAINA-123"}}}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraDeploymentInfoProvider` module,\n"},"404":{"description":"No data found for the given deployment ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"}},"/rest/builds/0.1/bulk":{"post":{"operationId":"submitBuilds","summary":"Submit build data","tags":["Builds"],"description":"Update / insert builds data.\n\nBuilds are identified by the combination of `pipelineId` and `buildNumber`, and existing build data for the same\nbuild will be replaced if it exists and the `updateSequenceNumber` of the existing data is less than the\nincoming data.\n\nSubmissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are\navailable within a short period of time, but may take some time during peak load and/or maintenance times.\nThe `getBuildByKey` operation can be used to confirm that data has been stored successfully (if needed).\n\nIn the case of multiple builds being submitted in one request, each is validated individually prior to\nsubmission. Details of which build failed submission (if any) are available in the response object.\n\nOnly Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitBuildsRequest","description":"The payload used to submit (update / insert) build data.","type":"object","required":["builds"],"properties":{"properties":{"title":"Properties","description":"Properties assigned to build data that can then be used for delete / query operations.\n\nExamples might be an account or user ID that can then be used to clean up data if an account is removed from\nthe Provider system.\n\nNote that these properties will never be returned with build data. They are not intended for use as\nmetadata to associate with a build. Internally they are stored as a hash so that personal information etc.\nis never stored within Jira.\n\nProperties are supplied as key/value pairs, a maximum of 5 properties can be supplied, and keys must not\ncontain ':' or start with '_'.\n","type":"object","additionalProperties":{"type":"string","maxLength":255},"maxProperties":5,"example":{"accountId":"account-234","projectId":"project-123"}},"builds":{"description":"A list of builds to submit to Jira.\n\nEach build may be associated with one or more Jira issue keys, and will be associated with any properties\nincluded in this request.\n","type":"array","items":{"title":"BuildData","description":"Data related to a single build\n","required":["pipelineId","buildNumber","displayName","url","state","lastUpdated","updateSequenceNumber","issueKeys"],"properties":{"schemaVersion":{"description":"The schema version used for this data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"pipelineId":{"description":"An ID that relates a sequence of builds. Depending on your use case this might be a project ID, pipeline ID,\nplan key etc. - whatever logical unit you use to group a sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.\n","type":"string","maxLength":255,"example":"my-build-plan"},"buildNumber":{"description":"Identifies a build within the sequence of builds identified by the build `pipelineId`.\n\nUsed to identify the 'most recent' build in that sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.\n","type":"integer","format":"int64","example":16},"updateSequenceNumber":{"description":"A number used to apply an order to the updates to the build, as identified by `pipelineId` and `buildNumber`,\nin the case of out-of-order receipt of update requests.\n\nIt must be a monotonically increasing number. For example, epoch time could be one way to generate the\n`updateSequenceNumber`.\n\nUpdates for a build that is received with an `updateSqeuenceNumber` less than or equal to what is currently\nstored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"displayName":{"description":"The human-readable name for the build.\n\nWill be shown in the UI.\n","type":"string","maxLength":255,"example":"My Project build #16"},"description":{"description":"An optional description to attach to this build.\n\nThis may be anything that makes sense in your system.\n","type":"string","maxLength":255,"example":"My Project build #16: Failed"},"label":{"description":"A human-readable string that to provide information about the build.\n","type":"string","maxLength":255},"url":{"description":"The URL to this build in your system.\n","type":"string","maxLength":2000,"format":"URL"},"state":{"title":"BuildState","description":"The state of a build.\n\n* `pending` - The build is queued, or some manual action is required.\n* `in_progress` - The build is currently running.\n* `successful` - The build completed successfully.\n* `failed` - The build failed.\n* `cancelled` - The build has been cancelled or stopped.\n* `unknown` - The build is in an unknown state.\n","type":"string","enum":["pending","in_progress","successful","failed","cancelled","unknown"],"example":"failed"},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of the state of the build.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"issueKeys":{"description":"The Jira issue keys to associate the build information with.\n\nYou are free to associate issue keys in any way you like. However, we recommend that you use the name\nof the branch the build was executed on, and extract issue keys from that name using a simple regex. This has\nthe advantage that it provides an intuitive association of builds to issue keys.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ISSUE-123"},"minItems":1,"maxItems":100},"testInfo":{"title":"TestInfo","description":"Information about tests that were executed during a build.\n","type":"object","required":["totalNumber","numberPassed","numberFailed"],"properties":{"totalNumber":{"description":"The total number of tests considered during a build.\n","type":"integer","format":"int64","example":150},"numberPassed":{"description":"The number of tests that passed during a build.\n","type":"integer","format":"int64","example":145},"numberFailed":{"description":"The number of tests that failed during a build.\n","type":"integer","format":"int64","example":5},"numberSkipped":{"description":"The number of tests that were skipped during a build.\n","type":"integer","format":"int64","default":0,"example":0}}},"references":{"description":"Optional information that links a build to a commit, branch etc.\n","type":"array","items":{"title":"BuildReferences","description":"Information that links a build to a commit, branch etc.\n\nUsed to provide a richer user experience by enabling us to associate builds from your system with e.g.\nbranches / commits / tags etc. supplied by another app in the Jira UI.\n","type":"object","properties":{"commit":{"title":"BuildCommitReference","description":"Details about the commit the build was run against.\n","type":"object","required":["id","repositoryUri"],"properties":{"id":{"description":"The ID of the commit. E.g. for a Git repository this would be the SHA1 hash.\n","type":"string","maxLength":255,"example":"08cd9c26b2b8d7cf6e6af6b49da8895d065c259f"},"repositoryUri":{"description":"An identifier for the repository containing the commit.\n\nIn most cases this should be the URL of the repository in the SCM provider.\n\nFor cases where the build was executed against a local repository etc. this should be some identifier that is\nunique to that repository.\n","type":"string","maxLength":2000,"example":"https://bitbucket.org/atlassian/biij-vendor-api"}}},"ref":{"title":"BuildRefReference","description":"Details about the ref the build was run on.\n","type":"object","required":["name","uri"],"properties":{"name":{"description":"The name of the ref the build ran on\n","type":"string","maxLength":255,"example":"feature/ISSUE-123-some-work"},"uri":{"description":"An identifer for the ref.\n\nIn most cases this should be the URL of the tag/branch etc. in the SCM provider.\n\nFor cases where the build was executed against a local repository etc. this should be something that uniquely\nidentifies the ref.\n","type":"string","maxLength":2000,"example":"https://bitbucket.org/atlassian/biij-vendor-api/refs/feature/ISSUE-123-some-work"}}}}},"minItems":1,"maxItems":5}}},"minItems":1,"maxItems":100},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging,\nand other internal uses. It is not considered private information. Hence, it may not contain personally\nidentifiable information.\n","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the builds data.","example":"Bamboo 6.10.2"}}}}}}},"description":"Builds data to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted build that is of a valid format will be eventually available in Jira.\n\nDetails of which builds were submitted and which failed submission (due to data format problems etc.)\nare available in the response object.\n","content":{"application/json":{"schema":{"title":"SubmitBuildsResponse","description":"The result of a successful `submitBuilds` request.\n","type":"object","properties":{"acceptedBuilds":{"description":"The keys of builds that have been accepted for submission. A build key is a composite key that consists of\n`pipelineId` and `buildNumber`.\n\nA build may be rejected if it was only associated with unknown issue keys, or if the submitted data for that\nbuild does not match the required schema.\n\nNote that a build that isn't updated due to it's `updateSequenceNumber` being out of order is not\nconsidered a failed submission.\n","type":"array","items":{"title":"BuildKey","description":"Fields that uniquely reference a build.\n","required":["pipelineId","buildNumber"],"type":"object","properties":{"pipelineId":{"description":"An ID that relates a sequence of builds. Depending on your system this might be a project ID, pipeline ID,\nplan key etc. - whatever logical unit you use to group a sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify the build.\n","type":"string","maxLength":255,"example":"my-build-plan"},"buildNumber":{"description":"Identifies a build within the sequence of builds identified by the build `pipelineId`.\n\nUsed to identify the 'most recent' build in that sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify the build.\n","type":"integer","format":"int64","example":16}}}},"rejectedBuilds":{"description":"Details of builds that have not been accepted for submission.\n\nA build may be rejected if it was only associated with unknown issue keys, or if the submitted data for the\nbuild does not match the required schema.\n","type":"array","items":{"title":"RejectedBuild","description":"A build that has not been accepted for submission, usually due to a problem with the request data.\n\nThe object is comprised of the key of the rejected build and the corresponding error messages.\n","type":"object","required":["key","errors"],"properties":{"key":{"title":"BuildKey","description":"Fields that uniquely reference a build.\n","required":["pipelineId","buildNumber"],"type":"object","properties":{"pipelineId":{"description":"An ID that relates a sequence of builds. Depending on your system this might be a project ID, pipeline ID,\nplan key etc. - whatever logical unit you use to group a sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify the build.\n","type":"string","maxLength":255,"example":"my-build-plan"},"buildNumber":{"description":"Identifies a build within the sequence of builds identified by the build `pipelineId`.\n\nUsed to identify the 'most recent' build in that sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify the build.\n","type":"integer","format":"int64","example":16}}},"errors":{"description":"The error messages for the rejected build","type":"array","items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"unknownIssueKeys":{"description":"Issue keys that are not known on this Jira instance (if any).\n\nThese may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they\nmay be for projects that no longer exist.\n\nIf a build has been associated with issue keys other than those in this array it will still be stored against\nthose valid keys. If a build was only associated with issue keys deemed to be invalid it won't be persisted.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ISSUE-123"}}}}}}},"400":{"description":"Request has incorrect format.\n\nNote that in the case of an individual build having an invalid format (rather than the request as a whole)\nthe response for the request will be a 202 and details of the invalid build will be contained in the\nresponse object.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraBuildInfoProvider` module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Data is too large. Submit fewer builds in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraBuildInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/builds/0.1/bulkByProperties":{"delete":{"operationId":"deleteBuildsByProperty","summary":"Delete builds by Property","tags":["Builds"],"description":"Bulk delete all builds data that match the given request.\n\nOne or more query params must be supplied to specify Properties to delete by.\nOptional param `_updateSequenceNumber` is no longer supported.\nIf more than one Property is provided, data will be deleted that matches ALL of the\nProperties (e.g. treated as an AND).\n\nSee the documentation for the `submitBuilds` operation for more details.\n\ne.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345\n\nDeletion is performed asynchronously. The `getBuildByKey` operation can be used to confirm that data has been\ndeleted successfully (if needed).\n\nOnly Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"_updateSequenceNumber","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `_updateSequenceNumber` to use to control deletion.\n\nOnly stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n\nIf not provided, all stored data that matches the request will be deleted.\n","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format (e.g. missing at least one Property param).\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraBuildInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraBuildInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/builds/0.1/pipelines/{pipelineId}/builds/{buildNumber}":{"get":{"operationId":"getBuildByKey","summary":"Get a build by key","tags":["Builds"],"description":"Retrieve the currently stored build data for the given `pipelineId` and `buildNumber` combination.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"pipelineId","in":"path","description":"The `pipelineId` of the build.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"buildNumber","in":"path","description":"The `buildNumber` of the build.\n","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"The build data currently stored for the given key.\n","content":{"application/json":{"schema":{"title":"BuildData","description":"Data related to a single build\n","required":["pipelineId","buildNumber","displayName","url","state","lastUpdated","updateSequenceNumber","issueKeys"],"properties":{"schemaVersion":{"description":"The schema version used for this data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"pipelineId":{"description":"An ID that relates a sequence of builds. Depending on your use case this might be a project ID, pipeline ID,\nplan key etc. - whatever logical unit you use to group a sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.\n","type":"string","maxLength":255,"example":"my-build-plan"},"buildNumber":{"description":"Identifies a build within the sequence of builds identified by the build `pipelineId`.\n\nUsed to identify the 'most recent' build in that sequence of builds.\n\nThe combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.\n","type":"integer","format":"int64","example":16},"updateSequenceNumber":{"description":"A number used to apply an order to the updates to the build, as identified by `pipelineId` and `buildNumber`,\nin the case of out-of-order receipt of update requests.\n\nIt must be a monotonically increasing number. For example, epoch time could be one way to generate the\n`updateSequenceNumber`.\n\nUpdates for a build that is received with an `updateSqeuenceNumber` less than or equal to what is currently\nstored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"displayName":{"description":"The human-readable name for the build.\n\nWill be shown in the UI.\n","type":"string","maxLength":255,"example":"My Project build #16"},"description":{"description":"An optional description to attach to this build.\n\nThis may be anything that makes sense in your system.\n","type":"string","maxLength":255,"example":"My Project build #16: Failed"},"label":{"description":"A human-readable string that to provide information about the build.\n","type":"string","maxLength":255},"url":{"description":"The URL to this build in your system.\n","type":"string","maxLength":2000,"format":"URL"},"state":{"title":"BuildState","description":"The state of a build.\n\n* `pending` - The build is queued, or some manual action is required.\n* `in_progress` - The build is currently running.\n* `successful` - The build completed successfully.\n* `failed` - The build failed.\n* `cancelled` - The build has been cancelled or stopped.\n* `unknown` - The build is in an unknown state.\n","type":"string","enum":["pending","in_progress","successful","failed","cancelled","unknown"],"example":"failed"},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of the state of the build.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"issueKeys":{"description":"The Jira issue keys to associate the build information with.\n\nYou are free to associate issue keys in any way you like. However, we recommend that you use the name\nof the branch the build was executed on, and extract issue keys from that name using a simple regex. This has\nthe advantage that it provides an intuitive association of builds to issue keys.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ISSUE-123"},"minItems":1,"maxItems":100},"testInfo":{"title":"TestInfo","description":"Information about tests that were executed during a build.\n","type":"object","required":["totalNumber","numberPassed","numberFailed"],"properties":{"totalNumber":{"description":"The total number of tests considered during a build.\n","type":"integer","format":"int64","example":150},"numberPassed":{"description":"The number of tests that passed during a build.\n","type":"integer","format":"int64","example":145},"numberFailed":{"description":"The number of tests that failed during a build.\n","type":"integer","format":"int64","example":5},"numberSkipped":{"description":"The number of tests that were skipped during a build.\n","type":"integer","format":"int64","default":0,"example":0}}},"references":{"description":"Optional information that links a build to a commit, branch etc.\n","type":"array","items":{"title":"BuildReferences","description":"Information that links a build to a commit, branch etc.\n\nUsed to provide a richer user experience by enabling us to associate builds from your system with e.g.\nbranches / commits / tags etc. supplied by another app in the Jira UI.\n","type":"object","properties":{"commit":{"title":"BuildCommitReference","description":"Details about the commit the build was run against.\n","type":"object","required":["id","repositoryUri"],"properties":{"id":{"description":"The ID of the commit. E.g. for a Git repository this would be the SHA1 hash.\n","type":"string","maxLength":255,"example":"08cd9c26b2b8d7cf6e6af6b49da8895d065c259f"},"repositoryUri":{"description":"An identifier for the repository containing the commit.\n\nIn most cases this should be the URL of the repository in the SCM provider.\n\nFor cases where the build was executed against a local repository etc. this should be some identifier that is\nunique to that repository.\n","type":"string","maxLength":2000,"example":"https://bitbucket.org/atlassian/biij-vendor-api"}}},"ref":{"title":"BuildRefReference","description":"Details about the ref the build was run on.\n","type":"object","required":["name","uri"],"properties":{"name":{"description":"The name of the ref the build ran on\n","type":"string","maxLength":255,"example":"feature/ISSUE-123-some-work"},"uri":{"description":"An identifer for the ref.\n\nIn most cases this should be the URL of the tag/branch etc. in the SCM provider.\n\nFor cases where the build was executed against a local repository etc. this should be something that uniquely\nidentifies the ref.\n","type":"string","maxLength":2000,"example":"https://bitbucket.org/atlassian/biij-vendor-api/refs/feature/ISSUE-123-some-work"}}}}},"minItems":1,"maxItems":5}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraBuildInfoProvider` module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No build data found for the given key.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteBuildByKey","summary":"Delete a build by key","tags":["Builds"],"description":"Delete the build data currently stored for the given `pipelineId` and `buildNumber` combination.\n\nDeletion is performed asynchronously. The `getBuildByKey` operation can be used to confirm that data has been\ndeleted successfully (if needed).\n\nOnly Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"pipelineId","in":"path","description":"The `pipelineId` of the build to delete.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"buildNumber","in":"path","description":"The `buildNumber` of the build to delete.\n","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"_updateSequenceNumber","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `_updateSequenceNumber` to use to control deletion.\n\nOnly stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete has been accepted. Data will eventually be removed from Jira if it exists.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraBuildInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that corresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraBuildInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/remotelinks/1.0/bulk":{"post":{"operationId":"submitRemoteLinks","summary":"Submit Remote Link data","tags":["Remote Links"],"description":"Update / insert Remote Link data.\n\nRemote Links are identified by their ID, existing Remote Link data for the same ID will be replaced if it\nexists and the updateSequenceId of existing data is less than the incoming data.\n\nSubmissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are\navailable within a short period of time, but may take some time during peak load and/or maintenance times.\nThe `getRemoteLinkById` operation can be used to confirm that data has been stored successfully (if needed).\n\nIn the case of multiple Remote Links being submitted in one request, each is validated individually prior to\nsubmission. Details of which Remote LInk failed submission (if any) are available in the response object.\n\nOnly Connect apps that define the `jiraRemoteLinkInfoProvider` module can access this resource. This resource\nrequires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitRemoteLinksRequest","description":"The payload used to submit (update / insert) Remote Link data.","type":"object","required":["remoteLinks"],"properties":{"properties":{"title":"Properties","description":"Properties assigned to Remote Link data that can then be used for delete / query operations.\n\nExamples might be an account or user ID that can then be used to clean up data if an account is removed from\nthe Provider system.\n\nProperties are supplied as key/value pairs, a maximum of 5 properties can be supplied, and keys must not\ncontain ':' or start with '_'.\n","type":"object","additionalProperties":{"type":"string","maxLength":255},"maxProperties":5,"example":{"accountId":"account-234","projectId":"project-123"}},"remoteLinks":{"description":"A list of Remote Links to submit to Jira.\n\nEach Remote Link may be associated with one or more Jira issue keys, and will be associated with any properties\nincluded in this request.\n","type":"array","items":{"title":"RemoteLinkData","description":"Data related to a single Remote Link.\n","required":["id","updateSequenceNumber","displayName","url","type","lastUpdated"],"properties":{"schemaVersion":{"description":"The schema version used for this data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Remote Link. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Remote Link in the case of out-of-order receipt of\nupdate requests.\n\nIt must be a monotonically increasing number. For example, epoch time could be one way to generate the\n`updateSequenceNumber`.\n\nUpdates for a Remote Link that is received with an `updateSqeuenceNumber` less than or equal to what is currently\nstored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"displayName":{"description":"The human-readable name for the Remote Link.\n\nWill be shown in the UI.\n","type":"string","maxLength":255,"example":"Remote Link #42"},"url":{"description":"The URL to this Remote Link in your system.\n","type":"string","maxLength":2000,"format":"uri"},"type":{"description":"The type of the Remote Link. The current supported types are 'document', 'alert', 'test',\n'security', 'logFile', 'prototype', 'coverage', 'bugReport' and 'other'\n","type":"string","enum":["document","alert","test","security","logFile","prototype","coverage","bugReport","other"],"example":"security"},"description":{"description":"An optional description to attach to this Remote Link.\n\nThis may be anything that makes sense in your system.\n","type":"string","maxLength":255,"example":"Remote Link #42 with more information in this description"},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of when Remote Link was last updated.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"associations":{"description":"The entities to associate the Remote Link information with.\n","type":"array","items":{"anyOf":[{"title":"IssueKeysAssociation","description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys"],"example":"issueKeys"},"values":{"description":"The Jira issue keys to associate the Remote Link information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueKeys","values":["ABC-123","ABC-456"]}},{"title":"ServiceIdOrKeysAssociation","description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Remote Link information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"ServiceIdOrKeys","description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}}]},"minItems":1,"maxItems":2},"status":{"title":"RemoteLinkStatus","description":"The status of a Remote Link.\n","type":"object","required":["appearance","label"],"properties":{"appearance":{"description":"Appearance is a fixed set of appearance types affecting the colour\nof the status lozenge in the UI. The colours they correspond to are\nequivalent to atlaskit's [Lozenge](https://atlaskit.atlassian.com/packages/core/lozenge) component.\n","type":"string","enum":["default","inprogress","moved","new","removed","prototype","success"],"example":"inprogress"},"label":{"description":"The human-readable description for the Remote Link status.\n\nWill be shown in the UI.\n","type":"string","maxLength":255,"example":"ANOMALOUS"}}},"actionIds":{"description":"Optional list of actionIds. They are associated with the actions the provider is able to provide when they\nregistered. Indicates which actions this Remote Link has.\n\nIf any actions have a templateUrl that requires string substitution, then `attributeMap` must be passed in.\n","type":"array","items":{"type":"string"},"example":["action-111-222-333","action-444-555-666"],"maxItems":10},"attributeMap":{"description":"Map of key/values (string to string mapping). This is used to build the urls for actions from the\ntemplateUrl the provider registered their available actions with.\n","type":"object","additionalProperties":{"type":"string"}}}},"minItems":1,"maxItems":100},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is\nnot considered private information. Hence, it may not contain personally identifiable information.\n","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the Remote Links data.","example":"Opsgenie 6.10.2"}}}}}}},"description":"Remote Links data to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted Remote Link that is of a valid format will be eventually available in\nJira.\n\nDetails of which Remote Links were submitted and which failed submission (due to data format problems etc.)\nare available in the response object.\n","content":{"application/json":{"schema":{"description":"The result of a successful `submitRemoteLinks` request.\n","type":"object","properties":{"acceptedRemoteLinks":{"description":"The IDs of Remote Links that have been accepted for submission.\n\nA Remote Link may be rejected if it was only associated with unknown issue keys, unknown service IDs, or if\nthe submitted data for that Remote Link does not match the required schema.\n\nNote that a Remote Link that isn't updated due to it's `updateSequenceNumber` being out of order is not\nconsidered a failed submission.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"]},"rejectedRemoteLinks":{"description":"Details of Remote Links that have not been accepted for submission, usually due to a problem with the request data.\n\nA Remote Link may be rejected if it was only associated with unknown issue keys, unknown service IDs, or\nif the submitted data for the Remote Link does not match the required schema.\n\nThe object (if present) will be keyed by Remote Link ID and include any errors associated with that\nRemote Link that have prevented it being submitted.\n","type":"object","additionalProperties":{"type":"array","items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}},"unknownAssociations":{"description":"Issue keys or services IDs or keys that are not known on this Jira instance (if any).\n","type":"array","items":{"anyOf":[{"title":"IssueKeysAssociation","description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys"],"example":"issueKeys"},"values":{"description":"The Jira issue keys to associate the Remote Link information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueKeys","values":["ABC-123","ABC-456"]}},{"title":"ServiceIdOrKeysAssociation","description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Remote Link information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"ServiceIdOrKeys","description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}}]}}}}}}},"400":{"description":"Request has incorrect format.\n\nNote that in the case of an individual Remote Link having an invalid format (rather than the request as a\nwhole) the response for the request will be a 202 and details of the invalid Remote Link will be contained\nin the response object.\n","content":{"application/json":{"schema":{"description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraRemoteLinkInfoProvider` module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Data is too large. Submit fewer Remote Links in each payload.\n","content":{"application/json":{"schema":{"description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraRemoteLinkInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/remotelinks/1.0/bulkByProperties":{"delete":{"operationId":"deleteRemoteLinksByProperty","summary":"Delete Remote Links by Property","tags":["Remote Links"],"description":"Bulk delete all Remote Links data that match the given request.\n\nOne or more query params must be supplied to specify Properties to delete by.\nOptional param `_updateSequenceNumber` is no longer supported. If more than one Property is provided,\ndata will be deleted that matches ALL of the Properties (e.g. treated as an AND).\n\nSee the documentation for the `submitRemoteLinks` operation for more details.\n\ne.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345\n\nDeletion is performed asynchronously. The `getRemoteLinkById` operation can be used to confirm that data has been\ndeleted successfully (if needed).\n\nOnly Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"_updateSequenceNumber","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `_updateSequenceNumber` to use to control deletion.\n\nOnly stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n\nIf not provided, all stored data that matches the request will be deleted.\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","description":"Free-form query parameters to specify which properties to delete by. Properties refer to the arbitrary\ninformation the provider tagged Remote Links with previously.\n\nFor example, if the provider previously tagged a remote link with accountId:\n \"properties\": {\n \"accountId\": \"account-123\"\n }\n\nAnd now they want to delete Remote Links in bulk by that specific accountId as follows:\ne.g. DELETE /bulkByProperties?accountId=account-123\n","schema":{"type":"object"}}],"responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format (e.g. missing at least one Property param).\n","content":{"application/json":{"schema":{"description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraRemoteLinkInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that\ncorresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraRemoteLinkInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/remotelinks/1.0/remotelink/{remoteLinkId}":{"get":{"operationId":"getRemoteLinkById","summary":"Get a Remote Link by ID","tags":["Remote Links"],"description":"Retrieve the currently stored Remote Link data for the given ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"remoteLinkId","in":"path","description":"The ID of the Remote Link to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"200":{"description":"The Remote Link data currently stored for the given ID.\n","content":{"application/json":{"schema":{"title":"RemoteLinkData","description":"Data related to a single Remote Link.\n","required":["id","updateSequenceNumber","displayName","url","type","lastUpdated"],"properties":{"schemaVersion":{"description":"The schema version used for this data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Remote Link. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Remote Link in the case of out-of-order receipt of\nupdate requests.\n\nIt must be a monotonically increasing number. For example, epoch time could be one way to generate the\n`updateSequenceNumber`.\n\nUpdates for a Remote Link that is received with an `updateSqeuenceNumber` less than or equal to what is currently\nstored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"displayName":{"description":"The human-readable name for the Remote Link.\n\nWill be shown in the UI.\n","type":"string","maxLength":255,"example":"Remote Link #42"},"url":{"description":"The URL to this Remote Link in your system.\n","type":"string","maxLength":2000,"format":"uri"},"type":{"description":"The type of the Remote Link. The current supported types are 'document', 'alert', 'test',\n'security', 'logFile', 'prototype', 'coverage', 'bugReport' and 'other'\n","type":"string","enum":["document","alert","test","security","logFile","prototype","coverage","bugReport","other"],"example":"security"},"description":{"description":"An optional description to attach to this Remote Link.\n\nThis may be anything that makes sense in your system.\n","type":"string","maxLength":255,"example":"Remote Link #42 with more information in this description"},"lastUpdated":{"description":"The last-updated timestamp to present to the user as a summary of when Remote Link was last updated.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"associations":{"description":"The entities to associate the Remote Link information with.\n","type":"array","items":{"anyOf":[{"title":"IssueKeysAssociation","description":"An association type referencing issues in Jira.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["issueKeys"],"example":"issueKeys"},"values":{"description":"The Jira issue keys to associate the Remote Link information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueKey","description":"An issue key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}-\\d{1,255}$","example":"ABC-123"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueKeys","values":["ABC-123","ABC-456"]}},{"title":"ServiceIdOrKeysAssociation","description":"An association type referencing service id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the asssociation type.\n","type":"string","enum":["serviceIdOrKeys"],"example":"serviceIdOrKeys"},"values":{"description":"The service id or keys to associate the Remote Link information with.\n\nThe number of values counted across all associationTypes (issueKeys,\nissueIdOrKeys and serviceIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"ServiceIdOrKeys","description":"A service id or service key.\n","type":"string","maxLength":255,"example":"some-service-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"serviceIdOrKeys","values":["some-service-key"]}}]},"minItems":1,"maxItems":2},"status":{"title":"RemoteLinkStatus","description":"The status of a Remote Link.\n","type":"object","required":["appearance","label"],"properties":{"appearance":{"description":"Appearance is a fixed set of appearance types affecting the colour\nof the status lozenge in the UI. The colours they correspond to are\nequivalent to atlaskit's [Lozenge](https://atlaskit.atlassian.com/packages/core/lozenge) component.\n","type":"string","enum":["default","inprogress","moved","new","removed","prototype","success"],"example":"inprogress"},"label":{"description":"The human-readable description for the Remote Link status.\n\nWill be shown in the UI.\n","type":"string","maxLength":255,"example":"ANOMALOUS"}}},"actionIds":{"description":"Optional list of actionIds. They are associated with the actions the provider is able to provide when they\nregistered. Indicates which actions this Remote Link has.\n\nIf any actions have a templateUrl that requires string substitution, then `attributeMap` must be passed in.\n","type":"array","items":{"type":"string"},"example":["action-111-222-333","action-444-555-666"],"maxItems":10},"attributeMap":{"description":"Map of key/values (string to string mapping). This is used to build the urls for actions from the\ntemplateUrl the provider registered their available actions with.\n","type":"object","additionalProperties":{"type":"string"}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraRemoteLinkInfoProvider` module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No Remote Link data found for the given ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteRemoteLinkById","summary":"Delete a Remote Link by ID","tags":["Remote Links"],"description":"Delete the Remote Link data currently stored for the given ID.\n\nDeletion is performed asynchronously. The `getRemoteLinkById` operation can be used to confirm that data has been\ndeleted successfully (if needed).\n\nOnly Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"remoteLinkId","in":"path","description":"The ID of the Remote Link to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}},{"name":"_updateSequenceNumber","in":"query","deprecated":true,"description":"This parameter usage is no longer supported.\n\nAn optional `_updateSequenceNumber` to use to control deletion.\n\nOnly stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted.\nThis can be used help ensure submit/delete requests are applied correctly if issued close together.\n","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"description":"Delete has been accepted. Data will eventually be removed from Jira if it exists.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraRemoteLinkInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"description":"A message supplied in the case of an error.","type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with either a Connect JWT token or OAuth token for an on-premise integration that\ncorresponds to an app installed in Jira.\n\nIf the Connect JWT token corresponds to an app that does not define `jiraRemoteLinkInfoProvider` module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details about Connect JWT tokens.\nSee https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/ for details about on-premise integrations.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/security/1.0/linkedWorkspaces/bulk":{"post":{"operationId":"submitWorkspaces","summary":"Submit Security Workspaces to link","tags":["Security Information"],"description":"Insert Security Workspace IDs to establish a relationship between them and the Jira site the app is installed on. If a relationship between the workspace ID and Jira already exists then the workspace ID will be ignored and Jira will process the rest of the entries.\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitSecurityWorkspacesRequest","description":"The payload used to submit (update / insert) Security Workspace IDs.","required":["workspaceIds"],"properties":{"workspaceIds":{"title":"Security Workspace IDs","description":"The IDs of Security Workspaces to link to this Jira site. These must follow this regex pattern: `[a-zA-Z0-9\\\\-_.~@:{}=]+(\\/[a-zA-Z0-9\\\\-_.~@:{}=]+)*`\n","type":"array","items":{"type":"string","pattern":"[a-zA-Z0-9\\-_.~@:{}=]+(/[a-zA-Z0-9\\-_.~@:{}=]+)*"},"example":["111-222-333","444-555-666"],"minItems":1,"maxItems":100}}}}},"description":"Security Workspace IDs to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted Security Workspace ID will be linked to Jira.\n"},"400":{"description":"Request has incorrect format.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Set of Ids is too large. Submit fewer Ids in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"maxItems":100,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"delete":{"operationId":"deleteLinkedWorkspaces","summary":"Delete linked Security Workspaces","tags":["Security Information"],"description":"Bulk delete all linked Security Workspaces that match the given request.\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n\ne.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666\n","responses":{"202":{"description":"Delete accepted. Workspaces and related data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"maxItems":100,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"maxItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Security Information module it will be rejected with a 403.\n\nRead [understanding jwt](https://developer.atlassian.com/blog/2015/01/understanding-jwt/) for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/security/1.0/linkedWorkspaces":{"get":{"operationId":"getLinkedWorkspaces","summary":"Get linked Security Workspaces","tags":["Security Information"],"description":"Retrieve all Security Workspaces linked with the Jira site.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","responses":{"200":{"description":"A list of all stored workspace IDs.\n","content":{"application/json":{"schema":{"title":"SecurityWorkspaceIds","description":"The payload of linked Security Workspace IDs.","required":["workspaceIds"],"properties":{"workspaceIds":{"title":"Security Workspace IDs","description":"The IDs of Security Workspaces that are linked to this Jira site.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"],"minItems":1}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given workspace ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Security Information module it will be rejected with a 403.\n\nRead more about JWT [here](https://developer.atlassian.com/blog/2015/01/understanding-jwt/).\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/security/1.0/linkedWorkspaces/{workspaceId}":{"get":{"operationId":"getLinkedWorkspaceById","summary":"Get a linked Security Workspace by ID","tags":["Security Information"],"description":"Retrieve a specific Security Workspace linked to the Jira site for the given workspace ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"workspaceId","in":"path","description":"The ID of the workspace to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"200":{"description":"The Security Workspace information stored for the given ID.\n","content":{"application/json":{"schema":{"title":"SecurityWorkspaceResponse","description":"The Security Workspace information stored for the given ID.","required":["workspaceId","updatedAt"],"properties":{"workspaceId":{"description":"The Security Workspace ID\n","type":"string","example":"111-222-333"},"updatedAt":{"description":"Latest date and time that the Security Workspace was updated in Jira.\n","type":"string","format":"date-time","example":"2020-01-17T09:30:00.000Z"}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given workspace ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Security Information module it will be rejected with a 403.\n\nRead more about JWT [here](https://developer.atlassian.com/blog/2015/01/understanding-jwt/).\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/security/1.0/bulk":{"post":{"operationId":"submitVulnerabilities","summary":"Submit Vulnerability data","tags":["Security Information"],"description":"Update / Insert Vulnerability data.\n\nVulnerabilities are identified by their ID, any existing Vulnerability data with the same ID will be replaced if it exists and the updateSequenceNumber of the existing data is less than the incoming data.\n\nSubmissions are performed asynchronously. Most updates are available within a short period of time but may take some time during peak load and/or maintenance times. The GET vulnerability endpoint can be used to confirm that data has been stored successfully (if needed).\n\nIn the case of multiple Vulnerabilities being submitted in one request, each is validated individually prior to submission. Details of Vulnerabilities that failed submission (if any) are available in the response object.\n\nA maximum of 1000 vulnerabilities can be submitted in one request.\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitVulnerabilitiesRequest","description":"The payload used to submit (update / insert) Vulnerability data.","required":["vulnerabilities"],"properties":{"operationType":{"type":"string","description":"Indicates the operation being performed by the provider system when sending this data. \"NORMAL\" - Data received during real-time, user-triggered actions (e.g. user closed or updated a vulnerability). \"SCAN\" - Data sent through some automated process (e.g. some periodically scheduled repository scan). \"BACKFILL\" - Data received while backfilling existing data (e.g. pushing historical vulnerabilities when re-connect a workspace). Default is \"NORMAL\". \"NORMAL\" traffic has higher priority but tighter rate limits, \"SCAN\" traffic has medium priority and looser limits, \"BACKFILL\" has lower priority and much looser limits\n","example":"SCAN","enum":["NORMAL","SCAN","BACKFILL"]},"properties":{"title":"Properties","description":"Properties assigned to vulnerability data that can then be used for delete / query operations.\n\nExamples might be an account or user ID that can then be used to clean up data if an account is removed from the Provider system.\n\nProperties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':' or start with '_'.\n","type":"object","additionalProperties":{"type":"string","maxLength":255},"maxProperties":5,"example":{"accountId":"account-234","projectId":"project-123"}},"vulnerabilities":{"type":"array","items":{"title":"Vulnerability details","required":["schemaVersion","id","updateSequenceNumber","displayName","containerId","description","url","type","introducedDate","lastUpdated","severity","status"],"properties":{"schemaVersion":{"description":"The VulnerabilityData schema version used for this vulnerability data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Vulnerability. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Vulnerability in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Vulnerability and increment that on each update to Jira).\n\nUpdates for a Vulnerability that are received with an updateSequenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"containerId":{"description":"The identifier of the Container where this Vulnerability was found. Must be unique for a given Provider. This must follow this regex pattern: `[a-zA-Z0-9\\\\-_.~@:{}=]+(/[a-zA-Z0-9\\\\-_.~@:{}=]+)*`\n","type":"string","maxLength":255,"example":"111-222-333","pattern":"[a-zA-Z0-9\\-_.~@:{}=]+(/[a-zA-Z0-9\\-_.~@:{}=]+)*"},"displayName":{"description":"The human-readable name for the Vulnerability. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"curl/libcurl3 - Buffer Override"},"description":{"description":"A description of the issue in markdown format that will be shown in the UI and used when creating Jira Issues. HTML tags are not supported in the markdown format. For creating a new line `\\n` can be used. Read more about the accepted markdown transformations [here](https://atlaskit.atlassian.com/packages/editor/editor-markdown-transformer).\n","type":"string","maxLength":5000,"example":"## Overview\n\n\nAffected versions of this package are vulnerable to MeltLeak"},"url":{"description":"A URL users can use to link to a summary view of this vulnerability, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the vulnerability in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/CWE-123/summary"},"type":{"description":"The type of Vulnerability detected.","type":"string","enum":["sca","sast","dast","unknown"],"example":"sca"},"introducedDate":{"description":"The timestamp to present to the user that shows when the Vulnerability was introduced.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the Vulnerability was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"severity":{"title":"VulnerabilitySeverity","description":"Severity information for a single Vulnerability.\n\nThis is the severity information that will be presented to the user on e.g. the Jira Security screen.\n","required":["level"],"properties":{"level":{"description":"The severity level of the Vulnerability.","type":"string","enum":["critical","high","medium","low","unknown"],"example":"critical"}},"minItems":1},"identifiers":{"description":"The identifying information for the Vulnerability.\n","type":"array","items":{"title":"Identifier","description":"The identifiers object that contains public/private information identifying the Vulnerability.\n","required":["displayName","url"],"properties":{"displayName":{"description":"The display name of the Vulnerability identified.\n","type":"string","maxLength":255,"example":"CWE-123"},"url":{"description":"A URL users can use to link to the definition of the Vulnerability identified.\n","type":"string","format":"uri","maxLength":2000,"example":"https://cwe.mitre.org/data/definitions/123.html"}}},"minItems":1,"maxItems":100},"status":{"description":"The current status of the Vulnerability.\n","title":"VulnerabilityStatus","type":"string","enum":["open","closed","ignored","unknown"],"example":"open"},"additionalInfo":{"title":"VulnerabilityAdditionalInfo","description":"Extra information (optional). This data will be shown in the security feature under the vulnerability displayName.\n","type":"object","required":["content"],"properties":{"content":{"description":"The content of the additionalInfo.\n","type":"string","maxLength":255,"example":"More information on the vulnerability, as a string"},"url":{"description":"Optional URL linking to the information\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/CWE-123/additionalInfo"}}},"addAssociations":{"description":"The associations (e.g. Jira issue) to add in addition to the currently stored associations of the Security Vulnerability.\n","type":"array","items":{"anyOf":[{"title":"IssueIdOrKeysAssociation","description":"An association type referencing Jira issue id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type.\n","type":"string","enum":["issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue id or keys to associate the Security information with.\n\nThe number of values counted across all associationTypes (issueIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueIdOrKeys","description":"A Jira issue id or key.\n","type":"string","maxLength":255,"example":"some-issue-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["PROJ-1234"]}}]},"minItems":0,"maxItems":1},"removeAssociations":{"description":"The associations (e.g. Jira issue) to remove from currently stored associations of the Security Vulnerability.\n","type":"array","items":{"anyOf":[{"title":"IssueIdOrKeysAssociation","description":"An association type referencing Jira issue id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type.\n","type":"string","enum":["issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue id or keys to associate the Security information with.\n\nThe number of values counted across all associationTypes (issueIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueIdOrKeys","description":"A Jira issue id or key.\n","type":"string","maxLength":255,"example":"some-issue-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["PROJ-1234"]}}]},"minItems":0,"maxItems":1},"associationsLastUpdated":{"description":"An ISO-8601 Date-time string representing the last time the provider updated associations on this entity.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"associationsUpdateSequenceNumber":{"description":"A sequence number to compare when writing entity associations to the database.\n\nThis can be any monotonically increasing number. A highly recommended implementation is to use epoch millis.\n\nThis is an optional field. If it is not provided it will default to being equal to the corresponding entity's `updateSequenceNumber`.\n\nAssociations are written following a LastWriteWins strategy, association that are received with an associationsUpdateSequenceNumber lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448}},"additionalProperties":false,"description":"Data related to a specific vulnerability in a specific workspace that the vulnerability is present in. Must specify at least one association.\n"},"minItems":1,"maxItems":1000},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging,\nand other internal uses. Information in this property is not considered private, so it should not contain personally identifiable information\n","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the vulnerabilities.","example":"Atlassian Security Platform 2.1.0"}}}}}}},"description":"Vulnerability data to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each Vulnerability submitted in a valid format will eventually be available in Jira.\n\nDetails of any Vulnerabilities that were submitted but failed submission (due to data format problems, etc.) are available in the response object.\n","content":{"application/json":{"schema":{"title":"SubmitVulnerabilitiesResponse","description":"The result of a successful submitVulnerabilities request.\n","properties":{"acceptedVulnerabilities":{"description":"The IDs of Vulnerabilities that have been accepted for submission.\n\nA Vulnerability may be rejected if it was only associated with unknown project keys.\n\nNote that a Vulnerability that isn't updated due to it's updateSequenceNumber being out of order is not considered a failed submission.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"]},"failedVulnerabilities":{"description":"Details of Vulnerabilities that have not been accepted for submission, usually due to a problem with the request data.\n\nThe object (if present) will be keyed by Vulnerability ID and include any errors associated with that Vulnerability that have prevented it being submitted.\n","type":"object","additionalProperties":{"type":"array","items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}},"unknownAssociations":{"description":"Associations (e.g. Service IDs) that are not known on this Jira instance (if any).\n\nIf a Vulnerability has been associated with any other association other than those in this array it will still be stored against those valid associations.\nIf a Vulnerability was only associated with the associations in this array, it is deemed to be invalid and it won't be persisted.\n","type":"array","items":{"anyOf":[{"title":"IssueIdOrKeysAssociation","description":"An association type referencing Jira issue id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type.\n","type":"string","enum":["issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue id or keys to associate the Security information with.\n\nThe number of values counted across all associationTypes (issueIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueIdOrKeys","description":"A Jira issue id or key.\n","type":"string","maxLength":255,"example":"some-issue-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["PROJ-1234"]}}]}}}}}}},"400":{"description":"Request has incorrect format.\n\nNote that in the case of an individual Vulnerability having an invalid format (rather than the request as a whole) the response for the request will be a 202 and details of the invalid Vulnerability will be contained in the response object.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Data is too large. Submit fewer Vulnerabilities in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n","headers":{"X-RateLimit-Remaining":{"schema":{"type":"integer"},"description":"The number of remaining possible requests in current rate limit window."},"X-RateLimit-Reset":{"schema":{"type":"string"},"description":"The date in ISO 8601 format when the rate limit values will be next reset."},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"The maximum possible requests in a window of one minute."},"Retry-After":{"schema":{"type":"integer"},"description":"The number of seconds to wait before making a follow-up request."}}},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Security Information module it will be rejected with a 403.\n\nRead more about JWT [here](https://developer.atlassian.com/blog/2015/01/understanding-jwt/).\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/security/1.0/bulkByProperties":{"delete":{"operationId":"deleteVulnerabilitiesByProperty","summary":"Delete Vulnerabilities by Property","tags":["Security Information"],"description":"Bulk delete all Vulnerabilities that match the given request.\n\nOne or more query params must be supplied to specify Properties to delete by.\nIf more than one Property is provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND).\nRead the POST bulk endpoint documentation for more details.\n\ne.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456\n\nDeletion is performed asynchronously. The GET vulnerability endpoint can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format (e.g. missing at least one Property param).\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Security Information module it will be rejected with a 403.\n\nRead more about JWT [here](https://developer.atlassian.com/blog/2015/01/understanding-jwt/).\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/security/1.0/vulnerability/{vulnerabilityId}":{"get":{"operationId":"getVulnerabilityById","summary":"Get a Vulnerability by ID","tags":["Security Information"],"description":"Retrieve the currently stored Vulnerability data for the given ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"vulnerabilityId","in":"path","description":"The ID of the Vulnerability to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"200":{"description":"The Vulnerability data currently stored for the given ID.\n","content":{"application/json":{"schema":{"title":"Vulnerability details","required":["schemaVersion","id","updateSequenceNumber","displayName","containerId","description","url","type","introducedDate","lastUpdated","severity","status"],"properties":{"schemaVersion":{"description":"The VulnerabilityData schema version used for this vulnerability data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Vulnerability. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Vulnerability in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Vulnerability and increment that on each update to Jira).\n\nUpdates for a Vulnerability that are received with an updateSequenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"containerId":{"description":"The identifier of the Container where this Vulnerability was found. Must be unique for a given Provider. This must follow this regex pattern: `[a-zA-Z0-9\\\\-_.~@:{}=]+(/[a-zA-Z0-9\\\\-_.~@:{}=]+)*`\n","type":"string","maxLength":255,"example":"111-222-333","pattern":"[a-zA-Z0-9\\-_.~@:{}=]+(/[a-zA-Z0-9\\-_.~@:{}=]+)*"},"displayName":{"description":"The human-readable name for the Vulnerability. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"curl/libcurl3 - Buffer Override"},"description":{"description":"A description of the issue in markdown format that will be shown in the UI and used when creating Jira Issues. HTML tags are not supported in the markdown format. For creating a new line `\\n` can be used. Read more about the accepted markdown transformations [here](https://atlaskit.atlassian.com/packages/editor/editor-markdown-transformer).\n","type":"string","maxLength":5000,"example":"## Overview\n\n\nAffected versions of this package are vulnerable to MeltLeak"},"url":{"description":"A URL users can use to link to a summary view of this vulnerability, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the vulnerability in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/CWE-123/summary"},"type":{"description":"The type of Vulnerability detected.","type":"string","enum":["sca","sast","dast","unknown"],"example":"sca"},"introducedDate":{"description":"The timestamp to present to the user that shows when the Vulnerability was introduced.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the Vulnerability was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"severity":{"title":"VulnerabilitySeverity","description":"Severity information for a single Vulnerability.\n\nThis is the severity information that will be presented to the user on e.g. the Jira Security screen.\n","required":["level"],"properties":{"level":{"description":"The severity level of the Vulnerability.","type":"string","enum":["critical","high","medium","low","unknown"],"example":"critical"}},"minItems":1},"identifiers":{"description":"The identifying information for the Vulnerability.\n","type":"array","items":{"title":"Identifier","description":"The identifiers object that contains public/private information identifying the Vulnerability.\n","required":["displayName","url"],"properties":{"displayName":{"description":"The display name of the Vulnerability identified.\n","type":"string","maxLength":255,"example":"CWE-123"},"url":{"description":"A URL users can use to link to the definition of the Vulnerability identified.\n","type":"string","format":"uri","maxLength":2000,"example":"https://cwe.mitre.org/data/definitions/123.html"}}},"minItems":1,"maxItems":100},"status":{"description":"The current status of the Vulnerability.\n","title":"VulnerabilityStatus","type":"string","enum":["open","closed","ignored","unknown"],"example":"open"},"additionalInfo":{"title":"VulnerabilityAdditionalInfo","description":"Extra information (optional). This data will be shown in the security feature under the vulnerability displayName.\n","type":"object","required":["content"],"properties":{"content":{"description":"The content of the additionalInfo.\n","type":"string","maxLength":255,"example":"More information on the vulnerability, as a string"},"url":{"description":"Optional URL linking to the information\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/CWE-123/additionalInfo"}}},"addAssociations":{"description":"The associations (e.g. Jira issue) to add in addition to the currently stored associations of the Security Vulnerability.\n","type":"array","items":{"anyOf":[{"title":"IssueIdOrKeysAssociation","description":"An association type referencing Jira issue id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type.\n","type":"string","enum":["issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue id or keys to associate the Security information with.\n\nThe number of values counted across all associationTypes (issueIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueIdOrKeys","description":"A Jira issue id or key.\n","type":"string","maxLength":255,"example":"some-issue-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["PROJ-1234"]}}]},"minItems":0,"maxItems":1},"removeAssociations":{"description":"The associations (e.g. Jira issue) to remove from currently stored associations of the Security Vulnerability.\n","type":"array","items":{"anyOf":[{"title":"IssueIdOrKeysAssociation","description":"An association type referencing Jira issue id or keys.\n","type":"object","required":["associationType","values"],"properties":{"associationType":{"description":"Defines the association type.\n","type":"string","enum":["issueIdOrKeys"],"example":"issueIdOrKeys"},"values":{"description":"The Jira issue id or keys to associate the Security information with.\n\nThe number of values counted across all associationTypes (issueIdOrKeys) must not exceed a limit of 500.\n","type":"array","items":{"title":"IssueIdOrKeys","description":"A Jira issue id or key.\n","type":"string","maxLength":255,"example":"some-issue-key"},"minItems":1,"maxItems":500}},"example":{"associationType":"issueIdOrKeys","values":["PROJ-1234"]}}]},"minItems":0,"maxItems":1},"associationsLastUpdated":{"description":"An ISO-8601 Date-time string representing the last time the provider updated associations on this entity.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"associationsUpdateSequenceNumber":{"description":"A sequence number to compare when writing entity associations to the database.\n\nThis can be any monotonically increasing number. A highly recommended implementation is to use epoch millis.\n\nThis is an optional field. If it is not provided it will default to being equal to the corresponding entity's `updateSequenceNumber`.\n\nAssociations are written following a LastWriteWins strategy, association that are received with an associationsUpdateSequenceNumber lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448}},"additionalProperties":false,"description":"Data related to a specific vulnerability in a specific workspace that the vulnerability is present in. Must specify at least one association.\n"}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given Vulnerability ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteVulnerabilityById","summary":"Delete a Vulnerability by ID","tags":["Security Information"],"description":"Delete the Vulnerability data currently stored for the given ID.\n\nDeletion is performed asynchronously. The GET vulnerability endpoint can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraSecurityInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"vulnerabilityId","in":"path","description":"The ID of the Vulnerability to delete.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"202":{"description":"Delete has been accepted. If the data exists, it will eventually be removed from Jira.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the `jiraSecurityInfoProvider` module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Security Information module it will be rejected with a 403.\n\nRead more about JWT [here](https://developer.atlassian.com/blog/2015/01/understanding-jwt/).\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/operations/1.0/linkedWorkspaces/bulk":{"post":{"operationId":"submitOperationsWorkspaces","summary":"Submit Operations Workspace Ids","tags":["Operations"],"description":"Insert Operations Workspace IDs to establish a relationship between them and the Jira site the app is installed in. If a relationship between the Workspace ID and Jira already exists then the workspace ID will be ignored and Jira will process the rest of the entries.\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitOperationsWorkspacesRequest","description":"The payload used to submit (update / insert) Operations Workspace ids.","required":["workspaceIds"],"properties":{"workspaceIds":{"title":"Operations Workspace Ids","description":"The IDs of Operations Workspaces that are available to this Jira site.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"],"minItems":1,"maxItems":100}}}}},"description":"Operations Workspace ids to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted Operations Workspace ID will be linked to Jira.\n","content":{"application/json":{"schema":{"title":"SubmitOperationsWorkspacesResponse","description":"The result of a successful submitOperationsWorkspaces request.\n","properties":{"acceptedWorkspaceIds":{"description":"The IDs of Operations Workspaces that have been linked to the Jira site in this request.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"]}}}}}},"400":{"description":"Request has incorrect format.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Set of Ids is too large. Submit fewer Ids in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"maxItems":100,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"delete":{"operationId":"deleteWorkspaces","summary":"Delete Operations Workpaces by Id","tags":["Operations"],"description":"Bulk delete all Operations Workspaces that match the given request.\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n\ne.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666\n","responses":{"202":{"description":"Delete accepted. Workspaces and relate data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"maxItems":100,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"maxItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Operations module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/operations/1.0/linkedWorkspaces":{"get":{"operationId":"getWorkspaces","summary":"Get all Operations Workspace IDs or a specific Operations Workspace by ID","tags":["Operations"],"description":"Retrieve the either all Operations Workspace IDs associated with the Jira site or a specific Operations Workspace ID for the given ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\ne.g. GET /workspace?workspaceId=111-222-333\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","responses":{"200":{"description":"Either the ID provided if stored or a list of available IDs.\n","content":{"application/json":{"schema":{"title":"OperationsWorkspaceIds","description":"The payload of Operations Workspace Ids.","required":["workspaceIds"],"properties":{"workspaceIds":{"title":"Operations Workspace Ids","description":"The IDs of Operations Workspaces that are available to this Jira site.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"],"minItems":1}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given Workspace ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Operations Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/operations/1.0/bulk":{"post":{"operationId":"submitEntity","summary":"Submit Incident or Review data","tags":["Operations"],"description":"Update / insert Incident or Review data.\n\nIncidents and reviews are identified by their ID, and existing Incident and Review data for the same ID will be replaced if it exists and the updateSequenceNumber of existing data is less than the incoming data.\n\nSubmissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The getIncidentById or getReviewById operation can be used to confirm that data has been stored successfully (if needed).\n\nIn the case of multiple Incidents and Reviews being submitted in one request, each is validated individually prior to submission. Details of which entities failed submission (if any) are available in the response object.\n\nA maximum of 1000 incidents can be submitted in one request.\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitIncidentsRequest","description":"The payload used to submit (update / insert) Incident data.","anyOf":[{"type":"object","properties":{"incidents":{"type":"array","items":{"title":"Incident","required":["schemaVersion","id","updateSequenceNumber","summary","affectedComponents","description","url","createdDate","lastUpdated","status"],"properties":{"schemaVersion":{"description":"The IncidentData schema version used for this incident data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Incident. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Incident in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Incident and increment that on each update to Jira).\n\nUpdates for a Incident that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"affectedComponents":{"description":"The IDs of the Components impacted by this Incident. Must be unique for a given Provider.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"],"minItems":1,"maxItems":100},"summary":{"description":"The human-readable summary for the Incident. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"Unable to log into VPN"},"description":{"description":"A description of the issue in Markdown format. Will be shown in the UI and used when creating Jira Issues.\n","type":"string","maxLength":5000,"example":null},"url":{"description":"A URL users can use to link to a summary view of this incident, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the incident in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/ITHELPDESK-9/summary"},"createdDate":{"description":"The timestamp to present to the user that shows when the Incident was raised.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the Incident was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"severity":{"title":"IncidentSeverity","description":"Severity information for a single Incident.\n\nThis is the severity information that will be presented to the user on e.g. the Jira Incidents screen.\n","required":["level"],"properties":{"level":{"description":"The severity level of the Incident with P1 being the highest and P5 being the lowest","type":"string","enum":["P1","P2","P3","P4","P5","unknown"],"example":"P1"}},"minItems":1},"status":{"description":"The current status of the Incident.\n","title":"IncidentStatus","type":"string","enum":["open","resolved","unknown"],"example":"open"},"associations":{"description":"The IDs of the Jira issues related to this Incident. Must be unique for a given Provider.\n","type":"array","items":{"title":"Associations","description":"","type":"object","properties":{"associationType":{"description":"the type of the association being made","type":"string","enum":["issueIdOrKeys","serviceIdOrKeys","ati:cloud:compass:event-source"],"example":"issueIdOrKeys"},"values":{"type":"array","items":{"type":"string","example":"ITSM-123"}}}},"minItems":1,"maxItems":100}},"additionalProperties":false,"description":"Data related to a specific incident in a specific container that the incident is present in. Must specify at least one association to a component.\n"},"minItems":1,"maxItems":1000}}},{"type":"object","properties":{"reviews":{"type":"array","items":{"title":"Review","required":["schemaVersion","id","updateSequenceNumber","summary","reviews","description","url","createdDate","lastUpdated","status"],"properties":{"schemaVersion":{"description":"The PostIncidentReviewData schema version used for this post-incident review data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Review. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Review in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Review and increment that on each update to Jira).\n\nUpdates for a Review that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"reviews":{"description":"The IDs of the Incidents covered by this Review. Must be unique for a given Provider.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"],"minItems":1,"maxItems":100},"summary":{"description":"The human-readable summary for the Post-Incident Review. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"PIR - Unable to log into VPN"},"description":{"description":"A description of the review in Markdown format. Will be shown in the UI and used when creating Jira Issues.\n","type":"string","maxLength":5000,"example":null},"url":{"description":"A URL users can use to link to a summary view of this review, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the review in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/ITHELPDESK-9/summary"},"createdDate":{"description":"The timestamp to present to the user that shows when the Review was raised.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the Review was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"status":{"description":"The current status of the Post-Incident Review.\n","title":"Review status","type":"string","enum":["in progress","outstanding actions","completed","unknown"],"example":"open"},"associations":{"description":"The IDs of the Jira issues related to this Incident. Must be unique for a given Provider.\n","type":"array","items":{"title":"Associations","description":"","type":"object","properties":{"associationType":{"description":"the type of the association being made","type":"string","enum":["issueIdOrKeys","serviceIdOrKeys","ati:cloud:compass:event-source"],"example":"issueIdOrKeys"},"values":{"type":"array","items":{"type":"string","example":"ITSM-123"}}}},"minItems":1,"maxItems":100}},"additionalProperties":false,"description":"Data related to a specific post-incident review. Must specify at least one association to an incident.\n"},"minItems":1,"maxItems":1000}}}],"properties":{"properties":{"title":"Properties","description":"Properties assigned to incidents/components/review data that can then be used for delete / query operations.\n\nExamples might be an account or user ID that can then be used to clean up data if an account is removed from the Provider system.\n\nProperties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':' or start with '_'.\n","type":"object","additionalProperties":{"type":"string","maxLength":255},"maxProperties":5,"example":{"accountId":"account-234","projectId":"project-123"}},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging,\nand other internal uses. It is not considered private information. Hence, it may not contain personally\nidentifiable information.\n","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the incidents.","example":"Atlassian Operations Platform 2.1.0"}},"additionalProperties":false}}}}},"description":"Incident data to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted Incident that is of a valid format will be eventually available in Jira.\n\nDetails of which Incidents were submitted and which failed submission (due to data format problems etc.) are available in the response object.\n","content":{"application/json":{"schema":{"title":"SubmitIncidentsResponse","description":"The result of a successful submitIncidents request.\n","properties":{"acceptedIncidents":{"description":"The IDs of Incidents that have been accepted for submission.\n\nA Incident may be rejected if it was only associated with unknown project keys.\n\nNote that a Incident that isn't updated due to it's updateSequenceNumber being out of order is not considered a failed submission.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"]},"failedIncidents":{"description":"Details of Incidents that have not been accepted for submission, usually due to a problem with the request data.\n\nThe object (if present) will be keyed by Incident ID and include any errors associated with that Incident that have prevented it being submitted.\n","type":"object","additionalProperties":{"type":"array","items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}},"unknownProjectKeys":{"description":"Project keys that are not known on this Jira instance (if any).\n\nThese may be invalid keys (e.g. `UTF` is sometimes incorrectly identified as a Jira project key), or they may be for projects that no longer exist.\n\nIf a Incident has been associated with project keys other than those in this array it will still be stored against those valid keys.\nIf a Incident was only associated with project keys deemed to be invalid it won't be persisted.\n","type":"array","items":{"title":"ProjectKey","description":"An Project key that references an issue in Jira.\n","type":"string","pattern":"^\\w{1,255}$","example":"PROJ"}}}}}}},"400":{"description":"Request has incorrect format.\n\nNote that in the case of an individual Incident having an invalid format (rather than the request as a whole) the response for the request will be a 202 and details of the invalid Incident will be contained in the response object.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Data is too large. Submit fewer Incidents in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Operations Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/operations/1.0/bulkByProperties":{"delete":{"operationId":"deleteEntityByProperty","summary":"Delete Incidents or Review by Property","tags":["Operations"],"description":"Bulk delete all Entties that match the given request.\n\nOne or more query params must be supplied to specify Properties to delete by.\nIf more than one Property is provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND).\nSee the documentation for the submitEntity operation for more details.\n\ne.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456\n\nDeletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format (e.g. missing at least one Property param).\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Operations Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/operations/1.0/incidents/{incidentId}":{"get":{"operationId":"getIncidentById","summary":"Get a Incident by ID","tags":["Operations"],"description":"Retrieve the currently stored Incident data for the given ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"incidentId","in":"path","description":"The ID of the Incident to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"200":{"description":"The Incident data currently stored for the given ID.\n","content":{"application/json":{"schema":{"required":["schemaVersion","id","updateSequenceNumber","summary","affectedComponents","description","url","createdDate","lastUpdated","status"],"properties":{"schemaVersion":{"description":"The IncidentData schema version used for this incident data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Incident. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Incident in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Incident and increment that on each update to Jira).\n\nUpdates for a Incident that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"affectedComponents":{"description":"The IDs of the Components impacted by this Incident. Must be unique for a given Provider.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"],"minItems":1,"maxItems":100},"summary":{"description":"The human-readable summary for the Incident. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"Unable to log into VPN"},"description":{"description":"A description of the issue in Markdown format. Will be shown in the UI and used when creating Jira Issues.\n","type":"string","maxLength":5000,"example":null},"url":{"description":"A URL users can use to link to a summary view of this incident, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the incident in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/ITHELPDESK-9/summary"},"createdDate":{"description":"The timestamp to present to the user that shows when the Incident was raised.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the Incident was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"severity":{"title":"IncidentSeverity","description":"Severity information for a single Incident.\n\nThis is the severity information that will be presented to the user on e.g. the Jira Incidents screen.\n","required":["level"],"properties":{"level":{"description":"The severity level of the Incident with P1 being the highest and P5 being the lowest","type":"string","enum":["P1","P2","P3","P4","P5","unknown"],"example":"P1"}},"minItems":1},"status":{"description":"The current status of the Incident.\n","title":"IncidentStatus","type":"string","enum":["open","resolved","unknown"],"example":"open"},"associations":{"description":"The IDs of the Jira issues related to this Incident. Must be unique for a given Provider.\n","type":"array","items":{"title":"Associations","description":"","type":"object","properties":{"associationType":{"description":"the type of the association being made","type":"string","enum":["issueIdOrKeys","serviceIdOrKeys","ati:cloud:compass:event-source"],"example":"issueIdOrKeys"},"values":{"type":"array","items":{"type":"string","example":"ITSM-123"}}}},"minItems":1,"maxItems":100}},"additionalProperties":false,"description":"Data related to a specific incident in a specific container that the incident is present in. Must specify at least one association to a component.\n"}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given Incident ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteIncidentById","summary":"Delete a Incident by ID","tags":["Operations"],"description":"Delete the Incident data currently stored for the given ID.\n\nDeletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"incidentId","in":"path","description":"The ID of the Incident to delete.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"202":{"description":"Delete has been accepted. Data will eventually be removed from Jira if it exists.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Operations Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/operations/1.0/post-incident-reviews/{reviewId}":{"get":{"operationId":"getReviewById","summary":"Get a Review by ID","tags":["Operations"],"description":"Retrieve the currently stored Review data for the given ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"reviewId","in":"path","description":"The ID of the Review to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"200":{"description":"The Review data currently stored for the given ID.\n","content":{"application/json":{"schema":{"required":["schemaVersion","id","updateSequenceNumber","summary","reviews","description","url","createdDate","lastUpdated","status"],"properties":{"schemaVersion":{"description":"The PostIncidentReviewData schema version used for this post-incident review data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the Review. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this Review in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Review and increment that on each update to Jira).\n\nUpdates for a Review that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"reviews":{"description":"The IDs of the Incidents covered by this Review. Must be unique for a given Provider.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"],"minItems":1,"maxItems":100},"summary":{"description":"The human-readable summary for the Post-Incident Review. Will be shown in the UI.\n\nIf not provided, will use the ID for display.\n","type":"string","maxLength":255,"example":"PIR - Unable to log into VPN"},"description":{"description":"A description of the review in Markdown format. Will be shown in the UI and used when creating Jira Issues.\n","type":"string","maxLength":5000,"example":null},"url":{"description":"A URL users can use to link to a summary view of this review, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the review in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/ITHELPDESK-9/summary"},"createdDate":{"description":"The timestamp to present to the user that shows when the Review was raised.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the Review was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"},"status":{"description":"The current status of the Post-Incident Review.\n","title":"Review status","type":"string","enum":["in progress","outstanding actions","completed","unknown"],"example":"open"},"associations":{"description":"The IDs of the Jira issues related to this Incident. Must be unique for a given Provider.\n","type":"array","items":{"title":"Associations","description":"","type":"object","properties":{"associationType":{"description":"the type of the association being made","type":"string","enum":["issueIdOrKeys","serviceIdOrKeys","ati:cloud:compass:event-source"],"example":"issueIdOrKeys"},"values":{"type":"array","items":{"type":"string","example":"ITSM-123"}}}},"minItems":1,"maxItems":100}},"additionalProperties":false,"description":"Data related to a specific post-incident review. Must specify at least one association to an incident.\n"}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given Review ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteReviewById","summary":"Delete a Review by ID","tags":["Operations"],"description":"Delete the Review data currently stored for the given ID.\n\nDeletion is performed asynchronously. The getReviewById operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraOperationsInfoProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"reviewId","in":"path","description":"The ID of the Review to delete.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"202":{"description":"Delete has been accepted. Data will eventually be removed from Jira if it exists.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Operations Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/devopscomponents/1.0/bulk":{"post":{"operationId":"submitComponents","summary":"Submit DevOps Components","tags":["DevOps Components"],"description":"Update / insert DevOps Component data.\n\nComponents are identified by their ID, and existing Component data for the same ID will be replaced if it exists and the updateSequenceNumber of existing data is less than the incoming data.\n\nSubmissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The getComponentById operation can be used to confirm that data has been stored successfully (if needed).\n\nIn the case of multiple Components being submitted in one request, each is validated individually prior to submission. Details of which Components failed submission (if any) are available in the response object.\n\nA maximum of 1000 components can be submitted in one request.\n\nOnly Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource.\nThis resource requires the 'WRITE' scope for Connect apps.\n","requestBody":{"content":{"application/json":{"schema":{"title":"SubmitDevopsComponentsRequest","description":"The payload used to submit (update / insert) DevOps Component data.","required":["components"],"properties":{"properties":{"title":"Properties","description":"Properties assigned to incidents/components/review data that can then be used for delete / query operations.\n\nExamples might be an account or user ID that can then be used to clean up data if an account is removed from the Provider system.\n\nProperties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':' or start with '_'.\n","type":"object","additionalProperties":{"type":"string","maxLength":255},"maxProperties":5,"example":{"accountId":"account-234","projectId":"project-123"}},"components":{"type":"array","items":{"title":"Component","required":["schemaVersion","id","updateSequenceNumber","name","description","url","avatarUrl","tier","componentType","lastUpdated"],"properties":{"schemaVersion":{"description":"The DevOpsComponentData schema version used for this devops component data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the DevOps Component. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this DevOps Component in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each DevOps Component and increment that on each update to Jira).\n\nUpdates for a DevOps Component that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"name":{"description":"The human-readable name for the DevOps Component. Will be shown in the UI.\n","type":"string","maxLength":255,"example":"Galactus"},"providerName":{"description":"The human-readable name for the Provider that owns this DevOps Component. Will be shown in the UI.\n","type":"string","maxLength":255,"example":"Marvel"},"description":{"description":"A description of the DevOps Component in Markdown format. Will be shown in the UI.\n","type":"string","maxLength":5000,"example":null},"url":{"description":"A URL users can use to link to a summary view of this devops component, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the component in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/MS/galactus/summary"},"avatarUrl":{"description":"A URL to display a logo representing this devops component, if available.\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/MS/galactus/logo"},"tier":{"description":"The tier of the component. Will be shown in the UI.\n","type":"string","enum":["Tier 1","Tier 2","Tier 3","Tier 4"],"example":"Tier 1"},"componentType":{"description":"The type of the component. Will be shown in the UI.\n","type":"string","enum":["Service","Application","Library","Capability","Cloud resource","Data pipeline","Machine learning model","UI element","Website","Other"],"example":"Service"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the DevOps Component was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"}},"additionalProperties":false,"description":"Data related to a specific component in a specific workspace that is affected by incidents.\n"},"minItems":1,"maxItems":1000},"providerMetadata":{"title":"ProviderMetadata","description":"Information about the provider. This is useful for auditing, logging, debugging,\nand other internal uses. It is not considered private information. Hence, it may not contain personally\nidentifiable information.\n","type":"object","properties":{"product":{"type":"string","description":"An optional name of the source of the incidents.","example":"Atlassian Operations Platform 2.1.0"}},"additionalProperties":false}}}}},"description":"DevOps Component data to submit.\n","required":true},"responses":{"202":{"description":"Submission accepted. Each submitted Component that is of a valid format will be eventually available in Jira.\nDetails of which Components were submitted and which failed submission (due to data format problems etc.) are available in the response object.\n","content":{"application/json":{"schema":{"title":"SubmitDevopsComponentsResponse","description":"The result of a successful submitDevopsComponents request.\n","properties":{"acceptedComponents":{"description":"The IDs of Components that have been accepted for submission.\n\nA Component may be rejected if it was only associated with unknown project keys.\n\nNote that a Component that isn't updated due to it's updateSequenceNumber being out of order is not considered a failed submission.\n","type":"array","items":{"type":"string"},"example":["111-222-333","444-555-666"]},"failedComponents":{"description":"Details of Components that have not been accepted for submission, usually due to a problem with the request data.\n\nThe object (if present) will be keyed by Component ID and include any errors associated with that Component that have prevented it being submitted.\n","type":"object","additionalProperties":{"type":"array","items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}},"unknownProjectKeys":{"description":"Project keys that are not known on this Jira instance (if any).\n\nThese may be invalid keys (e.g. `UTF` is sometimes incorrectly identified as a Jira project key), or they may be for projects that no longer exist.\n\nIf a Component has been associated with project keys other than those in this array it will still be stored against those valid keys.\nIf a Component was only associated with project keys deemed to be invalid it won't be persisted.\n","type":"array","items":{"title":"ProjectKey","description":"An Project key that references a project in Jira.\n","type":"string","pattern":"^\\w{1,255}$","example":"PROJ"}}}}}}},"400":{"description":"Request has incorrect format.\n\nNote that in the case of an individual Component having an invalid format (rather than the request as a whole) the response for the request will be a 202 and details of the invalid Component will be contained in the response object.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'WRITE' scope.\n"},"413":{"description":"Data is too large. Submit fewer Components in each payload.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"maxItems":100,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"WRITE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the DevOps Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/devopscomponents/1.0/bulkByProperties":{"delete":{"operationId":"deleteComponentsByProperty","summary":"Delete DevOps Components by Property","tags":["DevOps Components"],"description":"Bulk delete all Components that match the given request.\n\nOne or more query params must be supplied to specify Properties to delete by.\nIf more than one Property is provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND).\nSee the documentation for the submitComponents operation for more details.\n\ne.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456\n\nDeletion is performed asynchronously. The getComponentById operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","responses":{"202":{"description":"Delete accepted. Data will eventually be removed from Jira.\n"},"400":{"description":"Request has incorrect format (e.g. missing at least one Property param).\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define the Operations Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]},"/rest/devopscomponents/1.0/{componentId}":{"get":{"operationId":"getComponentById","summary":"Get a Component by ID","tags":["DevOps Components"],"description":"Retrieve the currently stored Component data for the given ID.\n\nThe result will be what is currently stored, ignoring any pending updates or deletes.\n\nOnly Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource.\nThis resource requires the 'READ' scope for Connect apps.\n","parameters":[{"name":"componentId","in":"path","description":"The ID of the Component to fetch.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"200":{"description":"The Component data currently stored for the given ID.\n","content":{"application/json":{"schema":{"required":["schemaVersion","id","updateSequenceNumber","name","description","url","avatarUrl","tier","componentType","lastUpdated"],"properties":{"schemaVersion":{"description":"The DevOpsComponentData schema version used for this devops component data.\n\nPlaceholder to support potential schema changes in the future.\n","type":"string","enum":["1.0"],"default":"1.0","example":"1.0"},"id":{"description":"The identifier for the DevOps Component. Must be unique for a given Provider.\n","type":"string","maxLength":255,"example":"111-222-333"},"updateSequenceNumber":{"description":"An ID used to apply an ordering to updates for this DevOps Component in the case of out-of-order receipt of update requests.\n\nThis can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each DevOps Component and increment that on each update to Jira).\n\nUpdates for a DevOps Component that are received with an updateSqeuenceId lower than what is currently stored will be ignored.\n","type":"integer","format":"int64","example":1523494301448},"name":{"description":"The human-readable name for the DevOps Component. Will be shown in the UI.\n","type":"string","maxLength":255,"example":"Galactus"},"providerName":{"description":"The human-readable name for the Provider that owns this DevOps Component. Will be shown in the UI.\n","type":"string","maxLength":255,"example":"Marvel"},"description":{"description":"A description of the DevOps Component in Markdown format. Will be shown in the UI.\n","type":"string","maxLength":5000,"example":null},"url":{"description":"A URL users can use to link to a summary view of this devops component, if appropriate.\n\nThis could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific project, it might make sense to link the user to the component in that project).\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/MS/galactus/summary"},"avatarUrl":{"description":"A URL to display a logo representing this devops component, if available.\n","type":"string","format":"uri","maxLength":2000,"example":"https://example.com/project/MS/galactus/logo"},"tier":{"description":"The tier of the component. Will be shown in the UI.\n","type":"string","enum":["Tier 1","Tier 2","Tier 3","Tier 4"],"example":"Tier 1"},"componentType":{"description":"The type of the component. Will be shown in the UI.\n","type":"string","enum":["Service","Application","Library","Capability","Cloud resource","Data pipeline","Machine learning model","UI element","Website","Other"],"example":"Service"},"lastUpdated":{"description":"The last-updated timestamp to present to the user the last time the DevOps Component was updated.\n\nExpected format is an RFC3339 formatted string.\n","type":"string","format":"date-time","example":"2018-01-20T23:27:25.000Z"}},"additionalProperties":false,"description":"Data related to a specific component in a specific workspace that is affected by incidents.\n"}}}},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'READ' scope.\n"},"404":{"description":"No data found for the given Component ID.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"READ"},"delete":{"operationId":"deleteComponentById","summary":"Delete a Component by ID","tags":["DevOps Components"],"description":"Delete the Component data currently stored for the given ID.\n\nDeletion is performed asynchronously. The getComponentById operation can be used to confirm that data has been deleted successfully (if needed).\n\nOnly Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource.\nThis resource requires the 'DELETE' scope for Connect apps.\n","parameters":[{"name":"componentId","in":"path","description":"The ID of the Component to delete.\n","required":true,"schema":{"type":"string","maxLength":255}}],"responses":{"202":{"description":"Delete has been accepted. Data will eventually be removed from Jira if it exists.\n"},"401":{"description":"Missing a JWT token, or token is invalid.\n"},"403":{"description":"The JWT token used does not correspond to an app that defines the Operations Information module,\nor the app does not define the 'DELETE' scope.\n"},"429":{"description":"API rate limit has been exceeded.\n"},"503":{"description":"Service is unavailable due to maintenance or other reasons.\n"},"default":{"description":"An unknown error has occurred.\n","content":{"application/json":{"schema":{"title":"ErrorMessages","description":"Messages supplied in the case of an error.","type":"array","minItems":1,"items":{"title":"ErrorMessage","description":"A message supplied in the case of an error.","required":["message"],"properties":{"message":{"type":"string","description":"A human-readable message describing the error."},"errorTraceId":{"type":"string","description":"An optional trace ID that can be used by Jira developers to locate the source of the error."}}}}}}}},"x-atlassian-connect-scope":"DELETE"},"parameters":[{"name":"Authorization","in":"header","description":"All requests must be signed with a Connect JWT token that corresponds to the Provider app installed in Jira.\n\nIf the JWT token corresponds to an app that does not define Operations Information module it will be rejected with a 403.\n\nSee https://developer.atlassian.com/blog/2015/01/understanding-jwt/ for more details.\n","required":true,"schema":{"type":"string","pattern":"JWT \\S+"}}]}},"servers":[{"url":"https://your-domain.atlassian.net"}],"tags":[{"description":"Apis related to the backlog","name":"Backlog"},{"description":"Apis related to boards","name":"Board"},{"description":"Apis related to epics","name":"Epic"},{"description":"Apis related to issues","name":"Issue"},{"description":"Apis related to sprints","name":"Sprint"},{"name":"Development Information","description":"APIs related to integrating development information (commits, branches and pull requests) with Jira. These APIs are available to Atlassian Connect apps and on-premise integrations using OAuth. Connect apps using these APIs must have the Development Tool module in the app descriptor, see https://developer.atlassian.com/cloud/jira/software/modules/development-tool/. For more details on integrating Jira Software Cloud with on-premises tools using OAuth 2.0 credentials, see https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/."},{"name":"Feature Flags","description":"Apis related to integrating Feature Flags with Jira Software. These apis are only available to Atlassian Connect apps. To use these apis you must have the Feature Flag module (see https://developer.atlassian.com/cloud/jira/software/modules/feature-flag/) in your app's descriptor"},{"name":"Deployments","description":"APIs related to integrating deployments data with Jira Software. These APIs\nare available to Atlassian Connect apps. To use these APIs you must\nhave the Deployment module see https://developer.atlassian.com/cloud/jira/software/modules/deployment/\nin your app's descriptor. They are also related to integrating Jira\nSoftware Cloud with on-premises tools using\nOAuth 2.0 credentials, see https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/.\n"},{"name":"Builds","description":"APIs related to integrating builds data with Jira Software. These APIs\nare available to Atlassian Connect apps. To use these APIs you must\nhave the Build module see https://developer.atlassian.com/cloud/jira/software/modules/build/\nin your app's descriptor. They are also related to integrating Jira\nSoftware Cloud with on-premises tools using\nOAuth 2.0 credentials, see https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/.\n"},{"name":"Remote Links","description":"APIs related to integrating Remote Links data with Jira Software. These APIs are available to Atlassian Connect\napps. To use these APIs you must have the Remote Link module in your app's descriptor. Read more about Jira Software modules [here](https://developer.atlassian.com/cloud/jira/software/about-jira-modules/).\n\n# Module\n\nThe Remote Link module allows third-party providers to add a generic link through a public REST API and associate it with Jira issues or services.\n\nSupplied remote link information will be presented in the right sidebar of the new Jira issue view under Releases.\n\nThis module also provides actions, which allows users to perform an action on the remote link.\n\nNote that the module key and name are not private and should therefore not contain any sensitive or personally identifiable information.\n\n## Example Module\n\nAn example can also be found at [jira-data-provider-sample-addon](https://bitbucket.org/atlassianlabs/jira-data-provider-sample-addon/src/master/), which has an `atlassian-connect.json`.\n\n```\n{\n \"modules\": {\n \"jiraRemoteLinkInfoProvider\": {\n \"homeUrl\": \"https://my-remotelink-provider.com\",\n \"logoUrl\": \"https://my-remotelink-provider.com/images/logo.svg\",\n \"documentationUrl\": \"https://my-remotelink-provider.com/docs/jira-integration\",\n \"actions\": [\n {\n \"actionId\": \"action-1\",\n \"actionLabel\": {\n \"value\": {\n \"value\": \"Acknowledge\"\n }\n },\n \"templateUrl\": \"https://my-remotelink-provider.com/ack/{ack-id}\"\n }\n ],\n \"name\": {\n \"value\": \"My Remote Link Provider\"\n },\n \"key\": \"remotelink-integration\"\n }\n }\n}\n```\n\n### Properties\n\n| Property | type | Description | Required |\n|------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| key | string | A key to identify this module. Must match `^[a-zA-Z0-9-]+$` pattern, with a max length of 100 | Yes |\n| name | object (i18N) | A human readable name. This object supports [internationalization](https://developer.atlassian.com/cloud/jira/software/internationalization/). | Yes |\n| homeUrl | string | URL to the provider’s homepage | Yes |\n| logoUrl | string | Optional URL to the provider’s logo, which will be displayed in the UI | |\n| documentationUrl | string | Optional URL to documentation about the provider’s Jira integration | |\n| actions | object | Optional actions that can be performed by Jira users on the remote link\n\n### Actions object\n\n| Property | type | Description | Required |\n|-------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| actionId | string | A key to identify a specific action. Used for associating a specific Remote link to an action of this ID.
The actionId of an action must be unique across all actions. | Yes |\n| actionLabel | object | The actionLabel of an Action is shown visibly to the User alongside the Remote Link. | Yes |\n| templateUrl | string | The templateUrl of an Action is a template where strings can be substituted into the URL for a specific Remote Link.
Strings used in the templateUrl must be passed in via an attribute map when associating an action with a remote link. | Yes |\n\n### ActionLabel Object\n\n| Property | type | Description | Required |\n|----------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| value | object (i18n) | The label shown on the UI. This object supports [internationalization](https://developer.atlassian.com/cloud/jira/software/internationalization/). | Yes |\n"},{"name":"Security Information","description":"Send security information to Jira Software and enable your teams to turn unplanned vulnerabilities into planned and tracked work.\n\nSecurity is everyone's responsibility, and the security feature in Jira lets you triage and track relevant vulnerabilities as a team. Discuss and prioritise issues, minimise errors and duplication, and plan security work to complete in your sprints.\n\nAPIs related to integrating Security information with Jira Software are available to Atlassian Connect apps. To use these APIs you must have the Security module in your app's descriptor. Read more about Jira Software modules [here](https://developer.atlassian.com/cloud/jira/software/about-jira-modules/).\n"},{"name":"Operations","description":"APIs related to integrating Incident and Post-Incident Review (PIR) data with Jira Software. These APIs are available to Atlassian Connect\napps. To use these APIs you must have the Operations module in your app's descriptor. Read more about Jira Software modules [here](https://developer.atlassian.com/cloud/jira/software/about-jira-modules/).\n\n# Module\n\nThe Operations module allows third-party providers to add incident and PIR information through a public REST API.\n\nSupplied incident information will be presented in the Incidents page in Jira Software, and as a link to any issues created via the Incidents Page.\n\nThis module also provides actions, one which allows Jira to provide a direct link to the operations provider where the user can create a post-incident review and two which allow Jira to search for relevant workspaces and devops components.\n\nNote that the module key and name are not private and therefore should not contain any sensitive or personally identifiable information.\n\n## Example Module\n\nAn example can also be found at [jira-data-provider-sample-addon](https://bitbucket.org/atlassianlabs/jira-data-provider-sample-addon/src/master/), which has an `atlassian-connect.json`.\n\n```\n{\n \"modules\": {\n \"jiraOperationsInfoProvider\": {\n \"homeUrl\": \"https://my-operations-provider.com\",\n \"logoUrl\": \"https://my-operations-provider.com/images/logo.svg\",\n \"documentationUrl\": \"https://my-operations-provider.com/docs/jira-integration\",\n \"actions\": {\n \"fetchWorkspaces\": {\n \"templateUrl\": \"/workspaces/list\"\n },\n \"searchContainers\": {\n \"templateUrl\": \"/containers/search\"\n },\n \"createPostIncidentReview\": {\n \"url\": \"https://my-operations-provider.com/my-workspace/create-post-incident-review?affected-component={component-id}&incident={incident-id}\n }\n },\n \"name\": {\n \"value\": \"My Operations Provider\"\n },\n \"key\": \"operations-integration\"\n }\n }\n}\n```\n\n### Properties\n\n| Property | type | Description | Required |\n|------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| key | string | A key to identify this module. Must match `^[a-zA-Z0-9-]+$` pattern, with a max length of 100 | Yes |\n| name | object (i18N) | A human readable name. This object supports [internationalization](https://developer.atlassian.com/cloud/jira/software/internationalization/). | Yes |\n| homeUrl | string | URL to the provider’s homepage | Yes |\n| logoUrl | string | Optional URL to the provider’s logo, which will be displayed in the UI | |\n| documentationUrl | string | Optional URL to documentation about the provider’s Jira integration | |\n| actions | object | Actions the can be used by Jira to improve the integrated experience | Yes |\n\n### Actions object\n\n| Property | type | Description | Required |\n|------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| fetchWorkspaces | object | An action defined by the provider to allow Jira to retrieve details about operations workspaces via a post endpoint. | Yes |\n| searchContainers | object | An action defined by the provider to allow Jira to search using details about devops components via a get endpoint. | Yes |\n| createPostIncidentReview | object | An action defined by the provider to allow Jira to create a new Post-Incident Review object via a post endpoint. | |\n"},{"name":"DevOps Components","description":"APIs related to integrating Dev Ops Components affected by Incident data with Jira Software. These APIs are available to Atlassian Connect\napps. To use these APIs you must have the DevOps Component module in your app's descriptor. Read more about Jira Software modules [here](https://developer.atlassian.com/cloud/jira/software/about-jira-modules/).\n\n# Module\nThe DevOps Component module allows third-party providers to add devops components through a public REST API.\n\nSupplied devops components information will be used by the Connection Manager tab in Jira to allow users to associate devops components with Jira projects. All incident and PIR information related to that devops component will be presented in the Incidents page in Jira Software, and as a link to any issues created via the Incidents Page.\n\nThis module also provides actions, two will be used by Jira to let the provider know when the devops component has been associated or disassociated with a Jira project, and two can be used by the Provider to associate a devops component with a Jira Issue.\n\nNote that the module key and name are not private and therefore should not contain any sensitive or personally identifiable information.\n\n## Example Module\n\nAn example can also be found at [jira-data-provider-sample-addon](https://bitbucket.org/atlassianlabs/jira-data-provider-sample-addon/src/master/), which has an `atlassian-connect.json`.\n\n```\n{\n \"modules\": {\n \"jiraDevOpsComponentProvider\": {\n \"homeUrl\": \"https://my-operations-provider.com\",\n \"logoUrl\": \"https://my-operations-provider.com/images/logo.svg\",\n \"documentationUrl\": \"https://my-operations-provider.com/docs/jira-integration\",\n \"actions\": {\n \"associateEntity\": {\n \"templateUrl\": \"/components/associate\"\n },\n \"disassociateEntity\": {\n \"templateUrl\": \"/components/disassociate\"\n },\n \"onEntityAssociated\": {\n \"templateUrl\": \"/components/associate\"\n },\n \"onEntityDisassociated\": {\n \"templateUrl\": \"/components/disassociate\"\n }\n },\n \"name\": {\n \"value\": \"My DevOps Component Provider\"\n },\n \"key\": \"devops-component-integration\"\n }\n }\n}\n```\n\n### Properties\n\n| Property | type | Description | Required |\n|------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| key | string | A key to identify this module. Must match `^[a-zA-Z0-9-]+$` pattern, with a max length of 100 | Yes |\n| name | object (i18N) | A human readable name. This object supports [internationalization](https://developer.atlassian.com/cloud/jira/software/internationalization/). | Yes |\n| homeUrl | string | URL to the provider’s homepage | Yes |\n| logoUrl | string | Optional URL to the provider’s logo, which will be displayed in the UI | |\n| documentationUrl | string | Optional URL to documentation about the provider’s Jira integration | |\n| actions | object | Actions the can be used by Jira to improve the integrated experience | Yes |\n\n### Actions object\n\n| Property | type | Description | Required |\n|------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|\n| associateEntity | object | An action defined by the provider to allow Jira to retrieve details about operations workspaces via a post endpoint. | Yes |\n| disassociateEntity | object | An action defined by the provider to allow Jira to search using details about operations workspaces via a get endpoint. | Yes |\n| onEntityAssociated | object | An action defined by the provider to allow Jira to create a new operations container via a post endpoint. | |\n| onEntityDisassociated | object | An action defined by the provider to allow Jira to create a new Post-Incident Review object via a post endpoint. | |\n"}],"x-atlassian-narrative":{"documents":[{"anchor":"introduction","body":"Welcome to the Jira Software Cloud REST API reference. You can use this REST API to build add-ons for Jira Software,\ndevelop integrations between Jira Software and other applications, or script interactions with Jira Software. This page\ndocuments the REST resources available in Jira Software Cloud, along with expected HTTP response codes and sample\nrequests.\n\nJira Software is built on the Jira platform. As such, there is an overlap in functionality\nbetween what is provided by Jira Software and what is provided by the Jira platform. The REST API reference for the\nJira Cloud platform is here: [Jira Cloud platform REST API](https://developer.atlassian.com/cloud/jira/platform/rest).\n\n## Authentication\n\n### Authentication for Atlassian Connect add-ons\n\nIf you are integrating with the Jira REST APIs via an Atlassian Connect add-on, API calls are authenticated via JWT\n(JSON Web Tokens). This is built into the supported Atlassian Connect libraries. At a high level, authentication works\nby the add-on exchanging a security context with the application. This context is used to create and validate JWT\ntokens, embedded in API calls. To learn more, read the [Atlassian Connect authentication documentation](https://developer.atlassian.com/cloud/jira/platform/authentication-for-apps/).\n\nSome integration APIs such as [Feature Flags](#api-group-Feature-Flags) are only available to Atlassian Connect apps that\ndefine the relevant [module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) related to that API.\nOther APIs, such as the [Development Information](#api-group-Development-Information), [Builds](#api-group-Builds), and [Deployments](#api-group-Deployments) APIs\nare available to both Atlassian Connect apps and on-premises tools using Jira Software's\n[OAuth credentials](https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/) for system-to-system integration.\n\n### Authentication for REST API requests\n\nIf you are integrating directly with the REST APIs, rather than via an Atlassian Connect add-on, use one of the\nauthentication methods listed below:\n* [OAuth 2.0](https://developer.atlassian.com/cloud/jira/software/scopes-for-oauth-2-3LO-and-forge-apps/) -\n This token-based method is the recommended method. It is more flexible and secure than other options.\n * [OAuth 1.0a](https://developer.atlassian.com/cloud/jira/platform/jira-rest-api-oauth-authentication) -\n This is a legacy authentication method and, therefore, isn't recommended. Instead use OAuth 2.0.\n * [Basic HTTP](https://developer.atlassian.com/cloud/jira/platform/jira-rest-api-basic-authentication/) -\n This method is only recommended for tools like scripts or bots. It is easier to implement, but much less secure.\n\nNote, Jira itself uses cookie-based authentication in the browser, so you can call REST from Javascript on the page and\nrely on the authentication that the browser has established. To reproduce the behavior of the Jira log-in page (for\nexample, to display authentication error messages to users) can `POST` to the `/auth/1/session` [resource](https://docs.atlassian.com/jira/REST/cloud/#auth/1/session).\n\n### Authentication for on-premises integrations\n\nIf you are integrating an on-premises app with the Jira REST APIs, API calls are authenticated via an OAuth token.\nTo obtain a token, create a set of OAuth credentials with permissions for the APIs that app needs to access.\nUse the credentials to request a token by calling `https://api.atlassian.com/oauth/token`.\nSee [Integrating Jira Software Cloud with on-premises tools](https://developer.atlassian.com/cloud/jira/software/integrate-jsw-cloud-with-onpremises-tools/) for details.\nNote that only the [Development Information](#api-group-Development-Information), [Builds](#api-group-Builds), and [Deployments](#api-group-Deployments) APIs are currently available for on-premises integrations.\nTo simplify development, we have a separate [downloadable API spec](https://developer.atlassian.com/cloud/jira/software/on-premise-swagger.json).\n\nAtlassian has developed an [open source plugin for Jenkins](https://github.com/jenkinsci/atlassian-jira-software-cloud-plugin), which you can use to bootstrap development.\nThis plugin uses the authentication method described above and calls the Builds and Deployments APIs.\n\n\n#### Base URL differences\n\nWhen building an on-premises integration, the base URL for API operations is different to the base URL used for Connect apps. This is because requests from on-premises integrations (OAuth) need to be sent via the Atlassian API proxy at `https://api.atlassian.com`.\n\nThis document does not display the base URLs used by on-premises integrations. Therefore, when using an operation, you must replace `https://your-domain.atlassian.net/rest/{type}/{version}/{operation}`\nwith `https://api.atlassian.com/jira/{type}/{version}/cloud/{cloudId}/{operation}`.\n\nFor example:\n* Builds API: Change the path from `https://your-domain.atlassian.net/rest/builds/0.1/bulk` to `https://api.atlassian.com/jira/builds/0.1/cloud/{cloudId}/bulk`.\n* Development Information: Change the path from `https://your-domain.atlassian.net/rest/devinfo/0.10/bulk` to `https://api.atlassian.com/jira/devinfo/0.1/cloud/{cloudId}/bulk`. Note the version change.\n* Deployments: Change the path from `https://your-domain.atlassian.net/rest/deployments/0.1/bulk` to `https://api.atlassian.com/jira/deployments/0.1/cloud/{cloudId}/bulk`.\n\nNote, get the `cloudId` for a Jira instance by calling `https://your-domain.atlassian.net/_edge/tenant_info`.\n\n\n## URI structure\n\nJira Agile's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application\nwill make an HTTP request and parse the response. The Jira Agile REST API uses [JSON](http://en.wikipedia.org/wiki/JSON)\nas its communication format, and the standard HTTP methods like `GET`, `PUT`, `POST` and `DELETE` (see API descriptions\nbelow for which methods are available for each resource). URIs for Jira Agile's REST API resource have the following\nstructure:\n\n http://host:port/context/rest/api-name/api-version/resource-name\n\nCurrently there are two API names available, which will be discussed further below:\n\n * `auth` - for authentication-related operations, and\n * `api` - for everything else.\n\nThe current API version is `1`. However, there is also a symbolic version, called `latest`, which resolves to the\nlatest version supported by the given Jira Software Cloud instance. For example, if you wanted to retrieve the JSON\nrepresentation of a board with `boardId=123`, from a Jira Software Cloud instance at `https://jira.atlassian.net`, you\nwould access:\n\n https://jira.atlassian.net/rest/agile/latest/board/123\n\n## Pagination\n\nPagination is used for the Jira REST APIs to conserve server resources and limit response size for resources that\nreturn potentially large collection of items. A request to a pages API will result in a values array wrapped in a JSON\nobject with some paging metadata, like this:\n\n#### Request\n\n http://host:port/context/rest/api-name/api-version/resource-name?startAt=0&maxResults=10\n\n#### Response\n\n```javascript\n{\n \"startAt\" : 0,\n \"maxResults\" : 10,\n \"total\": 200,\n \"values\": [\n { /* result 0 */ },\n { /* result 1 */ },\n { /* result 2 */ }\n ]\n}\n```\n\n * `startAt` - the item used as the first item in the page of results.\n * `maxResults` - how many results to return per page.\n * `total` - the number of items that the calling user has permissions for. This number *may change* while the client requests the next pages. A client should always assume that the requested page can be empty. REST API consumers should also consider the field to be optional. This value may not be included in the response, if it is too expensive to calculate.\n\nClients can use the `startAt`, `maxResults`, and `total` parameters to retrieve the desired number of results. Note,\neach API resource or method may have a different limit on the number of items returned, which means you can ask for\nmore than you are given. The actual number of items returned is an implementation detail and this can be changed over\ntime.\n\n## Experimental methods\n\nMethods marked as experimental may change without an earlier notice. We are looking for your feedback for these methods.\n\n## Query parameters\n\nAll query parameters for the resources described below are optional, unless specified otherwise.\n\n## Special Request and Response headers\n\n - **X-Atlassian-Token** (request): Operations that accept multipart/form-data must include the `X-Atlassian-Token: no-check` header in requests.\nOtherwise the request will be blocked by XSRF protection.\n- **X-AACCOUNTID** (response): This response header contains the Atlassian account ID of the authenticated user.\n\n## Jira Software field input formats\n\nJira Software provides a number of custom fields, which are made available in the Jira platform REST API. The custom\nfields are: `Sprint`, `Epic link`, `Epic name`, and `Story points`.\n\nYou can read and edit these custom fields via the [issue resource](https://docs.atlassian.com/jira/REST/cloud/#api/2/issue)\nof the Jira Platform REST API. In order to identify the custom field that you want to read or edit, you'll need the\ncustom field id. To obtain the custom field id, retrieve the list of fields from the [fields resource](https://docs.atlassian.com/jira/REST/latest/#api/2/field-getFields)\nand search for the custom field. It's better to find the field based on the schema where possible (e.g. the Sprint\nfield is identified by \"`com.pyxis.greenhopper.jira:gh-sprint`\"), as custom field names are mutable. The custom field\nid will be in the id, (e.g. `id: customfield_10007`).\n\nIf you only need to get the value of the custom field for a single issue, you may want to use the [issue resource](https://docs.atlassian.com/jira-software/REST/cloud/#agile/1.0/issue-getIssue)\nprovided by the Jira Software REST API instead. This resource returns the issue with all Jira Software-specific fields,\nincluding the fields listed above. These fields will also be formatted as proper fields with keys, in the response.\n\nNote, Jira Software also has a number of internal custom fields, which are: `Epic Color`, `Epic Status`, `Flag`, `Rank`.\nThese internal fields shouldn't be read or updated using the REST API and are not documented below.\n\n##### Sprint custom field\n\nThe Sprint custom field contains a list of sprints for a given issue. This list includes the active/future sprint that\nthe issue is currently in, as well as any closed sprints that the issue was in previously.\n\nFor legacy reasons, the [Get issue (Jira platform) method](https://docs.atlassian.com/jira/REST/cloud/#api/2/issue-getIssue)\nreturns the Sprint custom field with sprints in a `toString` format, which is difficult to parse. See the example below.\n\n_**Deprecation notice:** The `toString` representation of sprints in the Sprint custom field that is returned by Get\nissue (Jira platform) will soon be removed. See the [notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-tostring-representation-of-sprints-in-get-issue-response/)._\n\n###### Example - Get issue (Jira platform) response\n\n```javascript\ncustomfield_11458\": [\n \"com.atlassian.greenhopper.service.sprint.Sprint@1bf75fd[id=1,rapidViewId=1,state=CLOSED,name=Sprint 1,goal=Sprint 1 goal,startDate=2016-06-06T21:30:53.537+10:00,endDate=2016-06-20T21:30:00.000+10:00,completeDate=2016-06-06T21:30:57.523+10:00,sequence=1]\",\n \"com.atlassian.greenhopper.service.sprint.Sprint@1689feb[id=2,rapidViewId=1,state=FUTURE,name=Sprint 2,goal=Sprint 2 goal,startDate=,endDate=,completeDate=,sequence=2]\"\n]\n```\n\nIf you want to parse the sprint information, use either the [Get issue (Jira Software) method](https://docs.atlassian.com/jira-software/REST/cloud/#agile/1.0/issue-getIssue)\nor [Get issue (Jira platform) method](https://docs.atlassian.com/jira/REST/cloud/#api/2/issue-getIssue) with expanded\n`versionedRepresentations` instead, both of which return sprints in a proper format. See the example below.\n\n###### Example - Get issue (Jira platform) response with expanded versionedRepresentations\n\n```javascript\n\"customfield_10021\": {\n \"1\": [\n \"com.atlassian.greenhopper.service.sprint.Sprint@1bf75fd[id=1,rapidViewId=1,state=CLOSED,name=Sprint 1,goal=Sprint 1 goal,startDate=2016-06-06T21:30:53.537+10:00,endDate=2016-06-20T21:30:00.000+10:00,completeDate=2016-06-06T21:30:57.523+10:00,sequence=1]\",\n \"com.atlassian.greenhopper.service.sprint.Sprint@1689feb[id=2,rapidViewId=1,state=FUTURE,name=Sprint 2,goal=Sprint 2 goal,startDate=,endDate=,completeDate=,sequence=2]\"\n ],\n \"2\": [\n {\n \"id\": 1,\n \"name\": \"Sprint 1\",\n \"state\": \"closed\",\n \"boardId\": 1\n },\n {\n \"id\": 2,\n \"name\": \"Sprint 2\",\n \"state\": \"future\",\n \"boardId\": 1\n }\n ]\n}\n```\n\nIf you want to update a sprint, you need to know the sprint id, which is a number. See the example below. Note, an\nissue can only be in one active or future sprint at a time, and only the active/future sprint can edited.\n\n###### Example - Update issue request\n\n```javascript\n\"customfield_10021\": 2\n```\n\n##### Epic link custom field\n\nThe Epic link custom field contains the key of an epic that a given issue belongs to. Be aware that only the issue key\nof the existing epic can be set. Also, the Epic link cannot be set for sub-tasks and epics.\n\n###### Example\n\n```javascript\n\"customfield_11458\": \"EPIC-1\"\n```\n\n##### Epic Name\n\nThe Epic name custom field contains the name of an epic that a given issue belongs to. Be aware that only the issue key\nof the existing epic can be set. Also, the epic link cannot be set for sub-tasks and epics.\n\n###### Example\n\n```javascript\n\"customfield_11410\": \"Epic Name\"\n```\n\n##### Estimation\n\nJira Software provides a `Story Points` custom field, however the field is just a regular numeric field. The type of\nestimation and field used for estimation is determined by the board configuration. You can get this from the\n[board configuration resource](https://docs.atlassian.com/jira-software/REST/cloud/#agile/1.0/board-getConfiguration).\nNote that if the estimation field is not on a screen, it cannot be edited, and you should use the\n[Estimate issue for board method](https://docs.atlassian.com/jira-software/REST/cloud/#agile/1.0/issue-estimateIssueForBoard) instead.\n","title":"Introduction"}]}}