Jira
HomeLink
Multiple Menus
  • Link1
  • Link2
HomeLink
Multiple Menus
  • Link1
  • Link2
  1. Workflows
  • Announcement banner
    • Get announcement banner configuration
      GET
    • Update announcement banner configuration
      PUT
  • Issue custom field configuration (apps)
    • Bulk get custom field configurations
      POST
    • Get custom field configurations
      GET
    • Update custom field configurations
      PUT
  • Issue custom field values (apps)
    • Update custom fields
      POST
    • Update custom field value
      PUT
  • Jira settings
    • Get application property
      GET
    • Get advanced settings
      GET
    • Set application property
      PUT
    • Get global settings
      GET
  • Application roles
    • Get all application roles
    • Get application role
  • Issue attachments
    • Get attachment content
    • Get Jira attachment settings
    • Get attachment thumbnail
    • Delete attachment
    • Get attachment metadata
    • Get all metadata for an expanded attachment
    • Get contents metadata for an expanded attachment
    • Add attachment
  • Audit records
    • Get audit records
  • Avatars
    • Get system avatars by type
    • Get avatars
    • Load avatar
    • Delete avatar
    • Get avatar image by type
    • Get avatar image by ID
    • Get avatar image by owner
  • Issue bulk operations
    • Bulk delete issues
    • Get bulk editable fields
    • Bulk edit issues
    • Bulk move issues
    • Get available transitions
    • Bulk transition issue statuses
    • Bulk unwatch issues
    • Bulk watch issues
    • Get bulk issue operation progress
  • Issues
    • Bulk fetch changelogs
    • Get events
    • Create issue
    • Archive issue(s) by JQL
    • Archive issue(s) by issue ID/key
    • Bulk create issue
    • Bulk fetch issues
    • Get create issue metadata
    • Get create metadata issue types for a project
    • Get create field metadata for a project and issue type id
    • Get issue limit report
    • Unarchive issue(s) by issue keys/ID
    • Delete issue
    • Get issue
    • Edit issue
    • Assign issue
    • Get changelogs
    • Get changelogs by IDs
    • Get edit issue metadata
    • Send notification for issue
    • Get transitions
    • Transition issue
    • Export archived issue(s)
  • Classification levels
    • Get all classification levels
  • Issue comments
    • Get comments by IDs
    • Get comments
    • Add comment
    • Delete comment
    • Get comment
    • Update comment
  • Issue comment properties
    • Get comment property keys
    • Delete comment property
    • Get comment property
    • Set comment property
  • Project components
    • Find components for projects
    • Create component
    • Delete component
    • Get component
    • Update component
    • Get component issues count
    • Get project components paginated
    • Get project components
  • Time tracking
    • Get selected time tracking provider
    • Select time tracking provider
    • Get all time tracking providers
    • Get time tracking settings
    • Set time tracking settings
  • Issue custom field options
    • Get custom field option
    • Get custom field options (context)
    • Create custom field options (context)
    • Update custom field options (context)
    • Reorder custom field options (context)
    • Delete custom field options (context)
    • Replace custom field options
  • Dashboards
    • Get all dashboards
    • Create dashboard
    • Bulk edit dashboards
    • Get available gadgets
    • Search for dashboards
    • Get gadgets
    • Add gadget to dashboard
    • Remove gadget from dashboard
    • Update gadget on dashboard
    • Get dashboard item property keys
    • Delete dashboard item property
    • Get dashboard item property
    • Set dashboard item property
    • Delete dashboard
    • Get dashboard
    • Update dashboard
    • Copy dashboard
  • App data policies
    • Get data policy for the workspace
    • Get data policy for projects
  • Jira expressions
    • Analyse Jira expression
    • Currently being removed. Evaluate Jira expression
    • Evaluate Jira expression using enhanced search API
  • Issue fields
    • Get fields
    • Create custom field
    • Get fields paginated
    • Get fields in trash paginated
    • Update custom field
    • Get contexts for a field
    • Delete custom field
    • Restore custom field from trash
    • Move custom field to trash
  • Issue custom field associations
    • Remove associations
    • Create associations
  • Issue custom field contexts
    • Get custom field contexts
    • Create custom field context
    • Get custom field contexts default values
    • Set custom field contexts default values
    • Get issue types for custom field context
    • Get custom field contexts for projects and issue types
    • Get project mappings for custom field context
    • Delete custom field context
    • Update custom field context
    • Add issue types to context
    • Remove issue types from context
    • Assign custom field context to projects
    • Remove custom field context from projects
  • Screens
    • Get screens for a field
    • Get screens
    • Create screen
    • Add field to default screen
    • Delete screen
    • Update screen
    • Get available screen fields
  • Issue custom field options (apps)
    • Get all issue field options
    • Create issue field option
    • Get selectable issue field options
    • Get visible issue field options
    • Delete issue field option
    • Get issue field option
    • Update issue field option
    • Replace issue field option
  • Issue field configurations
    • Get all field configurations
    • Create field configuration
    • Delete field configuration
    • Update field configuration
    • Get field configuration items
    • Update field configuration items
    • Get all field configuration schemes
    • Create field configuration scheme
    • Get field configuration issue type items
    • Get field configuration schemes for projects
    • Assign field configuration scheme to project
    • Delete field configuration scheme
    • Update field configuration scheme
    • Assign issue types to field configurations
    • Remove issue types from field configuration scheme
  • Filters
    • Create filter
    • Get favorite filters
    • Get my filters
    • Search for filters
    • Delete filter
    • Get filter
    • Update filter
    • Reset columns
    • Get columns
    • Set columns
    • Remove filter as favorite
    • Add filter as favorite
    • Change filter owner
  • Filter sharing
    • Get default share scope
    • Set default share scope
    • Get share permissions
    • Add share permission
    • Delete share permission
    • Get share permission
  • Groups
    • Remove group
    • Get group
    • Create group
    • Bulk get groups
    • Get users from group
    • Remove user from group
    • Add user to group
    • Find groups
  • Group and user picker
    • Find users and groups
  • License metrics
    • Get license
    • Get approximate license count
    • Get approximate application license count
  • Issue search
    • Get issue picker suggestions
    • Check issues against JQL
    • Currently being removed. Search for issues using JQL (GET)
    • Currently being removed. Search for issues using JQL (POST)
    • Count issues using JQL
    • Search for issues using JQL enhanced search (GET)
    • Search for issues using JQL enhanced search (POST)
  • Issue properties
    • Bulk set issues properties by list
    • Bulk set issue properties by issue
    • Bulk delete issue property
    • Bulk set issue property
    • Get issue property keys
    • Delete issue property
    • Get issue property
    • Set issue property
  • Issue watchers
    • Get is watching issue bulk
    • Delete watcher
    • Get issue watchers
    • Add watcher
  • Issue remote links
    • Delete remote issue link by global ID
    • Get remote issue links
    • Create or update remote issue link
    • Delete remote issue link by ID
    • Get remote issue link by ID
    • Update remote issue link by ID
  • Issue votes
    • Delete vote
    • Get votes
    • Add vote
  • Issue worklogs
    • Bulk delete worklogs
    • Get issue worklogs
    • Add worklog
    • Bulk move worklogs
    • Delete worklog
    • Get worklog
    • Update worklog
    • Get IDs of deleted worklogs
    • Get worklogs
    • Get IDs of updated worklogs
  • Issue worklog properties
    • Get worklog property keys
    • Delete worklog property
    • Get worklog property
    • Set worklog property
  • Issue links
    • Create issue link
    • Delete issue link
    • Get issue link
  • Issue link types
    • Get issue link types
    • Create issue link type
    • Delete issue link type
    • Get issue link type
    • Update issue link type
  • Issue security schemes
    • Get issue security schemes
    • Create issue security scheme
    • Get issue security levels
    • Set default issue security levels
    • Get issue security level members
    • Get projects using issue security schemes
    • Associate security scheme to project
    • Search issue security schemes
    • Get issue security scheme
    • Update issue security scheme
    • Delete issue security scheme
    • Add issue security levels
    • Remove issue security level
    • Update issue security level
    • Add issue security level members
    • Remove member from issue security level
  • Issue security level
    • Get issue security level members by issue security scheme
    • Get issue security level
  • Issue types
    • Get all issue types for user
    • Create issue type
    • Get issue types for project
    • Delete issue type
    • Get issue type
    • Update issue type
    • Get alternative issue types
    • Load issue type avatar
  • Issue type properties
    • Get issue type property keys
    • Delete issue type property
    • Get issue type property
    • Set issue type property
  • Issue type schemes
    • Get all issue type schemes
    • Create issue type scheme
    • Get issue type scheme items
    • Get issue type schemes for projects
    • Assign issue type scheme to project
    • Delete issue type scheme
    • Update issue type scheme
    • Add issue types to issue type scheme
    • Change order of issue types
    • Remove issue type from issue type scheme
  • Issue type screen schemes
    • Get issue type screen schemes
    • Create issue type screen scheme
    • Get issue type screen scheme items
    • Get issue type screen schemes for projects
    • Assign issue type screen scheme to project
    • Delete issue type screen scheme
    • Update issue type screen scheme
    • Append mappings to issue type screen scheme
    • Update issue type screen scheme default screen scheme
    • Remove mappings from issue type screen scheme
    • Get issue type screen scheme projects
  • JQL
    • Get field reference data (GET)
    • Get field reference data (POST)
    • Get field auto complete suggestions
    • Parse JQL query
    • Convert user identifiers to account IDs in JQL queries
    • Sanitize JQL queries
  • JQL functions (apps)
    • Get precomputations (apps)
    • Update precomputations (apps)
    • Get precomputations by ID (apps)
  • Labels
    • Get all labels
  • Permissions
    • Get my permissions
    • Get all permissions
    • Get bulk permissions
    • Get permitted projects
  • Myself
    • Delete preference
    • Get preference
    • Set preference
    • Get locale
    • Set locale
    • Get current user
  • Issue notification schemes
    • Get notification schemes paginated
    • Create notification scheme
    • Get projects using notification schemes paginated
    • Get notification scheme
    • Update notification scheme
    • Add notifications to notification scheme
    • Delete notification scheme
    • Remove notification from notification scheme
  • Permission schemes
    • Get all permission schemes
    • Create permission scheme
    • Delete permission scheme
    • Get permission scheme
    • Update permission scheme
    • Get permission scheme grants
    • Create permission grant
    • Delete permission scheme grant
    • Get permission scheme grant
  • Plans
    • Get plans paginated
    • Create plan
    • Get plan
    • Update plan
    • Archive plan
    • Duplicate plan
    • Trash plan
  • Teams in plan
    • Get teams in plan paginated
    • Add Atlassian team to plan
    • Remove Atlassian team from plan
    • Get Atlassian team in plan
    • Update Atlassian team in plan
    • Create plan-only team
    • Delete plan-only team
    • Get plan-only team
    • Update plan-only team
  • Issue priorities
    • Get priorities
    • Create priority
    • Set default priority
    • Move priorities
    • Search priorities
    • Delete priority
    • Get priority
    • Update priority
  • Priority schemes
    • Get priority schemes
    • Create priority scheme
    • Suggested priorities for mappings
    • Get available priorities by priority scheme
    • Delete priority scheme
    • Update priority scheme
    • Get priorities by priority scheme
    • Get projects by priority scheme
  • Projects
    • Get all projects
    • Create project
    • Get recent projects
    • Get projects paginated
    • Delete project
    • Get project
    • Update project
    • Archive project
    • Delete project asynchronously
    • Restore deleted or archived project
    • Get all statuses for project
    • Get project issue type hierarchy
    • Get project notification scheme
  • Project templates
    • Create custom project
  • Project types
    • Get all project types
    • Get licensed project types
    • Get project type by key
    • Get accessible project type by key
  • Project avatars
    • Set project avatar
    • Delete project avatar
    • Load project avatar
    • Get all project avatars
  • Project classification levels
    • Remove the default data classification level from a project
    • Get the default data classification level of a project
    • Update the default data classification level of a project
  • Project features
    • Get project features
    • Set project feature state
  • Project properties
    • Get project property keys
    • Delete project property
    • Get project property
    • Set project property
  • Project roles
    • Get project roles for project
    • Get project role for project
    • Get project role details
    • Get all project roles
    • Create project role
    • Delete project role
    • Get project role by ID
    • Partial update project role
    • Fully update project role
  • Project role actors
    • Delete actors from project role
    • Add actors to project role
    • Set actors for project role
    • Delete default actors from project role
    • Get default actors for project role
    • Add default actors to project role
  • Project versions
    • Get project versions paginated
    • Get project versions
    • Create version
    • Delete version
    • Get version
    • Update version
    • Merge versions
    • Move version
    • Get version's related issues count
    • Get related work
    • Create related work
    • Update related work
    • Delete and replace version
    • Get version's unresolved issues count
    • Delete related work
  • Project email
    • Get project's sender email
    • Set project's sender email
  • Project permission schemes
    • Get project issue security scheme
    • Get assigned permission scheme
    • Assign permission scheme
    • Get project issue security levels
  • Project categories
    • Get all project categories
    • Create project category
    • Delete project category
    • Get project category by ID
    • Update project category
  • Project key and name validation
    • Validate project key
    • Get valid project key
    • Get valid project name
  • Issue redaction
    • Redact
    • Get redaction status
  • Issue resolutions
    • Get resolutions
    • Create resolution
    • Set default resolution
    • Move resolutions
    • Search resolutions
    • Delete resolution
    • Get resolution
    • Update resolution
  • Screen tabs
    • Get bulk screen tabs
    • Get all screen tabs
    • Create screen tab
    • Delete screen tab
    • Update screen tab
    • Move screen tab
  • Screen tab fields
    • Get all screen tab fields
    • Add screen tab field
    • Remove screen tab field
    • Move screen tab field
  • Screen schemes
    • Get screen schemes
    • Create screen scheme
    • Delete screen scheme
    • Update screen scheme
  • Server info
    • Get Jira instance info
  • Issue navigator settings
    • Get issue navigator default columns
    • Set issue navigator default columns
  • Workflow statuses
    • Get all statuses
    • Get status
  • Workflow status categories
    • Get all status categories
    • Get status category
  • Status
    • Bulk delete Statuses
    • Bulk get statuses
    • Bulk create statuses
    • Bulk update statuses
    • Search statuses paginated
    • Get issue type usages by status and project
    • Get project usages by status
    • Get workflow usages by status
  • Tasks
    • Get task
    • Cancel task
  • UI modifications (apps)
    • Get UI modifications
    • Create UI modification
    • Delete UI modification
    • Update UI modification
  • Users
    • Delete user
    • Get user
    • Create user
    • Bulk get users
    • Get account IDs for users
    • Reset user default columns
    • Get user default columns
    • Set user default columns
    • Get user email
    • Get user email bulk
    • Get user groups
    • Get all users default
    • Get all users
  • User search
    • Find users assignable to projects
    • Find users assignable to issues
    • Find users with permissions
    • Find users for picker
    • Find users
    • Find users by query
    • Find user keys by query
    • Find users with browse permission
  • usernavproperties
    • Get user nav property
    • Set user nav property
  • User properties
    • Get user property keys
    • Delete user property
    • Get user property
    • Set user property
  • Webhooks
    • Delete webhooks by ID
    • Get dynamic webhooks for app
    • Register dynamic webhooks
    • Get failed webhooks
    • Extend webhook life
  • Workflows
    • Get all workflows
      GET
    • Create workflow
      POST
    • Get workflows paginated
      GET
    • Delete inactive workflow
      DELETE
    • Get issue types in a project that are using a given workflow
      GET
    • Get projects using a given workflow
      GET
    • Get workflow schemes which are using a given workflow
      GET
    • Bulk get workflows
      POST
    • Get available workflow capabilities
      GET
    • Bulk create workflows
      POST
    • Validate create workflows
      POST
    • Get the user's default workflow editor
      GET
    • Search workflows
      GET
    • Bulk update workflows
      POST
    • Validate update workflows
      POST
  • Workflow transition rules
    • Get workflow transition rule configurations
    • Update workflow transition rule configurations
    • Delete workflow transition rule configurations
  • Workflow transition properties
    • Delete workflow transition property
    • Get workflow transition properties
    • Create workflow transition property
    • Update workflow transition property
  • Workflow schemes
    • Get all workflow schemes
    • Create workflow scheme
    • Bulk get workflow schemes
    • Update workflow scheme
    • Get required status mappings for workflow scheme update
    • Delete workflow scheme
    • Get workflow scheme
    • Classic update workflow scheme
    • Delete default workflow
    • Get default workflow
    • Update default workflow
    • Delete workflow for issue type in workflow scheme
    • Get workflow for issue type in workflow scheme
    • Set workflow for issue type in workflow scheme
    • Delete issue types for workflow in workflow scheme
    • Get issue types for workflows in workflow scheme
    • Set issue types for workflow in workflow scheme
    • Get projects which are using a given workflow scheme
  • Workflow scheme project associations
    • Get workflow scheme project associations
    • Assign workflow scheme to project
  • Workflow scheme drafts
    • Create draft workflow scheme
    • Delete draft workflow scheme
    • Get draft workflow scheme
    • Update draft workflow scheme
    • Delete draft default workflow
    • Get draft default workflow
    • Update draft default workflow
    • Delete workflow for issue type in draft workflow scheme
    • Get workflow for issue type in draft workflow scheme
    • Set workflow for issue type in draft workflow scheme
    • Publish draft workflow scheme
    • Delete issue types for workflow in draft workflow scheme
    • Get issue types for workflows in draft workflow scheme
    • Set issue types for workflow in workflow scheme
  • App properties
    • Get app properties
    • Delete app property
    • Get app property
    • Set app property
    • Delete app property (Forge)
    • Set app property (Forge)
  • Dynamic modules
    • Remove modules
    • Get modules
    • Register modules
  • App migration
    • Bulk update custom field value
    • Bulk update entity properties
    • Get workflow transition rule configurations
  • Service Registry
    • Retrieve the attributes of service registries
  1. Workflows

