• Forms on Customer Request
  • Forms Export
  • Forms on Project
  • Forms on Portal
  • Forms on Issue
Cloud
Forms / Reference / REST API

Forms on Issue

Postman Collection
OpenAPI
GET

Get form

Gets a single form on an issue as a complete JSON object.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
read:jira-work

Connect app scope requiredREAD

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the form is retrieved successfully.

application/json

Form

A form associated with an issue or request.

GET/issue/{issueIdOrKey}/form/{formId}
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 { "id": "c18bde7a-d846-11ed-afa1-0242ac120002", "updated": "2023-04-11T08:59:18Z", "design": { "conditions": {}, "layout": [ {} ], "questions": {}, "sections": {}, "settings": { "name": "New employee onboarding", "language": "en", "submit": { "lock": true, "pdf": true }, "primaryLocale": { "language": "<string>", "displayName": "<string>", "country": "<string>", "variant": "<string>", "script": "<string>", "unicodeLocaleAttributes": [ "<string>" ], "unicodeLocaleKeys": [ "<string>" ], "displayLanguage": "<string>", "displayScript": "<string>", "displayCountry": "<string>", "displayVariant": "<string>", "extensionKeys": [ "<string>" ], "iso3Language": "<string>", "iso3Country": "<string>" }, "translatedLocale": { "language": "<string>", "displayName": "<string>", "country": "<string>", "variant": "<string>", "script": "<string>", "unicodeLocaleAttributes": [ "<string>" ], "unicodeLocaleKeys": [ "<string>" ], "displayLanguage": "<string>", "displayScript": "<string>", "displayCountry": "<string>", "displayVariant": "<string>", "extensionKeys": [ "<string>" ], "iso3Language": "<string>", "iso3Country": "<string>" } } }, "state": { "visibility": "i", "status": "o", "answers": {} } }
PUT

Save form answers

Saves form answers on an issue.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredWRITE

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Request bodyapplication/json

A request to save form answers.

answers

object

Required

Responses

Returned when form answers are successfully saved.

application/json

Form

A form associated with an issue or request.

PUT/issue/{issueIdOrKey}/form/{formId}
1 2 3 4 5 6 7 8 curl --request PUT \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "answers": {} }'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 { "id": "c18bde7a-d846-11ed-afa1-0242ac120002", "updated": "2023-04-11T08:59:18Z", "design": { "conditions": {}, "layout": [ {} ], "questions": {}, "sections": {}, "settings": { "name": "New employee onboarding", "language": "en", "submit": { "lock": true, "pdf": true }, "primaryLocale": { "language": "<string>", "displayName": "<string>", "country": "<string>", "variant": "<string>", "script": "<string>", "unicodeLocaleAttributes": [ "<string>" ], "unicodeLocaleKeys": [ "<string>" ], "displayLanguage": "<string>", "displayScript": "<string>", "displayCountry": "<string>", "displayVariant": "<string>", "extensionKeys": [ "<string>" ], "iso3Language": "<string>", "iso3Country": "<string>" }, "translatedLocale": { "language": "<string>", "displayName": "<string>", "country": "<string>", "variant": "<string>", "script": "<string>", "unicodeLocaleAttributes": [ "<string>" ], "unicodeLocaleKeys": [ "<string>" ], "displayLanguage": "<string>", "displayScript": "<string>", "displayCountry": "<string>", "displayVariant": "<string>", "extensionKeys": [ "<string>" ], "iso3Language": "<string>", "iso3Country": "<string>" } } }, "state": { "visibility": "i", "status": "o", "answers": {} } }
DEL

Delete form

Deletes a form from an issue.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredDELETE

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the form is deleted successfully.

application/json

string

DEL/issue/{issueIdOrKey}/form/{formId}
1 2 3 4 curl --request DELETE \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 "<string>"
GET

Get form attachments metadata

Retrieve metadata for all attachments in a form on an issue.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
read:jira-work

Connect app scope requiredREAD

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the metadata associated with the attachment fields on the form are successfully retrieved.

application/json

FormAttachmentsMetadata

A response containing all the form's attachments.

GET/issue/{issueIdOrKey}/form/{formId}/attachment
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/attachment' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 { "fields": {} }
GET

Get form PDF

Gets a single form on an issue as a PDF file.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
read:jira-work

Connect app scope requiredREAD

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the pdf is retrieved successfully.

application/pdf

string

GET/issue/{issueIdOrKey}/form/{formId}/format/pdf
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/format/pdf' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/pdf'
GET

Get form XLSX

Gets a single form on an issue as an XLSX file.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
read:jira-work

Connect app scope requiredREAD

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the xlsx is retrieved successfully.

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

string

GET/issue/{issueIdOrKey}/form/{formId}/format/xlsx
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/format/xlsx' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
GET

Get form index

Gets a list of forms on the issue with basic metadata about them.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
read:jira-work

Connect app scope requiredREAD

Request

Path parameters

issueIdOrKey

string

Required

