{"components":{"schemas":{"ApiError":{"description":"Response indicating an error occurred.","properties":{"code":{"description":"Error code of the response.","type":"string"},"context":{"description":"The context that identifies what caused the error.","items":{"$ref":"#/components/schemas/Entity"},"type":"array"},"detail":{"description":"Additional detail describing why the error occurred.","type":"string"},"id":{"description":"Id of the error response.","format":"uuid","type":"string"},"status":{"description":"Status code of the response.","format":"int32","type":"integer"},"title":{"description":"Message describing the error that occurred.","type":"string"}},"required":["code","status","title"],"type":"object"},"ApiErrorsResponse":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/ApiError"},"type":"array"}},"required":["errors"],"type":"object"},"AttachFormRequest":{"description":"A request indicating a form to be attached to an issue.","properties":{"formTemplate":{"$ref":"#/components/schemas/FormTemplateRef"}},"required":["formTemplate"],"type":"object"},"Blocked":{"description":"The blocked status of the export (none, some, or all issues blocked).","example":"none","properties":{"value":{"type":"string"}},"required":["value"],"type":"object"},"CopiedForm":{"description":"A copied form, specifying the old and new form ID.","properties":{"id":{"description":"The ID of the old form.","format":"uuid","type":"string"},"newId":{"description":"The ID of the new (copied) form.","format":"uuid","type":"string"}},"required":["id","newId"],"type":"object"},"CopyFormsRequest":{"description":"A request indicating the form IDs on an issue to be copied.","properties":{"ids":{"description":"An array of form IDs. If not specified, copies all forms.","items":{"$ref":"#/components/schemas/FormId"},"type":"array"}},"type":"object"},"CopyFormsResponse":{"description":"Response after copying forms.","properties":{"copiedForms":{"description":"Forms successfully copied.","items":{"$ref":"#/components/schemas/CopiedForm"},"type":"array"},"errors":{"description":"Errors for the forms being copied.","items":{"$ref":"#/components/schemas/ApiError"},"type":"array"}},"required":["copiedForms","errors"],"type":"object"},"Entity":{"description":"An entity.","properties":{"id":{"description":"The identifier for the entity.","type":"string"},"type":{"description":"The type of the entity.","type":"string"}},"required":["id","type"],"type":"object"},"ExportRequest":{"description":"A request indicating forms from a project to be exported.","properties":{"fields":{"description":"An array with the id(s) of Jira fields. The export will include the values of each of these Jira fields, for each issue.","items":{"description":"An array with the id(s) of Jira fields. The export will include the values of each of these Jira fields, for each issue.","type":"string"},"type":"array"},"formTemplate":{"$ref":"#/components/schemas/FormTemplateRef"},"format":{"description":"The format of the exported data. ","enum":["xlsx"],"example":"xlsx","type":"string"},"jql":{"description":"A [JQL](https://confluence.atlassian.com/x/egORLQ) query. The export will be limited to include only issues that match this JQL query.","type":"string"},"projectIdOrKey":{"description":"The project key or id to export data from.","type":"string"}},"required":["formTemplate","format","projectIdOrKey"],"type":"object"},"ExportResponse":{"description":"Indicates that the export process has started successfully.","properties":{"format":{"description":"The format of the exported data. ","enum":["xlsx"],"example":"xlsx","type":"string"},"id":{"description":"A unique ID for this export task, to allow it to be retrieved later.","example":"responses-xlsx-10000-0-000000000","type":"string"},"statusUrl":{"description":"The URL of the check status API which you can call to check the progress of this export.","example":"https://api.atlassian.com/jira/forms/cloud/{cloudId}/export/responses-xlsx-10000-0-000000000","type":"string"}},"required":["format","id","statusUrl"],"type":"object"},"ExportStatusResponse":{"description":"The status of an export.","properties":{"blocked":{"$ref":"#/components/schemas/Blocked"},"complete":{"description":"Whether or not the export has completed.","example":false,"type":"boolean"},"failed":{"description":"Whether the export has failed.","example":false,"type":"boolean"},"progress":{"description":"The percentage of the export that has completed.","example":43,"format":"int32","type":"integer"}},"required":["complete","failed","progress"],"type":"object"},"ExternalFieldData":{"description":"The external field data on a question.","format":"Map","properties":{"answer":{"$ref":"#/components/schemas/ExternalFormAnswer"},"choices":{"description":"Possible choices that may be selected as answers to the question.","items":{"$ref":"#/components/schemas/ExternalFormChoice"},"type":"array"},"jiraField":{"$ref":"#/components/schemas/JiraFieldDetails"}},"required":["answer"],"type":"object"},"ExternalFieldDataResponse":{"description":"A response containing all external data for questions and answers on a form.","properties":{"fields":{"additionalProperties":{"$ref":"#/components/schemas/ExternalFieldData"},"description":"The questions on the form and their external field data.","format":"Map","type":"object"}},"required":["fields"],"type":"object"},"ExternalFormAnswer":{"description":"The form answer from an external data source.","properties":{"adf":{"type":"object"},"choices":{"description":"Choices that have been selected.","items":{"$ref":"#/components/schemas/ExternalFormChoiceAnswer"},"type":"array"},"date":{"description":"Contains an answer in date format.","format":"date","type":"string"},"text":{"description":"Contains an answer in free text format.","type":"string"},"time":{"format":"time","type":"string"},"users":{"description":"Users that have been selected.","items":{"$ref":"#/components/schemas/FormUser"},"type":"array"}},"type":"object"},"ExternalFormChoice":{"description":"A choice on a question, from an external data source.","properties":{"children":{"description":"Children of the choice.","items":{"$ref":"#/components/schemas/ExternalFormChoice"},"type":"array"},"id":{"description":"The id of the choice.","type":"string"},"name":{"description":"The name of the choice.","type":"string"}},"required":["id","name"],"type":"object"},"ExternalFormChoiceAnswer":{"description":"A choice answer on a question, from an external data source.","properties":{"id":{"description":"The id of the choice.","type":"string"},"name":{"description":"The name of the choice.","type":"string"}},"required":["id","name"],"type":"object"},"FieldCheck":{"description":"A field check which defines a constraint on a field.","properties":{"constraint":{"description":"The values to check against the field. The specific meaning depends on the check type.","items":{"description":"The values to check against the field. The specific meaning depends on the check type.","type":"string"},"type":"array"},"fieldId":{"description":"The ID of the form field/question to check.","type":"string"},"type":{"description":"The type of field check to perform.","enum":["ALL_OF","BETWEEN","CONTAINS","DOES_NOT_CONTAIN","DOES_NOT_EQUAL","EMPTY","EQUAL_TO","GREATER_THAN","GREATER_THAN_OR_EQUAL_TO","LESS_THAN","LESS_THAN_OR_EQUAL_TO","NONE_OF","NOT_EMPTY","SOME_OF"],"type":"string"}},"required":["constraint","fieldId","type"],"type":"object"},"Form":{"description":"A form associated with an issue or request.","properties":{"design":{"$ref":"#/components/schemas/FormDesign"},"id":{"description":"The ID of the form associated with the issue or request, in UUID format.","example":"c18bde7a-d846-11ed-afa1-0242ac120002","format":"uuid","type":"string"},"state":{"$ref":"#/components/schemas/FormState"},"updated":{"description":"When the form was last updated, in UTC time stored in ISO 8601 format.","example":"2023-04-11T08:59:18Z","format":"date-time","type":"string"}},"required":["design","id","state","updated"],"type":"object"},"FormAnswer":{"description":"Answer to a single question on a form. Can also be used to define the default answer to a question.","properties":{"adf":{"type":"object"},"choices":{"description":"IDs of choices that have been selected.","items":{"description":"IDs of choices that have been selected.","type":"string"},"type":"array"},"date":{"description":"Contains an answer in date format.","format":"date","type":"string"},"files":{"description":"Files attached to the form.","items":{"$ref":"#/components/schemas/FormFile"},"type":"array"},"text":{"description":"Contains an answer in free text format.","type":"string"},"time":{"format":"time","type":"string"},"users":{"description":"Users that have been selected.","items":{"$ref":"#/components/schemas/FormUser"},"type":"array"}},"type":"object"},"FormAnswerRequest":{"description":"Answers to be submitted for a question on a form.","properties":{"adf":{"type":"object"},"choices":{"description":"IDs of choices that have been selected.","items":{"description":"IDs of choices that have been selected.","type":"string"},"type":"array"},"date":{"description":"Contains an answer in date format.","format":"date","type":"string"},"files":{"description":"Files such as attachments (attachment names).","items":{"$ref":"#/components/schemas/FormFile"},"type":"array"},"text":{"description":"Contains an answer in free text format.","type":"string"},"time":{"format":"time","type":"string"},"users":{"description":"IDs of users that have been selected.","items":{"description":"IDs of users that have been selected.","type":"string"},"type":"array"}},"type":"object"},"FormAttachmentMetadata":{"description":"Attachment metadata.","format":"Map>","properties":{"attachmentId":{"description":"The ID for the attachment which can be used to call Jira Service Management REST APIs to get attachment content or get attachments for request.","format":"int64","type":"integer"},"creationDate":{"description":"File creation date in unix time.","format":"int64","type":"integer"},"id":{"description":"File ID.","type":"string"},"name":{"description":"Name of the uploaded file.","type":"string"},"size":{"description":"File size in bytes.","format":"int64","type":"integer"},"type":{"description":"File type.","type":"string"}},"required":["attachmentId","creationDate","id","name","size"],"type":"object"},"FormAttachmentsMetadata":{"description":"A response containing all the form's attachments.","properties":{"fields":{"additionalProperties":{"description":"The questions on the form and their attachments.","format":"Map>","items":{"$ref":"#/components/schemas/FormAttachmentMetadata"},"type":"array"},"description":"The questions on the form and their attachments.","format":"Map>","type":"object"}},"required":["fields"],"type":"object"},"FormChoice":{"description":"Possible choices that may be selected as answers to the question.","properties":{"children":{"items":{"$ref":"#/components/schemas/FormChoice"},"type":"array"},"id":{"type":"string"},"label":{"type":"string"},"other":{"type":"boolean"}},"required":["id","label"],"type":"object"},"FormCondition":{"description":"A condition, which can be applied to sections, questions and choices of the form. Supported condition types are `sh` (show) and `hide`, which can show or hide sections in a form if the condition is fulfilled.","format":"Map","properties":{"i":{"$ref":"#/components/schemas/FormConditionInput"},"o":{"$ref":"#/components/schemas/FormConditionOutput"}},"required":["i","o"],"type":"object"},"FormConditionInput":{"description":"Input into a condition which defines whether or not the condition is triggered.","properties":{"co":{"$ref":"#/components/schemas/OneChoiceInput"},"groups":{"items":{"$ref":"#/components/schemas/Group"},"type":"array"},"operator":{"description":"The logical operator to apply to the groups.","enum":["AND","OR"],"type":"string"}},"required":["co"],"type":"object"},"FormConditionOutput":{"description":"Items the condition affects when it is triggered.","properties":{"sIds":{"description":"The section IDs that this condition applies to.","example":["1"],"items":{"description":"The section IDs that this condition applies to.","example":"[\"1\"]","type":"string"},"type":"array"},"t":{"description":"The condition type (show or hide).","enum":["sh","hide"],"type":"string"}},"required":["sIds","t"],"type":"object"},"FormDesign":{"description":"Defines the configuration of the form including questions, layout, and form settings. These don’t change once a form in filled in.","properties":{"conditions":{"additionalProperties":{"$ref":"#/components/schemas/FormCondition"},"description":"The conditions applied to sections, questions and choices of the form.","format":"Map","type":"object"},"layout":{"description":"An array of ADF documents containing metadata corresponding to sections in the form.","items":{"type":"object"},"type":"array"},"questions":{"additionalProperties":{"$ref":"#/components/schemas/FormQuestion"},"description":"The questions on the form.","format":"Map","type":"object"},"sections":{"additionalProperties":{"$ref":"#/components/schemas/FormSection"},"description":"The sections of the form.","format":"Map","type":"object"},"settings":{"$ref":"#/components/schemas/FormSettings"}},"required":["conditions","layout","questions","sections","settings"],"type":"object"},"FormDesignRequest":{"description":"Defines the configuration of the form including questions, layout, and form settings. These don’t change once a form in filled in.","properties":{"conditions":{"additionalProperties":{"$ref":"#/components/schemas/FormCondition"},"description":"The conditions applied to sections, questions and choices of the form.","format":"Map","type":"object"},"layout":{"description":"An array of ADF documents containing metadata corresponding to sections in the form.","items":{"type":"object"},"type":"array"},"questions":{"additionalProperties":{"$ref":"#/components/schemas/FormQuestionRequest"},"description":"The questions on the form.","format":"Map","type":"object"},"sections":{"additionalProperties":{"$ref":"#/components/schemas/FormSection"},"description":"The sections of the form.","format":"Map","type":"object"},"settings":{"$ref":"#/components/schemas/FormSettings"}},"required":["conditions","layout","questions","sections","settings"],"type":"object"},"FormFile":{"description":"A file uploaded and associated with a form","properties":{"creationDate":{"description":"File creation date in unix time","format":"int64","type":"integer"},"id":{"description":"File ID.","type":"string"},"name":{"description":"Name of the uploaded file.","type":"string"},"size":{"description":"File size in bytes","format":"int64","type":"integer"},"type":{"description":"File type","type":"string"}},"required":["id"],"type":"object"},"FormId":{"description":"An array of form IDs. If not specified, copies all forms.","properties":{"value":{"format":"uuid","type":"string"}},"required":["value"],"type":"object"},"FormIndexEntry":{"description":"A summary of a form associated with an issue or request.","properties":{"formTemplate":{"$ref":"#/components/schemas/FormTemplateRef"},"id":{"description":"The ID of the form associated with the issue or request.","format":"uuid","type":"string"},"internal":{"description":"If the form is not visible on the Portal (for Jira Service Management projects).","type":"boolean"},"lock":{"description":"If the form is locked.","type":"boolean"},"name":{"description":"The name of the form.","type":"string"},"submitted":{"description":"If the form is submitted.","type":"boolean"},"updated":{"description":"When the form was last updated.","format":"date-time","type":"string"}},"required":["id","lock","name","submitted","updated"],"type":"object"},"FormPublishing":{"description":"The configuration settings for publishing the form","properties":{"jira":{"$ref":"#/components/schemas/FormPublishingJira"},"portal":{"$ref":"#/components/schemas/FormPublishingPortal"}},"type":"object"},"FormPublishingJira":{"description":"The configuration settings for publishing the form within Jira","properties":{"issueCreateIssueTypeIds":{"description":"Issue type IDs that this form can create issues for. This form will be listed in the create issue form popup.","items":{"description":"Issue type IDs that this form can create issues for. This form will be listed in the create issue form popup.","format":"int32","type":"integer"},"type":"array"},"issueCreateRequestTypeIds":{"description":"Request type IDs that this form can create issues for. This form will be listed in the create issue form popup.","items":{"description":"Request type IDs that this form can create issues for. This form will be listed in the create issue form popup.","format":"int32","type":"integer"},"type":"array"},"recommendedIssueRequestTypeIds":{"description":"Request type IDs associated with a form template that is recommended in the Jira issue view.","items":{"description":"Request type IDs associated with a form template that is recommended in the Jira issue view.","format":"int32","type":"integer"},"type":"array"},"submitOnCreate":{"description":"Determines if forms created by the JSM portal should be submitted immediately. If set to true, the form will be submitted right after the portal request is created. If set to false, the form will not be submitted; instead, it will be added to the request with an open status.","type":"boolean"},"validateOnCreate":{"description":"Indicates if the forms created by the JSM portal must be validated prior to customer request creation.","type":"boolean"}},"required":["issueCreateIssueTypeIds","issueCreateRequestTypeIds","recommendedIssueRequestTypeIds","submitOnCreate","validateOnCreate"],"type":"object"},"FormPublishingPortal":{"description":"The configuration settings for displaying the form in the portal.","properties":{"portalRequestTypeIds":{"description":"IDs of request types that will display this form in the portal.","items":{"description":"IDs of request types that will display this form in the portal.","format":"int32","type":"integer"},"type":"array"},"submitOnCreate":{"description":"Determines if forms created in the portal should be submitted immediately. If set to true, the form will be submitted right after the portal request is created. If set to false, the form will not be submitted; instead, it will be added to the request with an open status.","type":"boolean"},"validateOnCreate":{"description":"Indicates if the forms created in the portal must be validated prior to request creation.","type":"boolean"}},"required":["portalRequestTypeIds","submitOnCreate","validateOnCreate"],"type":"object"},"FormQuestion":{"description":"A single question on a form.","format":"Map","properties":{"choices":{"description":"Possible choices that may be selected as answers to the question.","items":{"$ref":"#/components/schemas/FormChoice"},"type":"array"},"dcId":{"description":"The linked data connection id.","type":"string"},"defaultAnswer":{"$ref":"#/components/schemas/FormAnswer"},"description":{"description":"An optional description displayed when filling out the form.","type":"string"},"jiraField":{"description":"The linked Jira field.","type":"string"},"label":{"description":"The label displayed when filling out the form.","type":"string"},"questionKey":{"description":"An optional unique identifier for this question on a form.","type":"string"},"type":{"description":"Type of question: defines how the question appears and is used on the form, and how it can be answered.
Possible values include:
  • `at` (Attachment)
  • `cc` (Cascading dropdown)
  • `cd` (Dropdown)
  • `cl` (Multiselect dropdown)
  • `cm` (Checkboxes)
  • `cs` (Radio buttons)
  • `ob` (Assets object/s)
  • `da` (Date)
  • `dt` (Date & Time)
  • `no` (Number)
  • `rt` (Paragraph)
  • `te` (Email)
  • `tl` (Long text)
  • `pg` (Paragraph - Legacy)
  • `ts` (Short text)
  • `tu` (URL)
  • `ti` (Time)
  • `um` (Multiple users)
  • `us` (Single user)
","enum":["at","cc","cd","cl","cm","cs","ob","da","dt","no","rt","te","tl","pg","ts","tu","ti","um","us"],"example":"rt","type":"string"},"validation":{"$ref":"#/components/schemas/FormValidation"}},"required":["label","type","validation"],"type":"object"},"FormQuestionRequest":{"description":"A single question on a form.","format":"Map","properties":{"choices":{"description":"Possible choices that may be selected as answers to the question.","items":{"$ref":"#/components/schemas/FormChoice"},"type":"array"},"dcId":{"description":"The linked data connection id.","type":"string"},"defaultAnswer":{"$ref":"#/components/schemas/FormAnswerRequest"},"description":{"description":"An optional description displayed when filling out the form.","type":"string"},"jiraField":{"description":"The linked Jira field.","type":"string"},"label":{"description":"The label displayed when filling out the form.","type":"string"},"questionKey":{"description":"An optional unique identifier for this question on a form. If provided, it must be unique within the form.","type":"string"},"type":{"description":"Type of question: defines how the question appears and is used on the form, and how it can be answered.
Possible values include:
  • `at` (Attachment)
  • `cc` (Cascading dropdown)
  • `cd` (Dropdown)
  • `cl` (Multiselect dropdown)
  • `cm` (Checkboxes)
  • `cs` (Radio buttons)
  • `ob` (Assets object/s)
  • `da` (Date)
  • `dt` (Date & Time)
  • `no` (Number)
  • `rt` (Paragraph)
  • `te` (Email)
  • `tl` (Long text)
  • `pg` (Paragraph - Legacy)
  • `ts` (Short text)
  • `tu` (URL)
  • `ti` (Time)
  • `um` (Multiple users)
  • `us` (Single user)
","enum":["at","cc","cd","cl","cm","cs","ob","da","dt","no","rt","te","tl","pg","ts","tu","ti","um","us"],"example":"rt","type":"string"},"validation":{"$ref":"#/components/schemas/FormValidation"}},"required":["label","type","validation"],"type":"object"},"FormSection":{"description":"A section of a form.","format":"Map","properties":{"conditions":{"description":"Conditions applicable to the section.","items":{"description":"Conditions applicable to the section.","type":"string"},"type":"array"},"name":{"description":"The name of the section, used for identification but not displayed to the user.","type":"string"},"sectionType":{"description":"The type of the section.","enum":["p","b"],"type":"string"}},"required":["sectionType"],"type":"object"},"FormSettings":{"description":"The general settings of the form, which affect the entire form.","properties":{"language":{"description":"The language of the form.","example":"en","type":"string"},"name":{"description":"The name of the form.","example":"New employee onboarding","type":"string"},"primaryLocale":{"description":"The primary locale of the form.","example":"en-US","type":"string"},"submit":{"$ref":"#/components/schemas/FormSettingsSubmit"},"translatedLocale":{"description":"The locale the form has been translated to.","example":"en-GB","type":"string"}},"required":["name","submit"],"type":"object"},"FormSettingsSubmit":{"description":"Settings controlling what happens on submit of this form.","properties":{"lock":{"description":"Whether to lock the form when it is submitted.","type":"boolean"},"pdf":{"description":"Whether to generate a pdf of the form when it is submitted.","type":"boolean"}},"required":["lock","pdf"],"type":"object"},"FormSimplifiedAnswer":{"description":"The form answers on an issue or request in a simplified format.","properties":{"answer":{"description":"The answer to the form question, represented as a string.","type":"string"},"choice":{"description":"The selected choice IDs on a choice question.","type":"string"},"fieldKey":{"description":"

The field key associated with the form question, if one has been set in the form builder.

If no field key is set but there is an associated Jira field then fieldKey will contain the Jira field key.

If neither field key nor Jira field is available then fieldKey will not be provided.

","type":"string"},"label":{"description":"The label of the form question.","type":"string"}},"required":["answer","label"],"type":"object"},"FormState":{"description":"Defines the current state of the form that may change as it is added to an issue or request and filled in.","properties":{"answers":{"additionalProperties":{"$ref":"#/components/schemas/FormAnswer"},"description":"The answers to questions on the form.","type":"object"},"status":{"description":"The status of a form: open, submitted or locked. Possible values are `o`, `s` and `l` respectively.","enum":["o","s","l"],"example":"o","type":"string"},"visibility":{"description":"The visibility of the form. Possible values are `i` for internal, and `e` for external.","enum":["i","e"],"example":"i","type":"string"}},"required":["answers","status","visibility"],"type":"object"},"FormStatusResponse":{"description":"A response indicating the current status of a form on an issue or request.","properties":{"status":{"description":"The status of the form, which can be open, submitted or locked.","enum":["open","submitted","locked"],"type":"string"}},"required":["status"],"type":"object"},"FormTemplate":{"description":"The form template associated with a project.","properties":{"design":{"$ref":"#/components/schemas/FormDesign"},"id":{"description":"The ID of the form, in UUID format.","example":"c18bde7a-d846-11ed-afa1-0242ac120002","format":"uuid","type":"string"},"publish":{"$ref":"#/components/schemas/FormPublishing"},"updated":{"description":"When the form was last updated, in UTC time stored in ISO 8601 format.","example":"2023-04-11T08:59:18Z","format":"date-time","type":"string"}},"required":["design","id","updated"],"type":"object"},"FormTemplateIndexEntry":{"description":"A summary of a form template associated with a project.","properties":{"id":{"description":"The ID of the form.","format":"uuid","type":"string"},"issueCreateIssueTypeIds":{"description":"Issue type IDs associated with a form template for issue create.","items":{"description":"Issue type IDs associated with a form template for issue create.","format":"int32","type":"integer"},"type":"array"},"issueCreateRequestTypeIds":{"description":"Request type IDs associated with a form template for issue create.","items":{"description":"Request type IDs associated with a form template for issue create.","format":"int32","type":"integer"},"type":"array"},"name":{"description":"Name of the form template.","type":"string"},"portalRequestTypeIds":{"description":"Request type IDs associated with a form template that is shown in the portal.","items":{"description":"Request type IDs associated with a form template that is shown in the portal.","format":"int32","type":"integer"},"type":"array"},"recommendedIssueRequestTypeIds":{"description":"Request or issue type IDs of requests or issues that have the form template recommended in issue view when attaching a form to an issue.","items":{"description":"Request or issue type IDs of requests or issues that have the form template recommended in issue view when attaching a form to an issue.","format":"int32","type":"integer"},"type":"array"},"updated":{"description":"When the form template was last updated.","format":"date-time","type":"string"}},"required":["id","issueCreateIssueTypeIds","issueCreateRequestTypeIds","name","portalRequestTypeIds","recommendedIssueRequestTypeIds","updated"],"type":"object"},"FormTemplateRef":{"description":"Metadata of the template the form was created from.","properties":{"id":{"description":"ID of the form template.","format":"uuid","type":"string"}},"required":["id"],"type":"object"},"FormTemplateRequest":{"description":"A request indicating a form template to be saved on a project.","properties":{"design":{"$ref":"#/components/schemas/FormDesignRequest"},"publish":{"$ref":"#/components/schemas/FormPublishing"}},"required":["design"],"type":"object"},"FormUser":{"description":"A user selected in a user picker.","properties":{"id":{"description":"User account ID.","type":"string"},"name":{"description":"Username for the user.","type":"string"}},"required":["id","name"],"type":"object"},"FormValidation":{"description":"Form question validation configuration.","properties":{"ch":{"description":"ID of required choice.","type":"string"},"mnc":{"description":"Minimum characters.","format":"int32","type":"integer"},"mnd":{"description":"Minimum date.","format":"date","type":"string"},"mnn":{"description":"Minimum number.","format":"double","type":"number"},"mns":{"description":"Minimum number of choice selections.","format":"int32","type":"integer"},"mnt":{"format":"time","type":"string"},"mnw":{"description":"Minimum words.","format":"int32","type":"integer"},"mxc":{"description":"Minimum characters.","format":"int32","type":"integer"},"mxd":{"description":"Maximum date.","format":"date","type":"string"},"mxn":{"description":"Maximum number.","format":"double","type":"number"},"mxs":{"description":"Maximum number of choice selections.","format":"int32","type":"integer"},"mxt":{"format":"time","type":"string"},"mxw":{"description":"Maximum words.","format":"int32","type":"integer"},"rgx":{"$ref":"#/components/schemas/FormValidationRegex"},"rq":{"description":"Whether it is required.","type":"boolean"},"wh":{"description":"Whether it is whole number only.","type":"boolean"}},"type":"object"},"FormValidationRegex":{"description":"Regex form validation.","properties":{"m":{"description":"Message to display to user if the answer doesn't match the expected format.","type":"string"},"p":{"description":"Regex pattern.","type":"string"}},"required":["p"],"type":"object"},"FormVisibilityResponse":{"description":"The visibility of a form on an issue or request.","properties":{"visibility":{"description":"The visibility of the form, which can be internal or external.","enum":["internal","external"],"type":"string"}},"required":["visibility"],"type":"object"},"Group":{"description":"A form condition input group which defines a grouping of field checks.","properties":{"checks":{"items":{"$ref":"#/components/schemas/FieldCheck"},"type":"array"},"operator":{"description":"The logical operator to apply to the field checks.","enum":["AND","OR"],"type":"string"}},"required":["checks","operator"],"type":"object"},"JiraFieldDetails":{"description":"Details relating to a Jira field.","properties":{"configId":{"description":"The Jira field config ID.","type":"string"},"custom":{"description":"The type of a custom Jira field.","type":"string"},"id":{"description":"The ID of the Jira field.","type":"string"},"system":{"description":"The type of a system Jira field.","type":"string"},"type":{"description":"The Jira field type.","type":"string"}},"required":["id"],"type":"object"},"OneChoiceInput":{"description":"A form condition input which is fulfilled when the answer to a choice question includes any one of the choices nominated in `cIds`.","properties":{"cIds":{"additionalProperties":{"description":"Form condition choices for choice questions.","format":"Map>","items":{"description":"Form condition choices for choice questions.","format":"Map>","type":"string"},"type":"array"},"description":"Form condition choices for choice questions.","format":"Map>","type":"object"}},"required":["cIds"],"type":"object"},"PortalFormTemplate":{"description":"The form template associated with a request type in the portal.","properties":{"design":{"$ref":"#/components/schemas/FormDesign"},"id":{"description":"The ID of the form associated with the issue or request, in UUID format.","example":"c18bde7a-d846-11ed-afa1-0242ac120002","format":"uuid","type":"string"},"publish":{"$ref":"#/components/schemas/FormPublishingPortal"},"updated":{"description":"When the form was last updated, in UTC time stored in ISO 8601 format.","example":"2023-04-11T08:59:18Z","format":"date-time","type":"string"}},"required":["design","id","publish","updated"],"type":"object"},"SaveFormRequest":{"description":"A request indicating the answers to save on a form.","properties":{"answers":{"additionalProperties":{"$ref":"#/components/schemas/FormAnswer"},"description":"The answers to the form fields. It contains a mapping of form field IDs to their corresponding values.","type":"object"}},"required":["answers"],"type":"object"}},"securitySchemes":{"basicAuth":{"description":"You can access this resource via basic auth.","scheme":"basic","type":"http"},"oAuthDefinitions":{"description":"This API uses OAuth 2 with the authorizationCode grant flow.","flows":{"authorizationCode":{"authorizationUrl":"https://auth.atlassian.com/authorize","scopes":{"read:jira-work":"Read Jira project and issue data, search for issues and objects associated with issues like attachments and worklogs.","read:servicedesk-request":"Read customer request data, service desk and request types.","write:jira-work":"Create and edit issues in Jira, post comments as the user, create worklogs, and delete issues.","write:servicedesk-request":"Create and edit customer request data."},"tokenUrl":"https://auth.atlassian.com/oauth/token"}},"type":"oauth2"}}},"info":{"title":"ProForma Forms RESTful API","version":"0.0.0-alpha"},"openapi":"3.0.3","paths":{"/export":{"post":{"description":"Starts an export of form data on a project.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"start","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}},"description":"A request specifying the export.","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportResponse"}}},"description":"Returned when the project's forms have started export successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested project was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in exporting."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Start export","tags":["Forms Export"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/export/{exportId}":{"get":{"description":"Gets the status of an export of form data.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getStatus","parameters":[{"description":"The export task ID","in":"path","name":"exportId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportStatusResponse"}}},"description":"The status of an export; whether it has completed successfully or failed, or its current progress."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The export task ID was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the export status."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get export status","tags":["Forms Export"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/export/{exportId}/{filename}":{"get":{"description":"Downloads the result of an export of form data.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"download","parameters":[{"description":"The export task ID","in":"path","name":"exportId","required":true,"schema":{"type":"string"}},{"description":"The name of the file to export to","in":"path","name":"filename","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"items":{"format":"byte","type":"string"},"type":"array"}}},"description":"The export has completed successfully, and will be downloaded."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The export has not yet completed, or the provided filename is invalid."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The export task ID was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in downloading the export."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Download export result","tags":["Forms Export"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form":{"get":{"description":"Gets a list of forms on the issue with basic metadata about them.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getFormIndex","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FormIndexEntry"},"type":"array"}}},"description":"The list of forms on the issue."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form index."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get form index","tags":["Forms on Issue"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]},"post":{"description":"Adds a form template to an issue.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addForm","parameters":[{"description":"The issue key or ID","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachFormRequest"}}},"description":"A request specifying an attach form.","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormIndexEntry"}}},"description":"Returned when the form template is attached successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form template was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in attaching the form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Add form","tags":["Forms on Issue"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}":{"delete":{"description":"Deletes a form from an issue.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteForm","parameters":[{"description":"The issue key or ID","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Returned when the form is deleted successfully."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A bad request was made."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in deleting the form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Delete form","tags":["Forms on Issue"],"x-atlassian-connect-scope":"DELETE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]},"get":{"description":"Gets a single form on an issue as a complete JSON object.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getForm","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Form"}}},"description":"Returned when the form is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get form","tags":["Forms on Issue"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]},"put":{"description":"

Saves form answers on an issue.

\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"saveFormAnswers","parameters":[{"description":"The issue key or ID","example":"KOKO-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveFormRequest"}}},"description":"A request to save form answers.","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Form"}}},"description":"Returned when form answers are successfully saved."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The form answers provided were invalid."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in saving the form answers."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Save form answers","tags":["Forms on Issue"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/action/external":{"put":{"description":"Changes the visibility of a form on an issue from internal only to external. External forms can be viewed in the portal by customers.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"externaliseForm","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormVisibilityResponse"}}},"description":"Returned when the form is successfully set to external."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form or setting the form visibility."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Change visibility to external","tags":["Forms on Issue"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/action/internal":{"put":{"description":"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.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"internaliseForm","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormVisibilityResponse"}}},"description":"Returned when the form is successfully set to internal."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form or setting the form visibility."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Change visibility to internal","tags":["Forms on Issue"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/action/reopen":{"put":{"description":"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.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\n * *Administer Jira* [project permission](https://confluence.atlassian.com/x/x4dKLg) if the form is locked.","operationId":"reopenForm","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormStatusResponse"}}},"description":"Returned when the form is reopened successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The form is locked and can only be reopened by a project admin"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Reopen form","tags":["Forms on Issue"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/action/submit":{"put":{"description":"

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.

\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"submitForm","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormStatusResponse"}}},"description":"Returned when the form is submitted successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Submit form","tags":["Forms on Issue"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/attachment":{"get":{"description":"Retrieve metadata for all attachments in a form on an issue.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssueFormAttachmentsMetadata","parameters":[{"description":"The issue key or ID","example":"ZAINA-123","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"7f9b3a40-9f25-4c06-9e46-3b3c9588aa5d","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormAttachmentsMetadata"}}},"description":"Returned when the metadata associated with the attachment fields on the form are successfully retrieved."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the attachments metadata on the issue form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get form attachments metadata","tags":["Forms on Issue"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/externaldata":{"get":{"description":"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.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getFormExternalData","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalFieldDataResponse"}}},"description":"The external field data for questions and answers on a form."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the external field data on the form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get external form data","tags":["Forms on Issue"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/format/answers":{"get":{"description":"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.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getFormSimplifiedAnswers","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FormSimplifiedAnswer"},"type":"array"}}},"description":"Returned when the form answers are retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form answers."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get form simplified answers","tags":["Forms on Issue"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/format/pdf":{"get":{"description":"Gets a single form on an issue as a PDF file.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getFormPdf","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"format":"byte","type":"string"}}},"description":"Returned when the pdf is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form pdf."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get form PDF","tags":["Forms on Issue"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/issue/{issueIdOrKey}/form/{formId}/format/xlsx":{"get":{"description":"Gets a single form on an issue as an XLSX file.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getFormXlsx","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"format":"byte","type":"string"}}},"description":"Returned when the xlsx is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested issue or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form xlsx."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get form XLSX","tags":["Forms on Issue"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]}},"/issue/{sourceIssueIdOrKey}/form/copy/{targetIssueIdOrKey}":{"post":{"description":"Copy forms from one issue to another.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Browse projects and Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"copyForms","parameters":[{"description":"The source issue key or ID","in":"path","name":"sourceIssueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The target issue key or ID","in":"path","name":"targetIssueIdOrKey","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyFormsRequest"}}},"description":"A request with a list of form IDs to copy.","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyFormsResponse"}}},"description":"Returned when the forms are copied successfully, or with partial success."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested source or target issue was not found, or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in copying the forms."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"summary":"Copy forms","tags":["Forms on Issue"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:jira-work"],"state":"Current"}]}},"/project/{projectIdOrKey}/form":{"get":{"description":"Get a list of form templates associated with the project.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getFormTemplateIndex","parameters":[{"description":"The project key or ID","example":"EX","in":"path","name":"projectIdOrKey","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FormTemplateIndexEntry"},"type":"array"}}},"description":"The list of form templates on the project."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested project was not found or the user does not have permission to access the project."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the project forms index."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get project form index","tags":["Forms on Project"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]},"post":{"description":"Creates a form template on a project.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Administer Jira* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"createFormTemplate","parameters":[{"description":"The project key or ID","example":"EX","in":"path","name":"projectIdOrKey","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplateRequest"}}},"description":"A JSON object containing the content for a form template.","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormIndexEntry"}}},"description":"Returned when the form template is created successfully."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There are duplicate question keys on the form template."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested project was not found or the user does not have permission to administer the project."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in creating the form template."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["manage:jira-project"]}],"summary":"Create form template","tags":["Forms on Project"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["manage:jira-project"],"state":"Current"}]}},"/project/{projectIdOrKey}/form/{formId}":{"delete":{"description":"Deletes a form on a project. This won't affect existing issues that already use this form, or any copies of this form in other projects.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Administer Jira* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"deleteFormTemplate","parameters":[{"description":"The project key or ID","example":"EX","in":"path","name":"projectIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"Returned when the form template is deleted successfully."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A bad request was made."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested project was not found or the user does not have permission to administer the project."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in deleting the form template."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["manage:jira-project"]}],"summary":"Delete form template","tags":["Forms on Project"],"x-atlassian-connect-scope":"DELETE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["manage:jira-project"],"state":"Current"}]},"get":{"description":"Gets a form template as a JSON object on a project.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getFormTemplate","parameters":[{"description":"The project key or ID","example":"EX","in":"path","name":"projectIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The requested language for the form to be translated to","example":"en-US","in":"query","name":"requestLanguage","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplate"}}},"description":"Returned when the form template is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested project was not found or the user does not have permission to access the project."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the project form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"summary":"Get form template","tags":["Forms on Project"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:jira-work"],"state":"Current"}]},"put":{"description":"Saves a form template on a project.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**\n\n * *Administer Jira* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"saveFormTemplate","parameters":[{"description":"The project key or ID","example":"EX","in":"path","name":"projectIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplateRequest"}}},"description":"A JSON object containing a form template to save.","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplateIndexEntry"}}},"description":"Returned when the form template is saved successfully."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The form template provided was invalid."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested project was not found or the user does not have permission to administer the project."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in saving the form template."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["manage:jira-project"]}],"summary":"Save form template","tags":["Forms on Project"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["manage:jira-project"],"state":"Current"}]}},"/request/{issueIdOrKey}/form":{"get":{"description":"Gets a list of forms on the customer request with basic metadata about them.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View request* permission to view the customer request.","operationId":"getRequestFormIndex","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FormIndexEntry"},"type":"array"}}},"description":"The list of forms on the customer request."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the request form index."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get form index","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}},"/request/{issueIdOrKey}/form/{formId}":{"get":{"description":"Gets a single form on a request as a complete JSON object.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View request* permission to view the customer request.","operationId":"getRequestForm","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Form"}}},"description":"Returned when the form is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the request form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get form","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]},"put":{"description":"