Get available workflow capabilities

GET
/rest/api/3/workflows/capabilities
Get the list of workflow capabilities for a specific workflow using either the workflow ID, or the project and issue type ID pair. The response includes the scope of the workflow, defined as global/project-based, and a list of project types that the workflow is scoped to. It also includes all rules organised into their broad categories (conditions, validators, actions, triggers, screens) as well as the source location (Atlassian-provided, Connect, Forge).
Permissions required:
Administer Jira project permission to access all, including global-scoped, workflows
Administer projects project permissions to access project-scoped workflows
The current list of Atlassian-provided rules:

Validators#

A validator rule that checks if a user has the required permissions to execute the transition in the workflow.
Permission validator#
A validator rule that checks if a user has the required permissions to execute the transition in the workflow.
{
"ruleKey": "system:check-permission-validator",
"parameters": {
"permissionKey": "ADMINISTER_PROJECTS"
}
}
Parameters:
permissionKey The permission required to perform the transition. Allowed values: built-in Jira permissions.
Parent or child blocking validator#
A validator to block the child issue's transition depending on the parent issue's status.
{
"ruleKey" : "system:parent-or-child-blocking-validator"
"parameters" : {
"blocker" : "PARENT"
"statusIds" : "1,2,3"
}
}
Parameters:
blocker currently only supports PARENT.
statusIds a comma-separated list of status IDs.
Previous status validator#
A validator that checks if an issue has transitioned through specified previous status(es) before allowing the current transition to occur.
{
"ruleKey": "system:previous-status-validator",
"parameters": {
"previousStatusIds": "10014",
"mostRecentStatusOnly": "true"
}
}
Parameters:
previousStatusIds a comma-separated list of status IDs, currently only support one ID.
mostRecentStatusOnly when true only considers the most recent status for the condition evaluation. Allowed values: true, false.
Validate a field value#
A validation that ensures a specific field's value meets the defined criteria before allowing an issue to transition in the workflow.
Depending on the rule type, the result will vary:
Field required#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldRequired",
"fieldsRequired": "assignee",
"ignoreContext": "true",
"errorMessage": "An assignee must be set!"
}
}
Parameters:
fieldsRequired the ID of the field that is required. For a custom field, it would look like customfield_123.
ignoreContext controls the impact of context settings on field validation. When set to true, the validator doesn't check a required field if its context isn't configured for the current issue. When set to false, the validator requires a field even if its context is invalid. Allowed values: true, false.
errorMessage is the error message to display if the user does not provide a value during the transition. A default error message will be shown if you don't provide one (Optional).
Field changed#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldChanged",
"groupsExemptFromValidation": "6862ac20-8672-4f68-896d-4854f5efb79e",
"fieldKey": "versions",
"errorMessage": "Affect versions must be modified before transition"
}
}
Parameters:
groupsExemptFromValidation a comma-separated list of group IDs to be exempt from the validation.
fieldKey the ID of the field that has changed. For a custom field, it would look like customfield_123.
errorMessage the error message to display if the user does not provide a value during the transition. A default error message will be shown if you don't provide one (Optional).
Field has a single value#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldHasSingleValue",
"fieldKey": "created",
"excludeSubtasks": "true"
}
}
Parameters:
fieldKey the ID of the field to validate. For a custom field, it would look like customfield_123.
excludeSubtasks Option to exclude values copied from sub-tasks. Allowed values: true, false.
Field matches regular expression#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldMatchesRegularExpression",
"regexp": "[0-9]{4}",
"fieldKey": "description"
}
}
Parameters:
regexp the regular expression used to validate the field\u2019s content.
fieldKey the ID of the field to validate. For a custom field, it would look like customfield_123.
Date field comparison#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "dateFieldComparison",
"date1FieldKey": "duedate",
"date2FieldKey": "customfield_10054",
"includeTime": "true",
"conditionSelected": ">="
}
}
Parameters:
date1FieldKey the ID of the first field to compare. For a custom field, it would look like customfield_123.
date2FieldKey the ID of the second field to compare. For a custom field, it would look like customfield_123.
includeTime if true, compares both date and time. Allowed values: true, false.
conditionSelected the condition to compare with. Allowed values: >, >=, =, <=, <, !=.
Date range comparison#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "windowDateComparison",
"date1FieldKey": "customfield_10009",
"date2FieldKey": "customfield_10054",
"numberOfDays": "3"
}
}
Parameters:
date1FieldKey the ID of the first field to compare. For a custom field, it would look like customfield_123.
date2FieldKey the ID of the second field to compare. For a custom field, it would look like customfield_123.
numberOfDays maximum number of days past the reference date (date2FieldKey) to pass validation.
This rule is composed by aggregating the following legacy rules:
FieldRequiredValidator
FieldChangedValidator
FieldHasSingleValueValidator
RegexpFieldValidator
DateFieldValidator
WindowsDateValidator
Pro forma: Forms attached validator#
Validates that one or more forms are attached to the issue.
{
"ruleKey" : "system:proforma-forms-attached"
"parameters" : {}
}
Proforma: Forms submitted validator#
Validates that all forms attached to the issue have been submitted.
{
"ruleKey" : "system:proforma-forms-submitted"
"parameters" : {}
}