Responses

The list of forms on the issue.

application/json

array<FormIndexEntry>

GET/issue/{issueIdOrKey}/form
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 [ { "id": "<string>", "formTemplate": { "id": "<string>" }, "internal": true, "submitted": true, "lock": true, "name": "<string>", "updated": "<string>" } ]
POST

Add form

Adds a form template to an issue.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredWRITE

Request

Path parameters

issueIdOrKey

string

Required

Request bodyapplication/json

A request specifying an attach form.

formTemplate

FormTemplateRef

Required

Responses

Returned when the form template is attached successfully.

application/json

FormIndexEntry

A summary of a form associated with an issue or request.

POST/issue/{issueIdOrKey}/form
1 2 3 4 5 6 7 8 9 10 curl --request POST \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "formTemplate": { "id": "<string>" } }'
200Response
1 2 3 4 5 6 7 8 9 10 11 { "id": "<string>", "formTemplate": { "id": "<string>" }, "internal": true, "submitted": true, "lock": true, "name": "<string>", "updated": "<string>" }
PUT

Submit form

Changes the status of a form on an issue to submitted.

Depending on how the form is configured the form may either enter the submitted state or the locked state. Locked forms are considered to be submitted and locked and can only be reopened by project admins.

The current iteration of this API does not check that form answers are valid.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredWRITE

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the form is submitted successfully.

application/json

FormStatusResponse

A response indicating the current status of a form on an issue or request.

PUT/issue/{issueIdOrKey}/form/{formId}/action/submit
1 2 3 4 curl --request PUT \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/action/submit' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 { "status": "open" }
PUT

Reopen form

Changes the status of a submitted form on an issue to open to enable editing. Locked forms can only be reopened by a project admin.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredWRITE

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the form is reopened successfully.

application/json

FormStatusResponse

A response indicating the current status of a form on an issue or request.

PUT/issue/{issueIdOrKey}/form/{formId}/action/reopen
1 2 3 4 curl --request PUT \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/action/reopen' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 { "status": "open" }
POST

Copy forms

Copy forms from one issue to another.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredWRITE

Request

Path parameters

sourceIssueIdOrKey

string

Required
targetIssueIdOrKey

string

Required

Request bodyapplication/json

A request with a list of form IDs to copy.

ids

array<string>

Responses

Returned when the forms are copied successfully, or with partial success.

application/json

CopyFormsResponse

Response after copying forms.

POST/issue/{sourceIssueIdOrKey}/form/copy/{targetIssueIdOrKey}
1 2 3 4 5 6 7 8 9 10 curl --request POST \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{sourceIssueIdOrKey}/form/copy/{targetIssueIdOrKey}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "ids": [ "<string>" ] }'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 { "errors": [ { "id": "<string>", "status": 28, "code": "<string>", "title": "<string>", "detail": "<string>", "context": [ { "type": "<string>", "id": "<string>" } ] } ], "copiedForms": [ { "id": "<string>", "newId": "<string>" } ] }
GET

Get external form data

Get all external form data for questions and answers on a form on an issue. Forms can be linked to external sources including Jira fields and data connections, with this API returning the latest responses on these linked fields.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
read:jira-work

Connect app scope requiredREAD

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

The external field data for questions and answers on a form.

application/json

ExternalFieldDataResponse

A response containing all external data for questions and answers on a form.

GET/issue/{issueIdOrKey}/form/{formId}/externaldata
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/externaldata' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 { "fields": {} }
PUT

Change visibility to external

Changes the visibility of a form on an issue from internal only to external. External forms can be viewed in the portal by customers.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredWRITE

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the form is successfully set to external.

application/json

FormVisibilityResponse

The visibility of a form on an issue or request.

PUT/issue/{issueIdOrKey}/form/{formId}/action/external
1 2 3 4 curl --request PUT \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/action/external' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 { "visibility": "internal" }
PUT

Change visibility to internal

Changes the visibility of a form on an issue from external to internal only. Internal forms can not be viewed in the portal by customers.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
write:jira-work

Connect app scope requiredWRITE

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the form is successfully set to internal.

application/json

FormVisibilityResponse

The visibility of a form on an issue or request.

PUT/issue/{issueIdOrKey}/form/{formId}/action/internal
1 2 3 4 curl --request PUT \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/action/internal' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 { "visibility": "internal" }
GET

Get form simplified answers

Gets the answers from a form on an issue that are simplified into a flattened list for scripting tool ease of use. Multivalued answers will be flattened to a comma-separated string.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes
read:jira-work

Connect app scope requiredREAD

Request

Path parameters

issueIdOrKey

string

Required
formId

string

Required

Responses

Returned when the form answers are retrieved successfully.

application/json

array<FormSimplifiedAnswer>

GET/issue/{issueIdOrKey}/form/{formId}/format/answers
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}/format/answers' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 [ { "label": "<string>", "fieldKey": "<string>", "answer": "<string>", "choice": "<string>" } ]

Rate this page: