{"openapi":"3.0.3","info":{"title":"ProForma Forms RESTful API","version":"0.0.0-alpha"},"servers":[{"url":"https://api.atlassian.com/jira/forms/cloud/{cloudId}"},{"url":"https://api.atlassian.com/api/external/jira"}],"tags":[{"name":"Forms on Customer Request","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 Export","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 on Project","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 Portal","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 Issue","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)."}],"paths":{"/request/{issueIdOrKey}/form/{formId}/format/answers":{"get":{"tags":["Forms on Customer Request"],"summary":"Get form simplified answers","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form answers are retrieved successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormSimplifiedAnswer"}}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested customer request or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form answers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/request/{issueIdOrKey}/form/{formId}/attachment":{"get":{"tags":["Forms on Customer Request"],"summary":"Get form attachments metadata","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ZAID-123"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c27b13a2-9ff7-4f88-88b3-61cf5f693f0d"}],"responses":{"200":{"description":"Returned when the metadata associated with the attachment fields on the form are successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormAttachmentsMetadata"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"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.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the attachments metadata on the request form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/request/{issueIdOrKey}/form/{formId}/action/submit":{"put":{"tags":["Forms on Customer Request"],"summary":"Submit form","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"KOKO-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form is submitted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormStatusResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested customer request or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in submitting the form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:servicedesk-request"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/request/{issueIdOrKey}/form/{formId}":{"get":{"tags":["Forms on Customer Request"],"summary":"Get form","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/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":{"description":"The requested customer request was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the request form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]},"put":{"tags":["Forms on Customer Request"],"summary":"Save form answers","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"KOKO-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"requestBody":{"description":"A request to save form answers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveFormRequest"}}},"required":false},"responses":{"200":{"description":"Returned when form answers are successfully saved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Form"}}}},"400":{"description":"The form answers provided were invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested customer request or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in saving the form answers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:servicedesk-request"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/request/{issueIdOrKey}/form":{"get":{"tags":["Forms on Customer Request"],"summary":"Get form index","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"}],"responses":{"200":{"description":"The list of forms on the customer request.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormIndexEntry"}}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested customer request was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the request form index.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/request/{issueIdOrKey}/form/{formId}/format/pdf":{"get":{"tags":["Forms on Customer Request"],"summary":"Get form PDF","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the pdf is retrieved successfully.","content":{"application/pdf":{"schema":{"type":"string"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested customer request or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form pdf.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/request/{issueIdOrKey}/form/{formId}/format/xlsx":{"get":{"tags":["Forms on Customer Request"],"summary":"Get form XLSX","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the xlsx is retrieved successfully.","content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested customer request or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form xlsx.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/request/{issueIdOrKey}/form/{formId}/externaldata":{"get":{"tags":["Forms on Customer Request"],"summary":"Get external form data","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"The external field data for questions and answers on a form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalFieldDataResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"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.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the external field data on the request form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/export":{"post":{"tags":["Forms Export"],"summary":"Start export","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":{"description":"A request specifying the export.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}},"required":false},"responses":{"200":{"description":"Returned when the project's forms have started export successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested project was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in exporting.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/export/{exportId}":{"get":{"tags":["Forms Export"],"summary":"Get export status","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":[{"name":"exportId","in":"path","description":"The export task ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The status of an export; whether it has completed successfully or failed, or its current progress.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportStatusResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The export task ID was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the export status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/export/{exportId}/{filename}":{"get":{"tags":["Forms Export"],"summary":"Download export result","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":[{"name":"exportId","in":"path","description":"The export task ID","required":true,"schema":{"type":"string"}},{"name":"filename","in":"path","description":"The name of the file to export to","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The export has completed successfully, and will be downloaded.","content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"The export has not yet completed, or the provided filename is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The export task ID was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in downloading the export.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/project/{projectIdOrKey}/form/{formId}":{"get":{"tags":["Forms on Project"],"summary":"Get form template","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":[{"name":"projectIdOrKey","in":"path","description":"The project key or ID","required":true,"schema":{"type":"string"},"example":"EX"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"},{"name":"requestLanguage","in":"query","description":"The requested language for the form to be translated to","schema":{"type":"string"},"example":"en-US"}],"responses":{"200":{"description":"Returned when the form template is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplate"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested project was not found or the user does not have permission to access the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the project form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}]},"put":{"tags":["Forms on Project"],"summary":"Save form template","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":[{"name":"projectIdOrKey","in":"path","description":"The project key or ID","required":true,"schema":{"type":"string"},"example":"EX"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"requestBody":{"description":"A JSON object containing a form template to save.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplateRequest"}}},"required":false},"responses":{"200":{"description":"Returned when the form template is saved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplateIndexEntry"}}}},"400":{"description":"The form template provided was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested project was not found or the user does not have permission to administer the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in saving the form template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["manage:jira-project"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["manage:jira-project"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}]},"delete":{"tags":["Forms on Project"],"summary":"Delete form template","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":[{"name":"projectIdOrKey","in":"path","description":"The project key or ID","required":true,"schema":{"type":"string"},"example":"EX"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form template is deleted successfully.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"A bad request was made.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested project was not found or the user does not have permission to administer the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in deleting the form template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["manage:jira-project"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["manage:jira-project"]}],"x-atlassian-connect-scope":"DELETE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}]}},"/project/{projectIdOrKey}/form":{"get":{"tags":["Forms on Project"],"summary":"Get project form index","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":[{"name":"projectIdOrKey","in":"path","description":"The project key or ID","required":true,"schema":{"type":"string"},"example":"EX"}],"responses":{"200":{"description":"The list of form templates on the project.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormTemplateIndexEntry"}}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested project was not found or the user does not have permission to access the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the project forms index.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}]},"post":{"tags":["Forms on Project"],"summary":"Create form template","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":[{"name":"projectIdOrKey","in":"path","description":"The project key or ID","required":true,"schema":{"type":"string"},"example":"EX"}],"requestBody":{"description":"A JSON object containing the content for a form template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormTemplateRequest"}}},"required":false},"responses":{"200":{"description":"Returned when the form template is created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormIndexEntry"}}}},"400":{"description":"There are duplicate question keys on the form template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested project was not found or the user does not have permission to administer the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in creating the form template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["manage:jira-project"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["manage:jira-project"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}]}},"/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/form":{"get":{"tags":["Forms on Portal"],"summary":"Get form on a request type","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":[{"name":"serviceDeskId","in":"path","description":"The service desk ID. This can alternatively be a [project identifier](#project-identifiers).","required":true,"schema":{"type":"string"},"example":15},{"name":"requestTypeId","in":"path","description":"The request type ID","required":true,"schema":{"type":"integer","format":"int64"},"example":11001},{"name":"requestLanguage","in":"query","description":"The requested language for the form to be translated to","schema":{"type":"string"},"example":"en-US"}],"responses":{"200":{"description":"Returned when the form is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalFormTemplate"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The request type was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the request form template.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}]}},"/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/form/externaldata":{"get":{"tags":["Forms on Portal"],"summary":"Get external form data on a request type","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":[{"name":"serviceDeskId","in":"path","description":"The service desk ID. This can alternatively be a [project identifier](#project-identifiers).","required":true,"schema":{"type":"string"},"example":15},{"name":"requestTypeId","in":"path","description":"The request type ID","required":true,"schema":{"type":"integer","format":"int64"},"example":11001}],"responses":{"200":{"description":"The external field data for questions and answers on a form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalFieldDataResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The request type was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the external field data on the request type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:servicedesk-request"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:servicedesk-request"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":true}]}},"/issue/{issueIdOrKey}/form/{formId}":{"get":{"tags":["Forms on Issue"],"summary":"Get form","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/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":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]},"put":{"tags":["Forms on Issue"],"summary":"Save form answers","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"KOKO-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"requestBody":{"description":"A request to save form answers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveFormRequest"}}},"required":false},"responses":{"200":{"description":"Returned when form answers are successfully saved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Form"}}}},"400":{"description":"The form answers provided were invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in saving the form answers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]},"delete":{"tags":["Forms on Issue"],"summary":"Delete form","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"}},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Returned when the form is deleted successfully.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"A bad request was made.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in deleting the form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/attachment":{"get":{"tags":["Forms on Issue"],"summary":"Get form attachments metadata","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ZAINA-123"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"7f9b3a40-9f25-4c06-9e46-3b3c9588aa5d"}],"responses":{"200":{"description":"Returned when the metadata associated with the attachment fields on the form are successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormAttachmentsMetadata"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the attachments metadata on the issue form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/format/pdf":{"get":{"tags":["Forms on Issue"],"summary":"Get form PDF","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the pdf is retrieved successfully.","content":{"application/pdf":{"schema":{"type":"string"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form pdf.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/format/xlsx":{"get":{"tags":["Forms on Issue"],"summary":"Get form XLSX","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the xlsx is retrieved successfully.","content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form xlsx.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form":{"get":{"tags":["Forms on Issue"],"summary":"Get form index","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"}],"responses":{"200":{"description":"The list of forms on the issue.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormIndexEntry"}}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form index.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]},"post":{"tags":["Forms on Issue"],"summary":"Add form","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"A request specifying an attach form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachFormRequest"}}},"required":false},"responses":{"200":{"description":"Returned when the form template is attached successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormIndexEntry"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form template was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in attaching the form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/action/submit":{"put":{"tags":["Forms on Issue"],"summary":"Submit form","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form is submitted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormStatusResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/action/reopen":{"put":{"tags":["Forms on Issue"],"summary":"Reopen form","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form is reopened successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormStatusResponse"}}}},"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":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{sourceIssueIdOrKey}/form/copy/{targetIssueIdOrKey}":{"post":{"tags":["Forms on Issue"],"summary":"Copy forms","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":[{"name":"sourceIssueIdOrKey","in":"path","description":"The source issue key or ID","required":true,"schema":{"type":"string"}},{"name":"targetIssueIdOrKey","in":"path","description":"The target issue key or ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"A request with a list of form IDs to copy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyFormsRequest"}}},"required":false},"responses":{"200":{"description":"Returned when the forms are copied successfully, or with partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyFormsResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested source or target issue was not found, or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in copying the forms.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/externaldata":{"get":{"tags":["Forms on Issue"],"summary":"Get external form data","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"The external field data for questions and answers on a form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalFieldDataResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the external field data on the form.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/action/external":{"put":{"tags":["Forms on Issue"],"summary":"Change visibility to external","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form is successfully set to external.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormVisibilityResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form or setting the form visibility.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/action/internal":{"put":{"tags":["Forms on Issue"],"summary":"Change visibility to internal","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form is successfully set to internal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormVisibilityResponse"}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form or setting the form visibility.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["write:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}},"/issue/{issueIdOrKey}/form/{formId}/format/answers":{"get":{"tags":["Forms on Issue"],"summary":"Get form simplified answers","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":[{"name":"issueIdOrKey","in":"path","description":"The issue key or ID","required":true,"schema":{"type":"string"},"example":"ISS-1"},{"name":"formId","in":"path","description":"The ID of the form","required":true,"schema":{"type":"string","format":"uuid"},"example":"c18bde7a-d846-11ed-afa1-0242ac120002"}],"responses":{"200":{"description":"Returned when the form answers are retrieved successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormSimplifiedAnswer"}}}}},"401":{"description":"The user is not authorised to make this request."},"403":{"description":"The user does not have permission to make this request."},"404":{"description":"The requested issue or form was not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"412":{"description":"A form has an invalid/unsupported value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"429":{"description":"The rate limit has been exceeded due to too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}},"500":{"description":"There was an internal error in retrieving the form answers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorsResponse"}}}}},"security":[{"basicAuth":[]},{"oAuthDefinitions":["read:jira-work"]}],"x-atlassian-oauth2-scopes":[{"state":"Current","scheme":"oAuthDefinitions","scopes":["read:jira-work"]}],"x-atlassian-connect-scope":"READ","x-atlassian-data-security-policy":[{"app-access-rule-exempt":false}]}}},"components":{"schemas":{"FormSimplifiedAnswer":{"required":["answer","label"],"type":"object","properties":{"label":{"type":"string","description":"The label of the form question."},"fieldKey":{"type":"string","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.

"},"answer":{"type":"string","description":"The answer to the form question, represented as a string."},"choice":{"type":"string","description":"The selected choice IDs on a choice question."}},"description":"The form answers on an issue or request in a simplified format."},"ApiError":{"required":["code","status","title"],"type":"object","properties":{"id":{"type":"string","description":"Id of the error response.","format":"uuid"},"status":{"type":"integer","description":"Status code of the response.","format":"int32"},"code":{"type":"string","description":"Error code of the response."},"title":{"type":"string","description":"Message describing the error that occurred."},"detail":{"type":"string","description":"Additional detail describing why the error occurred."},"context":{"type":"array","description":"The context that identifies what caused the error.","items":{"$ref":"#/components/schemas/Entity"}}},"description":"Response indicating an error occurred."},"ApiErrorsResponse":{"required":["errors"],"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/ApiError"}}}},"Entity":{"required":["id","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the entity."},"id":{"type":"string","description":"The identifier for the entity."}},"description":"An entity."},"FormAttachmentMetadata":{"required":["attachmentId","creationDate","id","name","size"],"type":"object","properties":{"attachmentId":{"type":"integer","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"},"id":{"type":"string","description":"File ID."},"name":{"type":"string","description":"Name of the uploaded file."},"creationDate":{"type":"integer","description":"File creation date in unix time.","format":"int64"},"size":{"type":"integer","description":"File size in bytes.","format":"int64"},"type":{"type":"string","description":"File type."}},"description":"Attachment metadata.","format":"Map>"},"FormAttachmentsMetadata":{"required":["fields"],"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"type":"array","description":"The questions on the form and their attachments.","format":"Map>","items":{"$ref":"#/components/schemas/FormAttachmentMetadata"}},"description":"The questions on the form and their attachments.","format":"Map>"}},"description":"A response containing all the form's attachments."},"FormStatusResponse":{"required":["status"],"type":"object","properties":{"status":{"type":"string","description":"The status of the form, which can be open, submitted or locked.","enum":["open","submitted","locked"]}},"description":"A response indicating the current status of a form on an issue or request."},"Form":{"required":["design","id","state","updated"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the form associated with the issue or request, in UUID format.","format":"uuid","example":"c18bde7a-d846-11ed-afa1-0242ac120002"},"updated":{"type":"string","description":"When the form was last updated, in UTC time stored in ISO 8601 format.","format":"date-time","example":"2023-04-11T08:59:18Z"},"design":{"$ref":"#/components/schemas/FormDesign"},"state":{"$ref":"#/components/schemas/FormState"}},"description":"A form associated with an issue or request."},"FormAnswer":{"type":"object","properties":{"text":{"type":"string","description":"Contains an answer in free text format."},"date":{"type":"string","description":"Contains an answer in date format.","format":"date"},"time":{"type":"string","format":"time"},"choices":{"type":"array","description":"IDs of choices that have been selected.","items":{"type":"string","description":"IDs of choices that have been selected."}},"users":{"type":"array","description":"Users that have been selected.","items":{"$ref":"#/components/schemas/FormUser"}},"adf":{"type":"object"},"files":{"type":"array","description":"Files attached to the form.","items":{"$ref":"#/components/schemas/FormFile"}}},"description":"Answer to a single question on a form. Can also be used to define the default answer to a question."},"FormChoice":{"required":["id","label"],"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"other":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/FormChoice"}}},"description":"Possible choices that may be selected as answers to the question."},"FormCondition":{"required":["i","o"],"type":"object","properties":{"i":{"$ref":"#/components/schemas/FormConditionInput"},"o":{"$ref":"#/components/schemas/FormConditionOutput"}},"description":"A condition, which can be applied to sections, questions and choices of the form. The only condition currently supported is `sh`, which can show or hide sections in a form if the condition is fulfilled. Additional types may be added in future.","format":"Map"},"FormConditionInput":{"required":["co"],"type":"object","properties":{"co":{"$ref":"#/components/schemas/OneChoiceInput"}},"description":"Input into a condition which defines whether or not the condition is triggered."},"FormConditionOutput":{"required":["sIds","t"],"type":"object","properties":{"sIds":{"type":"array","description":"The section IDs that this condition applies to.","example":["1"],"items":{"type":"string","description":"The section IDs that this condition applies to.","example":"[\"1\"]"}},"t":{"type":"string","description":"The condition type. `sh` is currently the only supported type.","example":"sh"}},"description":"Items the condition affects when it is triggered."},"FormDesign":{"required":["conditions","layout","questions","sections","settings"],"type":"object","properties":{"conditions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormCondition"},"description":"The conditions applied to sections, questions and choices of the form.","format":"Map"},"layout":{"type":"array","description":"An array of ADF documents containing metadata corresponding to sections in the form.","items":{"type":"object"}},"questions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormQuestion"},"description":"The questions on the form.","format":"Map"},"sections":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormSection"},"description":"The sections of the form.","format":"Map"},"settings":{"$ref":"#/components/schemas/FormSettings"}},"description":"Defines the configuration of the form including questions, layout, and form settings. These don’t change once a form in filled in."},"FormFile":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"File ID."},"name":{"type":"string","description":"Name of the uploaded file."},"creationDate":{"type":"integer","description":"File creation date in unix time","format":"int64"},"size":{"type":"integer","description":"File size in bytes","format":"int64"},"type":{"type":"string","description":"File type"}},"description":"A file uploaded and associated with a form"},"FormQuestion":{"required":["label","type","validation"],"type":"object","properties":{"choices":{"type":"array","description":"Possible choices that may be selected as answers to the question.","items":{"$ref":"#/components/schemas/FormChoice"}},"dcId":{"type":"string","description":"The linked data connection id."},"defaultAnswer":{"$ref":"#/components/schemas/FormAnswer"},"description":{"type":"string","description":"An optional description displayed when filling out the form."},"jiraField":{"type":"string","description":"The linked Jira field."},"label":{"type":"string","description":"The label displayed when filling out the form."},"questionKey":{"type":"string","description":"An optional unique identifier for this question on a form."},"type":{"type":"string","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`,`cc`,`cd`,`cl`,`cm`,`cs`,`ob`,`da`,`dt`,`no`,`rt`,`te`,`tl`,`pg`,`ts`,`tu`,`ti`,`um`,and `us`","example":"rt","enum":["at","cc","cd","cl","cm","cs","ob","da","dt","no","rt","te","tl","pg","ts","tu","ti","um","us"]},"validation":{"$ref":"#/components/schemas/FormValidation"}},"description":"A single question on a form.","format":"Map"},"FormSection":{"required":["sectionType"],"type":"object","properties":{"sectionType":{"type":"string","description":"The type of the section.","enum":["p","b"]},"name":{"type":"string","description":"The name of the section, used for identification but not displayed to the user."},"conditions":{"type":"array","description":"Conditions applicable to the section.","items":{"type":"string","description":"Conditions applicable to the section."}}},"description":"A section of a form.","format":"Map"},"FormSettings":{"required":["name","submit"],"type":"object","properties":{"name":{"type":"string","description":"The name of the form.","example":"New employee onboarding"},"language":{"type":"string","description":"The language of the form.","example":"en"},"submit":{"$ref":"#/components/schemas/FormSettingsSubmit"},"primaryLocale":{"type":"object","properties":{"language":{"type":"string"},"displayName":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"script":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}},"description":"The primary locale of the form."},"translatedLocale":{"type":"object","properties":{"language":{"type":"string"},"displayName":{"type":"string"},"country":{"type":"string"},"variant":{"type":"string"},"script":{"type":"string"},"unicodeLocaleAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"unicodeLocaleKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"displayLanguage":{"type":"string"},"displayScript":{"type":"string"},"displayCountry":{"type":"string"},"displayVariant":{"type":"string"},"extensionKeys":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"iso3Language":{"type":"string"},"iso3Country":{"type":"string"}},"description":"The locale the form has been translated to."}},"description":"The general settings of the form, which affect the entire form."},"FormSettingsSubmit":{"required":["lock","pdf"],"type":"object","properties":{"lock":{"type":"boolean","description":"Whether to lock the form when it is submitted."},"pdf":{"type":"boolean","description":"Whether to generate a pdf of the form when it is submitted."}},"description":"Settings controlling what happens on submit of this form."},"FormState":{"required":["answers","status","visibility"],"type":"object","properties":{"visibility":{"type":"string","description":"The visibility of the form. Possible values are `i` for internal, and `e` for external.","example":"i","enum":["i","e"]},"status":{"type":"string","description":"The status of a form: open, submitted or locked. Possible values are `o`, `s` and `l` respectively.","example":"o","enum":["o","s","l"]},"answers":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormAnswer"},"description":"The answers to questions on the form."}},"description":"Defines the current state of the form that may change as it is added to an issue or request and filled in."},"FormUser":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"User account ID."},"name":{"type":"string","description":"Username for the user."}},"description":"A user selected in a user picker."},"FormValidation":{"type":"object","properties":{"rq":{"type":"boolean","description":"Whether it is required."},"mnc":{"type":"integer","description":"Minimum characters.","format":"int32"},"mnw":{"type":"integer","description":"Minimum words.","format":"int32"},"mnn":{"type":"number","description":"Minimum number.","format":"double"},"mnd":{"type":"string","description":"Minimum date.","format":"date"},"mnt":{"type":"string","format":"time"},"mns":{"type":"integer","description":"Minimum number of choice selections.","format":"int32"},"mxc":{"type":"integer","description":"Minimum characters.","format":"int32"},"mxw":{"type":"integer","description":"Maximum words.","format":"int32"},"mxn":{"type":"number","description":"Maximum number.","format":"double"},"mxd":{"type":"string","description":"Maximum date.","format":"date"},"mxt":{"type":"string","format":"time"},"mxs":{"type":"integer","description":"Maximum number of choice selections.","format":"int32"},"wh":{"type":"boolean","description":"Whether it is whole number only."},"ch":{"type":"string","description":"ID of required choice."},"rgx":{"$ref":"#/components/schemas/FormValidationRegex"}},"description":"Form question validation configuration."},"FormValidationRegex":{"required":["p"],"type":"object","properties":{"p":{"type":"string","description":"Regex pattern."},"m":{"type":"string","description":"Message to display to user if the answer doesn't match the expected format."}},"description":"Regex form validation."},"OneChoiceInput":{"required":["cIds"],"type":"object","properties":{"cIds":{"type":"object","additionalProperties":{"type":"array","description":"Form condition choices for choice questions.","format":"Map>","items":{"type":"string","description":"Form condition choices for choice questions.","format":"Map>"}},"description":"Form condition choices for choice questions.","format":"Map>"}},"description":"A form condition input which is fulfilled when the answer to a choice question includes any one of the choices nominated in `cIds`."},"SaveFormRequest":{"required":["answers"],"type":"object","properties":{"answers":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormAnswer"},"description":"The answers to the form fields. It contains a mapping of form field IDs to their corresponding values."}},"description":"A request indicating the answers to save on a form."},"FormIndexEntry":{"required":["id","lock","name","submitted","updated"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the form associated with the issue or request.","format":"uuid"},"formTemplate":{"$ref":"#/components/schemas/FormTemplateRef"},"internal":{"type":"boolean","description":"If the form is not visible on the Portal (for Jira Service Management projects)."},"submitted":{"type":"boolean","description":"If the form is submitted."},"lock":{"type":"boolean","description":"If the form is locked."},"name":{"type":"string","description":"The name of the form."},"updated":{"type":"string","description":"When the form was last updated.","format":"date-time"}},"description":"A summary of a form associated with an issue or request."},"FormTemplateRef":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"ID of the form template.","format":"uuid"}},"description":"Metadata of the template the form was created from."},"ExternalFieldData":{"required":["answer"],"type":"object","properties":{"choices":{"type":"array","description":"Possible choices that may be selected as answers to the question.","items":{"$ref":"#/components/schemas/ExternalFormChoice"}},"jiraField":{"$ref":"#/components/schemas/JiraFieldDetails"},"answer":{"$ref":"#/components/schemas/ExternalFormAnswer"}},"description":"The external field data on a question.","format":"Map"},"ExternalFieldDataResponse":{"required":["fields"],"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExternalFieldData"},"description":"The questions on the form and their external field data.","format":"Map"}},"description":"A response containing all external data for questions and answers on a form."},"ExternalFormAnswer":{"type":"object","properties":{"text":{"type":"string","description":"Contains an answer in free text format."},"date":{"type":"string","description":"Contains an answer in date format.","format":"date"},"time":{"type":"string","format":"time"},"choices":{"type":"array","description":"Choices that have been selected.","items":{"$ref":"#/components/schemas/ExternalFormChoiceAnswer"}},"users":{"type":"array","description":"Users that have been selected.","items":{"$ref":"#/components/schemas/FormUser"}},"adf":{"type":"object"}},"description":"The form answer from an external data source."},"ExternalFormChoice":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The id of the choice."},"name":{"type":"string","description":"The name of the choice."},"children":{"type":"array","description":"Children of the choice.","items":{"$ref":"#/components/schemas/ExternalFormChoice"}}},"description":"A choice on a question, from an external data source."},"ExternalFormChoiceAnswer":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The id of the choice."},"name":{"type":"string","description":"The name of the choice."}},"description":"A choice answer on a question, from an external data source."},"JiraFieldDetails":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the Jira field."},"configId":{"type":"string","description":"The Jira field config ID."},"custom":{"type":"string","description":"The type of a custom Jira field."},"system":{"type":"string","description":"The type of a system Jira field."},"type":{"type":"string","description":"The Jira field type."}},"description":"Details relating to a Jira field."},"ExportRequest":{"required":["formTemplate","format","projectIdOrKey"],"type":"object","properties":{"format":{"type":"string","description":"The format of the exported data. ","example":"xlsx","enum":["xlsx"]},"projectIdOrKey":{"type":"string","description":"The project key or id to export data from."},"formTemplate":{"$ref":"#/components/schemas/FormTemplateRef"},"fields":{"type":"array","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":{"type":"string","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."}},"jql":{"type":"string","description":"A [JQL](https://confluence.atlassian.com/x/egORLQ) query. The export will be limited to include only issues that match this JQL query."}},"description":"A request indicating forms from a project to be exported."},"ExportResponse":{"required":["format","id","statusUrl"],"type":"object","properties":{"format":{"type":"string","description":"The format of the exported data. ","example":"xlsx","enum":["xlsx"]},"id":{"type":"string","description":"A unique ID for this export task, to allow it to be retrieved later.","example":"responses-xlsx-10000-0-000000000"},"statusUrl":{"type":"string","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"}},"description":"Indicates that the export process has started successfully."},"ExportStatusResponse":{"required":["complete","failed","progress"],"type":"object","properties":{"complete":{"type":"boolean","description":"Whether or not the export has completed.","example":false},"failed":{"type":"boolean","description":"Whether the export has failed.","example":false},"progress":{"type":"integer","description":"The percentage of the export that has completed.","format":"int32","example":43}},"description":"The status of an export."},"FormPublishing":{"type":"object","properties":{"jira":{"$ref":"#/components/schemas/FormPublishingJira"},"portal":{"$ref":"#/components/schemas/FormPublishingPortal"}},"description":"The configuration settings for publishing the form"},"FormPublishingJira":{"required":["issueCreateIssueTypeIds","issueCreateRequestTypeIds","recommendedIssueRequestTypeIds","submitOnCreate","validateOnCreate"],"type":"object","properties":{"recommendedIssueRequestTypeIds":{"type":"array","description":"Request type IDs associated with a form template that is recommended in the Jira issue view.","items":{"type":"integer","description":"Request type IDs associated with a form template that is recommended in the Jira issue view.","format":"int32"}},"issueCreateIssueTypeIds":{"type":"array","description":"Issue type IDs that this form can create issues for. This form will be listed in the create issue form popup.","items":{"type":"integer","description":"Issue type IDs that this form can create issues for. This form will be listed in the create issue form popup.","format":"int32"}},"issueCreateRequestTypeIds":{"type":"array","description":"Request type IDs that this form can create issues for. This form will be listed in the create issue form popup.","items":{"type":"integer","description":"Request type IDs that this form can create issues for. This form will be listed in the create issue form popup.","format":"int32"}},"submitOnCreate":{"type":"boolean","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."},"validateOnCreate":{"type":"boolean","description":"Indicates if the forms created by the JSM portal must be validated prior to customer request creation."}},"description":"The configuration settings for publishing the form within Jira"},"FormPublishingPortal":{"required":["portalRequestTypeIds","submitOnCreate","validateOnCreate"],"type":"object","properties":{"portalRequestTypeIds":{"type":"array","description":"IDs of request types that will display this form in the portal.","items":{"type":"integer","description":"IDs of request types that will display this form in the portal.","format":"int32"}},"submitOnCreate":{"type":"boolean","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."},"validateOnCreate":{"type":"boolean","description":"Indicates if the forms created in the portal must be validated prior to request creation."}},"description":"The configuration settings for displaying the form in the portal."},"FormTemplate":{"required":["design","id","updated"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the form, in UUID format.","format":"uuid","example":"c18bde7a-d846-11ed-afa1-0242ac120002"},"updated":{"type":"string","description":"When the form was last updated, in UTC time stored in ISO 8601 format.","format":"date-time","example":"2023-04-11T08:59:18Z"},"design":{"$ref":"#/components/schemas/FormDesign"},"publish":{"$ref":"#/components/schemas/FormPublishing"}},"description":"The form template associated with a project."},"FormTemplateIndexEntry":{"required":["id","issueCreateIssueTypeIds","issueCreateRequestTypeIds","name","portalRequestTypeIds","recommendedIssueRequestTypeIds","updated"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the form.","format":"uuid"},"name":{"type":"string","description":"Name of the form template."},"updated":{"type":"string","description":"When the form template was last updated.","format":"date-time"},"portalRequestTypeIds":{"type":"array","description":"Request type IDs associated with a form template that is shown in the portal.","items":{"type":"integer","description":"Request type IDs associated with a form template that is shown in the portal.","format":"int32"}},"recommendedIssueRequestTypeIds":{"type":"array","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":{"type":"integer","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"}},"issueCreateIssueTypeIds":{"type":"array","description":"Issue type IDs associated with a form template for issue create.","items":{"type":"integer","description":"Issue type IDs associated with a form template for issue create.","format":"int32"}},"issueCreateRequestTypeIds":{"type":"array","description":"Request type IDs associated with a form template for issue create.","items":{"type":"integer","description":"Request type IDs associated with a form template for issue create.","format":"int32"}}},"description":"A summary of a form template associated with a project."},"FormAnswerRequest":{"type":"object","properties":{"text":{"type":"string","description":"Contains an answer in free text format."},"date":{"type":"string","description":"Contains an answer in date format.","format":"date"},"time":{"type":"string","format":"time"},"choices":{"type":"array","description":"IDs of choices that have been selected.","items":{"type":"string","description":"IDs of choices that have been selected."}},"users":{"type":"array","description":"IDs of users that have been selected.","items":{"type":"string","description":"IDs of users that have been selected."}},"adf":{"type":"object"},"files":{"type":"array","description":"Files such as attachments (attachment names).","items":{"$ref":"#/components/schemas/FormFile"}}},"description":"Answers to be submitted for a question on a form."},"FormDesignRequest":{"required":["conditions","layout","questions","sections","settings"],"type":"object","properties":{"conditions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormCondition"},"description":"The conditions applied to sections, questions and choices of the form.","format":"Map"},"layout":{"type":"array","description":"An array of ADF documents containing metadata corresponding to sections in the form.","items":{"type":"object"}},"questions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormQuestionRequest"},"description":"The questions on the form.","format":"Map"},"sections":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FormSection"},"description":"The sections of the form.","format":"Map"},"settings":{"$ref":"#/components/schemas/FormSettings"}},"description":"Defines the configuration of the form including questions, layout, and form settings. These don’t change once a form in filled in."},"FormQuestionRequest":{"required":["label","type","validation"],"type":"object","properties":{"choices":{"type":"array","description":"Possible choices that may be selected as answers to the question.","items":{"$ref":"#/components/schemas/FormChoice"}},"dcId":{"type":"string","description":"The linked data connection id."},"defaultAnswer":{"$ref":"#/components/schemas/FormAnswerRequest"},"description":{"type":"string","description":"An optional description displayed when filling out the form."},"jiraField":{"type":"string","description":"The linked Jira field."},"label":{"type":"string","description":"The label displayed when filling out the form."},"questionKey":{"type":"string","description":"An optional unique identifier for this question on a form. If provided, it must be unique within the form."},"type":{"type":"string","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`,`cc`,`cd`,`cl`,`cm`,`cs`,`ob`,`da`,`dt`,`no`,`rt`,`te`,`tl`,`pg`,`ts`,`tu`,`ti`,`um`,and `us`","example":"rt","enum":["at","cc","cd","cl","cm","cs","ob","da","dt","no","rt","te","tl","pg","ts","tu","ti","um","us"]},"validation":{"$ref":"#/components/schemas/FormValidation"}},"description":"A single question on a form.","format":"Map"},"FormTemplateRequest":{"required":["design"],"type":"object","properties":{"design":{"$ref":"#/components/schemas/FormDesignRequest"},"publish":{"$ref":"#/components/schemas/FormPublishing"}},"description":"A request indicating a form template to be saved on a project."},"PortalFormTemplate":{"required":["design","id","publish","updated"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the form associated with the issue or request, in UUID format.","format":"uuid","example":"c18bde7a-d846-11ed-afa1-0242ac120002"},"updated":{"type":"string","description":"When the form was last updated, in UTC time stored in ISO 8601 format.","format":"date-time","example":"2023-04-11T08:59:18Z"},"design":{"$ref":"#/components/schemas/FormDesign"},"publish":{"$ref":"#/components/schemas/FormPublishingPortal"}},"description":"The form template associated with a request type in the portal."},"AttachFormRequest":{"required":["formTemplate"],"type":"object","properties":{"formTemplate":{"$ref":"#/components/schemas/FormTemplateRef"}},"description":"A request indicating a form to be attached to an issue."},"CopyFormsRequest":{"type":"object","properties":{"ids":{"type":"array","description":"An array of form IDs. If not specified, copies all forms.","items":{"type":"string","description":"An array of form IDs. If not specified, copies all forms.","format":"uuid"}}},"description":"A request indicating the form IDs on an issue to be copied."},"CopiedForm":{"required":["id","newId"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the old form.","format":"uuid"},"newId":{"type":"string","description":"The ID of the new (copied) form.","format":"uuid"}},"description":"A copied form, specifying the old and new form ID."},"CopyFormsResponse":{"required":["copiedForms","errors"],"type":"object","properties":{"errors":{"type":"array","description":"Errors for the forms being copied.","items":{"$ref":"#/components/schemas/ApiError"}},"copiedForms":{"type":"array","description":"Forms successfully copied.","items":{"$ref":"#/components/schemas/CopiedForm"}}},"description":"Response after copying forms."},"FormVisibilityResponse":{"required":["visibility"],"type":"object","properties":{"visibility":{"type":"string","description":"The visibility of the form, which can be internal or external.","enum":["internal","external"]}},"description":"The visibility of a form on an issue or request."}},"securitySchemes":{"basicAuth":{"type":"http","description":"You can access this resource via basic auth.","scheme":"basic"},"oAuthDefinitions":{"type":"oauth2","description":"This API uses OAuth 2 with the authorizationCode grant flow.","flows":{"authorizationCode":{"authorizationUrl":"https://auth.atlassian.com/authorize","tokenUrl":"https://auth.atlassian.com/oauth/token","scopes":{"read:jira-work":"Read Jira project and issue data, search for issues and objects associated with issues like attachments and worklogs.","write:jira-work":"Create and edit issues in Jira, post comments as the user, create worklogs, and delete issues.","read:servicedesk-request":"Read customer request data, service desk and request types.","write:servicedesk-request":"Create and edit customer request data."}}}}}},"x-atlassian-narrative":{"documents":[{"title":"About","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":"Authentication and Authorization","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":"Status Codes","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":"Using the REST API","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 project identifiers","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":"Limitations","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"}]}}