Conditions#

Conditions enable workflow rules that govern whether a transition can execute.
Check field value#
A condition rule evaluates as true if a specific field's value meets the defined criteria. This rule ensures that an issue can only transition to the next step in the workflow if the field's value matches the desired condition.
{
"ruleKey": "system:check-field-value",
"parameters": {
"fieldId": "description",
"fieldValue": "["Done"]",
"comparator": "=",
"comparisonType": "STRING"
}
}
Parameters:
fieldId The ID of the field to check the value of. For non-system fields, it will look like customfield_123. Note: fieldId is used interchangeably with the idea of fieldKey here, they refer to the same field.
fieldValue the list of values to check against the field\u2019s value.
comparator The comparison logic. Allowed values: >, >=, =, <=, <, !=.
comparisonType The type of data being compared. Allowed values: STRING, NUMBER, DATE, DATE_WITHOUT_TIME, OPTIONID.
Restrict issue transition#
This rule ensures that issue transitions are restricted based on user accounts, roles, group memberships, and permissions, maintaining control over who can transition an issue. This condition evaluates as true if any of the following criteria is met.
{
"ruleKey": "system:restrict-issue-transition",
"parameters": {
"accountIds": "allow-reporter,5e68ac137d64450d01a77fa0",
"roleIds": "10002,10004",
"groupIds": "703ff44a-7dc8-4f4b-9aa6-a65bf3574fa4",
"permissionKeys": "ADMINISTER_PROJECTS",
"groupCustomFields": "customfield_10028",
"allowUserCustomFields": "customfield_10072,customfield_10144,customfield_10007",
"denyUserCustomFields": "customfield_10107"
}
}
Parameters:
accountIds a comma-separated list of the user account IDs. It also allows generic values like: allow-assignee, allow-reporter, and accountIds Note: This is only supported in team-managed projects
roleIds a comma-separated list of role IDs.
groupIds a comma-separated list of group IDs.
permissionKeys a comma-separated list of permission keys. Allowed values: built-in Jira permissions.
groupCustomFields a comma-separated list of group custom field IDs.
allowUserCustomFields a comma-separated list of user custom field IDs to allow for issue transition.
denyUserCustomFields a comma-separated list of user custom field IDs to deny for issue transition.
This rule is composed by aggregating the following legacy rules:
AllowOnlyAssignee
AllowOnlyReporter
InAnyProjectRoleCondition
InProjectRoleCondition
UserInAnyGroupCondition
UserInGroupCondition
PermissionCondtion
InGroupCFCondition
UserIsInCustomFieldCondition
Previous status condition#
A condition that evaluates based on an issue's previous status(es) and specific criteria.
{
"ruleKey" : "system:previous-status-condition"
"parameters" : {
"previousStatusIds" : "10004",
"not": "true",
"mostRecentStatusOnly" : "true",
"includeCurrentStatus": "true",
"ignoreLoopTransitions": "true"
}
}
Parameters:
previousStatusIds a comma-separated list of status IDs, current only support one ID.
not indicates if the condition should be reversed. When true it checks that the issue has not been in the selected statuses. Allowed values: true, false.
mostRecentStatusOnly when true only considers the most recent status for the condition evaluation. Allowed values: true, false.
includeCurrentStatus includes the current status when evaluating if the issue has been through the selected statuses. Allowed values: true, false.
ignoreLoopTransitions ignore loop transitions. Allowed values: true, false.
Parent or child blocking condition#
A condition to block the parent\u2019s issue transition depending on the child\u2019s issue status.
{
"ruleKey" : "system:parent-or-child-blocking-condition"
"parameters" : {
"blocker" : "CHILD",
"statusIds" : "1,2,3"
}
}
Parameters:
blocker currently only supports CHILD.
statusIds a comma-separated list of status IDs.
Separation of duties#
A condition preventing the user from performing, if the user has already performed a transition on the issue.
{
"ruleKey": "system:separation-of-duties",
"parameters": {
"fromStatusId": "10161",
"toStatusId": "10160"
}
}
Parameters:
fromStatusId represents the status ID from which the issue is transitioning. It ensures that the user performing the current transition has not performed any actions when the issue was in the specified status.
toStatusId represents the status ID to which the issue is transitioning. It ensures that the user performing the current transition is not the same user who has previously transitioned the issue.
Restrict transitions#
A condition preventing all users from transitioning the issue can also optionally include APIs as well.
{
"ruleKey": "system:restrict-from-all-users",
"parameters": {
"restrictMode": "users"
}
}
Parameters:
restrictMode restricts the issue transition including/excluding APIs. Allowed values: "users", "usersAndAPI".
Jira Service Management block until approved#
Block an issue transition until approval. Note: This is only supported in team-managed projects.
{
"ruleKey": "system:jsd-approvals-block-until-approved",
"parameters": {
"approvalConfigurationJson": "{"statusExternalUuid...}"
}
}
Parameters:
approvalConfigurationJson a stringified JSON holding the Jira Service Management approval configuration.
Jira Service Management block until rejected#
Block an issue transition until rejected. Note: This is only supported in team-managed projects.
{
"ruleKey": "system:jsd-approvals-block-until-rejected",
"parameters": {
"approvalConfigurationJson": "{"statusExternalUuid...}"
}
}
Parameters:
approvalConfigurationJson a stringified JSON holding the Jira Service Management approval configuration.
Block in progress approval#
Condition to block issue transition if there is pending approval. Note: This is only supported in company-managed projects.
{
"ruleKey": "system:block-in-progress-approval",
"parameters": {}
}