Saves form answers on a request.

\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *Edit request* permission to edit the customer request.","operationId":"saveFormAnswers","parameters":[{"description":"The issue key or ID","example":"KOKO-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveFormRequest"}}},"description":"A request to save form answers.","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Form"}}},"description":"Returned when form answers are successfully saved."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The form answers provided were invalid."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in saving the form answers."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:servicedesk-request"]}],"summary":"Save form answers","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:servicedesk-request"],"state":"Current"}]}},"/request/{issueIdOrKey}/form/{formId}/action/submit":{"put":{"description":"

Changes the status of a form on a request 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.

\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *Edit request* permission to edit the customer request.","operationId":"submitForm","parameters":[{"description":"The issue key or ID","example":"KOKO-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormStatusResponse"}}},"description":"Returned when the form is submitted successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in submitting the form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:servicedesk-request"]}],"summary":"Submit form","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["write:servicedesk-request"],"state":"Current"}]}},"/request/{issueIdOrKey}/form/{formId}/attachment":{"get":{"description":"Retrieve metadata for all attachments in a form on a request.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View request* permission to view the customer request.","operationId":"getRequestFormAttachmentsMetadata","parameters":[{"description":"The issue key or ID","example":"ZAID-123","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c27b13a2-9ff7-4f88-88b3-61cf5f693f0d","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormAttachmentsMetadata"}}},"description":"Returned when the metadata associated with the attachment fields on the form are successfully retrieved."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request was not found, the user does not have permission to view it, or the form status is submitted or locked."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the attachments metadata on the request form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get form attachments metadata","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}},"/request/{issueIdOrKey}/form/{formId}/externaldata":{"get":{"description":"Get all external form data for questions and answers on a form added to a request. Forms can be linked to external sources including Jira fields and data connections, with this API returning the latest responses on these linked fields.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View request* permission to view the customer request.","operationId":"getRequestFormExternalData","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalFieldDataResponse"}}},"description":"The external field data for questions and answers on a form."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request was not found, the user does not have permission to view it, or the form status is submitted or locked."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the external field data on the request form."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get external form data","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}},"/request/{issueIdOrKey}/form/{formId}/format/answers":{"get":{"description":"Gets the answers from a form on a request that are simplified into a flattened list for scripting tool ease of use. Multivalued answers will be flattened to a comma-separated string.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View request* permission to view the customer request.","operationId":"getRequestFormSimplifiedAnswers","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FormSimplifiedAnswer"},"type":"array"}}},"description":"Returned when the form answers are retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form answers."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get form simplified answers","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}},"/request/{issueIdOrKey}/form/{formId}/format/pdf":{"get":{"description":"Gets a single form on a request as a PDF file.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View request* permission to view the customer request.","operationId":"getRequestFormPdf","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"format":"byte","type":"string"}}},"description":"Returned when the pdf is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form pdf."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get form PDF","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}},"/request/{issueIdOrKey}/form/{formId}/format/xlsx":{"get":{"description":"Gets a single form on a request as an XLSX file.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View request* permission to view the customer request.","operationId":"getRequestFormXlsx","parameters":[{"description":"The issue key or ID","example":"ISS-1","in":"path","name":"issueIdOrKey","required":true,"schema":{"type":"string"}},{"description":"The ID of the form","example":"c18bde7a-d846-11ed-afa1-0242ac120002","in":"path","name":"formId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"format":"byte","type":"string"}}},"description":"Returned when the xlsx is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The requested customer request or form was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the form xlsx."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get form XLSX","tags":["Forms on Customer Request"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}},"/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/form":{"get":{"description":"Gets a form template as a JSON object on a request type.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View Service Desk* permission to view the service desk.","operationId":"getFormTemplate","parameters":[{"description":"The service desk ID. This can alternatively be a [project identifier](#project-identifiers).","example":15,"in":"path","name":"serviceDeskId","required":true,"schema":{"type":"string"}},{"description":"The request type ID","example":11001,"in":"path","name":"requestTypeId","required":true,"schema":{"format":"int64","type":"integer"}},{"description":"The requested language for the form to be translated to","example":"en-US","in":"query","name":"requestLanguage","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalFormTemplate"}}},"description":"Returned when the form is retrieved successfully."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The request type was not found or the user does not have permission to view it."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the request form template."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get form on a request type","tags":["Forms on Portal"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}},"/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/form/externaldata":{"get":{"description":"Get all external form data for questions and default answers on a form added to a request type. Forms can be linked to external sources including Jira fields and data connections, with this API returning the latest responses on these linked fields.\n\n**[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required:**\n\n * *View Service Desk* permission to view the service desk.","operationId":"getFormTemplateExternalData","parameters":[{"description":"The service desk ID. This can alternatively be a [project identifier](#project-identifiers).","example":15,"in":"path","name":"serviceDeskId","required":true,"schema":{"type":"string"}},{"description":"The request type ID","example":11001,"in":"path","name":"requestTypeId","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalFieldDataResponse"}}},"description":"The external field data for questions and answers on a form."},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The request type was not found or the user does not have permission to view it."},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"A form has an invalid/unsupported value."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"The rate limit has been exceeded due to too many requests."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}},"description":"There was an internal error in retrieving the external field data on the request type."}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"summary":"Get external form data on a request type","tags":["Forms on Portal"],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}],"x-atlassian-oauth2-scopes":[{"scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"],"state":"Current"}]}}},"servers":[{"url":"https://api.atlassian.com/jira/forms/cloud/{cloudId}"},{"url":"https://api.atlassian.com/api/external/jira"}],"tags":[{"description":"APIs which handle exporting form data from Jira. \n \n To learn how to export forms, read [exporting forms](/cloud/forms/guides/export-forms).\n \n To learn about the appropriate URI structure for your chosen authentication method, read [authentication and authorization](/cloud/forms/rest/intro/#authentication-and-authorization).","name":"Forms Export"},{"description":"APIs which handle external forms on customer requests in the portal. For internal forms, see [Forms on Issue](/cloud/forms/rest/api-group-forms-on-issue/#api-group-forms-on-issue). \n \n To learn about the appropriate URI structure for your chosen authentication method, [view authentication and authorization](/cloud/forms/rest/intro/#authentication-and-authorization).","name":"Forms on Customer Request"},{"description":"APIs which handle forms on Jira issues. \n \n To learn about the appropriate URI structure for your chosen authentication method, [view authentication and authorization](/cloud/forms/rest/intro/#authentication-and-authorization).","name":"Forms on Issue"},{"description":"APIs which handle forms in the portal (service desk). \n \n To learn about the appropriate URI structure for your chosen authentication method, [view authentication and authorization](/cloud/forms/rest/intro/#authentication-and-authorization).","name":"Forms on Portal"},{"description":"APIs which handle forms on JSM projects. \n \n To learn about the appropriate URI structure for your chosen authentication method, [view authentication and authorization](/cloud/forms/rest/intro/#authentication-and-authorization).","name":"Forms on Project"}],"x-atlassian-narrative":{"documents":[{"anchor":"about","body":"\nThe forms REST API provides programmatic access to forms in Jira Cloud. Use this API to build apps that work with forms, automate form workflows with scripting, and export form data for processing elsewhere. \nForms in all editions of Jira Cloud are supported, including Jira Service Management, Jira Software, and Jira Work Management. ProForma is referred to as **Advanced forms** in Jira Work Management, with the forms REST API working with this type only. Learn more about [advanced forms](https://support.atlassian.com/jira-work-management/docs/advanced-forms-in-jira-work-management/) in Jira Work Management. \n","title":"About"},{"anchor":"authentication-and-authorization","body":"\nNote: the authentication methods described below use different URIs.\n### Forge apps\nForge apps can access the forms API easily by using product authentication. Use the `requestJira()` method of the [product fetch API](https://developer.atlassian.com/platform/forge/runtime-reference/product-fetch-api/#requestjira) to have authentication applied automatically. Forge apps must declare [OAuth 2.0 scopes](https://developer.atlassian.com/cloud/jira/platform/scopes-for-oauth-2-3LO-and-forge-apps/) to be authorized to access forms APIs. \n\nThe URIs for Forge app REST API calls have this structure: \n\n`/forms/` \n\nFor example: `/forms/issue/ISS-1/form/c18bde7a-d846-11ed-afa1-0242ac120002` \n### Connect apps\nFor Connect apps, authentication (JWT-based) is built into the Connect libraries. Authorization is implemented using either scopes (shown as App scope required for operations on this page) or user impersonation. See [Security for Connect apps](/cloud/forms/security/security-for-connect-apps) for details. \n\nThe URIs for Connect app REST API calls have this structure: \n\n`https:///gateway/api/jira/forms/cloud//` \n\nFor example: `https://your-domain.atlassian.net/gateway/api/jira/forms/cloud/33398233-27d5-48f6-9dea-d0ea33d97528/forms/issue/ISS-1/form/c18bde7a-d846-11ed-afa1-0242ac120002` \n### Other integrations\nFor integrations that are not Forge or Connect apps, use OAuth 2.0 authorization code grants (3LO) for security (3LO scopes are shown as for operations OAuth scopes required). See [OAuth 2.0 (3LO)](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/) apps for details.\n\nThe URIs for OAuth 2.0 (3LO) app REST API calls have this structure:\n\n`https://api.atlassian.com/ex/jira//forms/` \n\nFor example: `https://api.atlassian.com/ex/jira/33398233-27d5-48f6-9dea-d0ea33d97528/forms/issue/ISS-1/form/c18bde7a-d846-11ed-afa1-0242ac120002` \n\n### Ad-hoc API calls\nFor personal scripts, bots, and ad-hoc execution of the REST APIs use basic authentication. See [Basic auth for REST APIs](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/) for details.\nThe URIs for basic authentication method have this structure: \n\n`https://api.atlassian.com/jira/forms/cloud//` \n\nFor example: `https://api.atlassian.com/jira/forms/cloud/33398233-27d5-48f6-9dea-d0ea33d97528/issue/ISS-1/form/c18bde7a-d846-11ed-afa1-0242ac120002` \n\n### Guides\nTo learn more about authentication and authorization, [view the security overview](/cloud/forms/security/overview/).\n","title":"Authentication and Authorization"},{"anchor":"status-codes","body":"The forms REST API uses [standard HTTP status codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status), with one code being adapted slightly for use in the forms API.\n\n**412 Precondition Failed**\n\n\n This response code is applied in two distinct situations:\n\n\n * When the `X-ExperimentalApi: opt-in` header is not present.\n\n\n * When a form possesses an invalid or unsupported value.\n\n### Error Codes\nResponses that return an error status code will also return a response body containing an `errors` array with one or more errors. For example:\n```json\n{\n \"errors\": [\n {\n \"status\": 404,\n \"code\": \"EXAMPLE_NOT_FOUND\",\n \"title\": \"Example Not Found\",\n \"detail\": \"Example error detail.\",\n \"context\": [\n {\n \"type\": \"example\",\n \"id\": \"EXMPL-1\"\n }\n ]\n }\n ]\n}\n```\nEach error will contain `status`, `code`, and `title` at a minimum. Refer to the documentation of individual endpoints below for more specific information about possible errors.\n","title":"Status Codes"},{"anchor":"using-the-rest-api","body":"\n### Experimental features\nFeatures and methods marked as experimental may change without notice.\nTo call experimental methods the `X-ExperimentalApi: opt-in` header must be provided on the request.\n### Using basic auth\nGet the cloudId for a Jira instance by calling https://your-domain.atlassian.net/_edge/tenant_info and then call the API by following the [Basic auth for REST APIs](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/) instructions in either of the following approaches. \n#### Simple example\nYou can use an email address associated with an Atlassian account and the API token to build required authentication headers. For example, to [get form index](/cloud/forms/rest/api-group-forms/#api-issue-issueidorkey-forms-get), you can specify the `-u` argument in the example `curl` command as follows:\n``` bash\ncurl -D- \\\n -u : \\\n -X GET \\\n -H \"Content-Type: application/json\" \\\n https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/ISS-1/form\n```\n_Replace ``and `` with your user information and `{cloudId}` instance information before running it in the terminal._\n\n#### Supply basic auth headers\nAlternatively you can construct and [send basic auth headers](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/#supply-basic-auth-headers) as follows: \n``` bash\ncurl -D- \\\n -X GET \\\n -H \"Authorization: Basic ZnJlZDpmcmVk\" \\\n -H \"Content-Type: application/json\" \\\n https://api.atlassian.com/jira/forms/cloud/{cloudId}/issue/ISS-1/form\n```\n\n### Using Forge\n```jsx\nimport api, {route} from \"@forge/api\";\nawait api\n .asUser()\n .requestJira(route`/forms/issue/ISS-1/form`)\n```\n### Using Connect app\n```js\nexport function callFormsApi(addon) {\n return (req, res) => {\n const httpClient = addon.httpClient(req);\n httpClient.asUserByAccountId(accountId).get(\n {\n headers: {\n Accept: \"*/*\",\n },\n url = \"/gateway/api/jira/forms/cloud/33398233-27d5-48f6-9dea-d0ea33d97528/forms/issue/ISS-1/form\",\n },\n function (err, response, body) {\n if (err || response.statusCode >= 400) {\n console.log(`API call failed: ${response.statusCode}: ${err}`);\n } else {\n console.log(`API call succeeded: ${response.statusCode}: ${body}`);\n }\n }\n );\n} ```\n","title":"Using the REST API"},{"anchor":"project-identifiers","body":"\nAny of the resources that require a `{serviceDeskId}` path parameter also accepts other identifiers.\n\nFor example, if a `ServiceDesk(id: 15)` corresponds to a `Project(id: 10012, key: ABC)` and this project has a `RequestType(id: 56)`, then issuing a request to any of:\n```bash\n/servicedesk/ABC/requesttype/56/form\n\n/servicedesk/projectKey:ABC/requesttype/56/form\n\n/servicedesk/projectId:10012/requesttype/56/form\n\n/servicedesk/serviceDeskId:15/requesttype/56/form\n```\n\nis equivalent to issuing a request to:\n\n```bash \n/servicedesk/15/requesttype/56/form\n```\n","title":"Using project identifiers"},{"anchor":"limitations","body":"Limitations to the Forms REST API include:\n- Experimental methods changing in backward-incompatible ways. To opt-in to these methods, `X-ExperimentalApi: opt-in`\n request header is required.\n\n- The [submit form endpoint](/cloud/forms/rest/api-group-form-actions/#api-issue-issueidorkey-form-issueformid-action-submit-put)\n doesn’t check whether form answers are valid. Callers are expected to validate answers before calling the submit form endpoint.\n","title":"Limitations"}]}}