Post functions#

Post functions carry out any additional processing required after a workflow transition is executed.
Change assignee#
A post function rule that changes the assignee of an issue after a transition.
{
"ruleKey": "system:change-assignee",
"parameters": {
"type": "to-selected-user",
"accountId": "example-account-id"
}
}
Parameters:
type the parameter used to determine the new assignee. Allowed values: to-selected-user, to-unassigned, to-current-user, to-current-user, to-default-user, to-default-user
accountId the account ID of the user to assign the issue to. This parameter is required only when the type is "to-selected-user".
Copy field value#
A post function that automates the process of copying values between fields during a specific transition, ensuring data consistency and reducing manual effort.
{
"ruleKey": "system:copy-value-from-other-field",
"parameters": {
"sourceFieldKey": "description",
"targetFieldKey": "components",
"issueSource": "SAME"
}
}
Parameters:
sourceFieldKey the field key to copy from. For a custom field, it would look like customfield_123
targetFieldKey the field key to copy to. For a custom field, it would look like customfield_123
issueSource SAME or PARENT. Defaults to SAME if no value is provided.
Update field#
A post function that updates or appends a specific field with the given value.
{
"ruleKey": "system:update-field",
"parameters": {
"field": "customfield_10056",
"value": "asdf",
"mode": "append"
}
}
Parameters:
field the ID of the field to update. For a custom field, it would look like customfield_123
value the value to update the field with.
mode append or replace. Determines if a value will be appended to the current value, or if the current value will be replaced.
Trigger webhook#
A post function that automatically triggers a predefined webhook when a transition occurs in the workflow.
{
"ruleKey": "system:trigger-webhook",
"parameters": {
"webhookId": "1"
}
}
Parameters:
webhookId the ID of the webhook.

Screen#

Remind people to update fields#
A screen rule that prompts users to update a specific field when they interact with an issue screen during a transition. This rule is useful for ensuring that users provide or modify necessary information before moving an issue to the next step in the workflow.
{
"ruleKey": "system:remind-people-to-update-fields",
"params": {
"remindingFieldIds": "assignee,customfield_10025",
"remindingMessage": "The message",
"remindingAlwaysAsk": "true"
}
}
Parameters:
remindingFieldIds a comma-separated list of field IDs. Note: fieldId is used interchangeably with the idea of fieldKey here, they refer to the same field.
remindingMessage the message to display when prompting the users to update the fields.
remindingAlwaysAsk always remind to update fields. Allowed values: true, false.
Shared transition screen#
A common screen that is shared between transitions in a workflow.
{
"ruleKey": "system:transition-screen",
"params": {
"screenId": "3"
}
}
Parameters:
screenId the ID of the screen.

Connect & Forge#

Connect rules#
Validator/Condition/Post function for Connect app.
{
"ruleKey": "connect:expression-validator",
"parameters": {
"appKey": "com.atlassian.app",
"config": "",
"id": "90ce590f-e90c-4cd3-8281-165ce41f2ac3",
"disabled": "false",
"tag": ""
}
}
Parameters:
ruleKey Validator: connect:expression-validator, Condition: connect:expression-condition, and Post function: connect:remote-workflow-function
appKey the reference to the Connect app
config a JSON payload string describing the configuration
id the ID of the rule
disabled determine if the Connect app is disabled. Allowed values: true, false.
tag additional tags for the Connect app
Forge rules#
Validator/Condition/Post function for Forge app.
{
"ruleKey": "forge:expression-validator",
"parameters": {
"key": "ari☁️ecosystem::extension/{appId}/{environmentId}/static/{moduleKey}",
"config": "{"searchString":"workflow validator"}",
"id": "a865ddf6-bb3f-4a7b-9540-c2f8b3f9f6c2"
}
}
Parameters:
ruleKey Validator: forge:expression-validator, Condition: forge:expression-condition, and Post function: forge:workflow-post-function
key the identifier for the Forge app
config the persistent stringified JSON configuration for the Forge rule
id the ID of the Forge rule
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET '/rest/api/3/workflows/capabilities'
Response Response Example
{"connectRules":[{"addonKey":"com.atlassian.jira.refapp","createUrl":"/validators/jira-expression/create?id={validator.id}","description":"Validates if the given Jira expression is true.","editUrl":"/validators/jira-expression/edit?id={validator.id}","moduleKey":"jiraExpressionValidator","name":"Jira expression validator (by APPNAME)","ruleKey":"connect:expression-validator","ruleType":"Validator","viewUrl":"/validators/jira-expression/view?id={validator.id}"}],"editorScope":"GLOBAL","forgeRules":[{"description":"A Jira workflow validator example.","id":"ari:cloud:ecosystem::extension/9df6d15f-1bbe-443e-be08-150309e8dbb0/f6a3bed3-737f-4e7a-8942-130df302b749/static/workflow-validator-example-workflow-validator","name":"workflow-validator","ruleKey":"forge:expression-validator","ruleType":"Validator"}],"projectTypes":["software","business"],"systemRules":[{"description":"Automatically assign a request to someone after moving the request using a particular transition.","incompatibleRuleKeys":[],"isAvailableForInitialTransition":true,"isVisible":true,"name":"Assign a request","ruleKey":"system:change-assignee","ruleType":"Function"}],"triggerRules":[{"availableTypes":[{"description":"Automatically transitions the issue when a related branch is created in a connected repository","name":"Branch created","type":"com.atlassian.jira.plugins.jira-development-integration-plugin:branch-created-trigger"}],"ruleKey":"system:development-triggers"}]}

Request

Query Params

Responses

🟢200OK
application/json
Returned if the request is successful.
Body

🟠400Bad Request
🟠401Unauthorized
Modified at 2025-07-16 07:18:01
Previous
Bulk get workflows
Next
Bulk create workflows
Built with