/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/rest/servicedeskapi/assets/workspace": { /** * Get assets workspaces * @description Returns a list of Assets workspace IDs. Include a workspace ID in the path to access the [Assets REST APIs](https://developer.atlassian.com/cloud/assets/rest). * * **[Permissions](#permissions) required**: Any */ get: operations["getAssetsWorkspaces"]; }; "/rest/servicedeskapi/customer": { /** * Create customer * @description This method adds a customer to the Jira Service Management instance by passing a JSON file including an email address and display name. The display name does not need to be unique. The record's identifiers, `name` and `key`, are automatically generated from the request details. * * **[Permissions](#permissions) required**: Jira Administrator Global permission */ post: operations["createCustomer"]; }; "/rest/servicedeskapi/info": { /** * Get info * @description This method retrieves information about the Jira Service Management instance such as software version, builds, and related links. * * **[Permissions](#permissions) required**: None, the user does not need to be logged in. */ get: operations["getInfo"]; }; "/rest/servicedeskapi/insight/workspace": { /** * Get insight workspaces * @description This endpoint is deprecated, please use /assets/workspace/. */ get: operations["getInsightWorkspaces"]; }; "/rest/servicedeskapi/knowledgebase/article": { /** * Get articles * @description Returns articles which match the given query string across all service desks. * * **[Permissions](#permissions) required**: Permission to access the [customer portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html). */ get: operations["getArticles"]; }; "/rest/servicedeskapi/organization": { /** * Get organizations * @description This method returns a list of organizations in the Jira Service Management instance. Use this method when you want to present a list of organizations or want to locate an organization by name. * * **[Permissions](#permissions) required**: Any. However, to fetch organizations based on `accountId` the user must have a Service Desk agent license. * * **Response limitations**: If the user is a customer, only those organizations of which the customer is a member are listed. */ get: operations["getOrganizations"]; /** * Create organization * @description This method creates an organization by passing the name of the organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. Note: Permission to create organizations can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ post: operations["createOrganization"]; }; "/rest/servicedeskapi/organization/{organizationId}": { /** * Get organization * @description This method returns details of an organization. Use this method to get organization details whenever your application component is passed an organization ID but needs to display other organization details. * * To get organization detail field values which are visible in Jira Service Management, see the [Customer Service Management REST API](https://developer.atlassian.com/cloud/customer-service-management/rest/v1/api-group-organization/#api-group-organization). * * **[Permissions](#permissions) required**: Any * * **Response limitations**: Customers can only retrieve organization of which they are members. */ get: operations["getOrganization"]; /** * Delete organization * @description This method deletes an organization. Note that the organization is deleted regardless of other associations it may have. For example, associations with service desks. * * **[Permissions](#permissions) required**: Jira administrator. */ delete: operations["deleteOrganization"]; }; "/rest/servicedeskapi/organization/{organizationId}/property": { /** * Get properties keys * @description Returns the keys of all organization properties. Organization properties are a type of entity property which are available to the API only, and not shown in Jira Service Management. [Learn more](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). * * To get organization detail field values which are visible in Jira Service Management, see the [Customer Service Management REST API](https://developer.atlassian.com/cloud/customer-service-management/rest/v1/api-group-organization/#api-group-organization). * * **[Permissions](#permissions) required**: Any * * **Response limitations**: Customers can only access properties of organizations of which they are members. */ get: operations["getPropertiesKeys"]; }; "/rest/servicedeskapi/organization/{organizationId}/property/{propertyKey}": { /** * Get property * @description Returns the value of an organization property. Use this method to obtain the JSON content for an organization's property. Organization properties are a type of entity property which are available to the API only, and not shown in Jira Service Management. [Learn more](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). * * To get organization detail field values which are visible in Jira Service Management, see the [Customer Service Management REST API](https://developer.atlassian.com/cloud/customer-service-management/rest/v1/api-group-organization/#api-group-organization). * * **[Permissions](#permissions) required**: Any * * **Response limitations**: Customers can only access properties of organizations of which they are members. */ get: operations["getProperty"]; /** * Set property * @description Sets the value of an organization property. Use this resource to store custom data against an organization. Organization properties are a type of entity property which are available to the API only, and not shown in Jira Service Management. [Learn more](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). * * To store organization detail field values which are visible in Jira Service Management, see the [Customer Service Management REST API](https://developer.atlassian.com/cloud/customer-service-management/rest/v1/api-group-organization/#api-group-organization). * * **[Permissions](#permissions) required**: Service Desk Administrator or Agent. * * Note: Permission to manage organizations can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ put: operations["setProperty"]; /** * Delete property * @description Removes an organization property. Organization properties are a type of entity property which are available to the API only, and not shown in Jira Service Management. [Learn more](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). * * For operations relating to organization detail field values which are visible in Jira Service Management, see the [Customer Service Management REST API](https://developer.atlassian.com/cloud/customer-service-management/rest/v1/api-group-organization/#api-group-organization). * * **[Permissions](#permissions) required**: Service Desk Administrator or Agent. * * Note: Permission to manage organizations can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ delete: operations["deleteProperty"]; }; "/rest/servicedeskapi/organization/{organizationId}/user": { /** * Get users in organization * @description This method returns all the users associated with an organization. Use this method where you want to provide a list of users for an organization or determine if a user is associated with an organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. */ get: operations["getUsersInOrganization"]; /** * Add users to organization * @description This method adds users to an organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. Note: Permission to add users to an organization can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ post: operations["addUsersToOrganization"]; /** * Remove users from organization * @description This method removes users from an organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. Note: Permission to delete users from an organization can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ delete: operations["removeUsersFromOrganization"]; }; "/rest/servicedeskapi/request": { /** * Get customer requests * @description This method returns all customer requests for the user executing the query. * * The returned customer requests are ordered chronologically by the latest activity on each request. For example, the latest status transition or comment. * * **[Permissions](#permissions) required**: Permission to access the specified service desk. * * **Response limitations**: For customers, the list returned will include request they created (or were created on their behalf) or are participating in only. */ get: operations["getCustomerRequests"]; /** * Create customer request * @description This method creates a customer request in a service desk. * * The JSON request must include the service desk and customer request type, as well as any fields that are required for the request type. A list of the fields required by a customer request type can be obtained using [servicedesk/\{serviceDeskId\}/requesttype/\{requestTypeId\}/field](#api-servicedesk-serviceDeskId-requesttype-requestTypeId-field-get). * * The fields required for a customer request type depend on the user's permissions: * * * `raiseOnBehalfOf` is not available to Users who have the customer permission only. * * `requestParticipants` is not available to Users who have the customer permission only or if the feature is turned off for customers. * * `requestFieldValues` is a map of Jira field IDs and their values. See [Field input formats](#fieldformats), for details of each field's JSON semantics and the values they can take. * * **[Permissions](#permissions) required**: Permission to create requests in the specified service desk. */ post: operations["createCustomerRequest"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}": { /** * Get customer request by id or key * @description This method returns a customer request. * * **[Permissions](#permissions) required**: Permission to access the specified service desk. * * **Response limitations**: For customers, only a request they created, was created on their behalf, or they are participating in will be returned. * * **Note:** `requestFieldValues` does not include hidden fields. To get a list of request type fields that includes hidden fields, see [/rest/servicedeskapi/servicedesk/\{serviceDeskId\}/requesttype/\{requestTypeId\}/field](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-servicedesk/#api-rest-servicedeskapi-servicedesk-servicedeskid-requesttype-requesttypeid-field-get) */ get: operations["getCustomerRequestByIdOrKey"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/approval": { /** * Get approvals * @description This method returns all approvals on a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ get: operations["getApprovals"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/approval/{approvalId}": { /** * Get approval by id * @description This method returns an approval. Use this method to determine the status of an approval and the list of approvers. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ get: operations["getApprovalById"]; /** * Answer approval * @description This method enables a user to **Approve** or **Decline** an approval on a customer request. The approval is assumed to be owned by the user making the call. * * **[Permissions](#permissions) required**: User is assigned to the approval request. */ post: operations["answerApproval"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/attachment": { /** * Get attachments for request * @description This method returns all the attachments for a customer requests. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers will only get a list of public attachments. */ get: operations["getAttachmentsForRequest"]; /** * Create comment with attachment * @description This method creates a comment on a customer request using one or more attachment files (uploaded using [servicedeskapi/servicedesk/\{serviceDeskId\}/attachTemporaryFile](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-servicedesk/#api-rest-servicedeskapi-servicedesk-servicedeskid-attachtemporaryfile-post)), with the visibility set by `public`. See * * * GET [servicedeskapi/request/\{issueIdOrKey\}/attachment](./#api-rest-servicedeskapi-request-issueidorkey-attachment-get) * * GET [servicedeskapi/request/\{issueIdOrKey\}/comment/\{commentId\}/attachment](./#api-rest-servicedeskapi-request-issueidorkey-comment-commentid-attachment-get) * * **[Permissions](#permissions) required**: Permission to add an attachment. * * **Request limitations**: Customers can set public visibility only. */ post: operations["createCommentWithAttachment"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/attachment/{attachmentId}": { /** * Get attachment content * @description Returns the contents of an attachment. * * To return a thumbnail of the attachment, use [servicedeskapi/request/\{issueIdOrKey\}/attachment/\{attachmentId\}/thumbnail](./#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-thumbnail-get). * * **[Permissions](#permissions) required:** For the issue containing the attachment: * * * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. */ get: operations["getAttachmentContent"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/attachment/{attachmentId}/thumbnail": { /** * Get attachment thumbnail * @description Returns the thumbnail of an attachment. * * To return the attachment contents, use [servicedeskapi/request/\{issueIdOrKey\}/attachment/\{attachmentId\}](#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-get). * * **[Permissions](#permissions) required:** For the issue containing the attachment: * * * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. */ get: operations["getAttachmentThumbnail"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/comment": { /** * Get request comments * @description This method returns all comments on a customer request. No permissions error is provided if, for example, the user doesn't have access to the service desk or request, the method simply returns an empty response. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers are returned public comments only. */ get: operations["getRequestComments"]; /** * Create request comment * @description This method creates a public or private (internal) comment on a customer request, with the comment visibility set by `public`. The user recorded as the author of the comment. * * **[Permissions](#permissions) required**: User has Add Comments permission. * * **Request limitations**: Customers can set comments to public visibility only. */ post: operations["createRequestComment"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/comment/{commentId}": { /** * Get request comment by id * @description This method returns details of a customer request's comment. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers can only view public comments on requests where they are the reporter or a participant whereas agents can see both internal and public comments. */ get: operations["getRequestCommentById"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/comment/{commentId}/attachment": { /** * Get comment attachments * @description This method returns the attachments referenced in a comment. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers can only view public comments, and retrieve their attachments, on requests where they are the reporter or a participant whereas agents can see both internal and public comments. */ get: operations["getCommentAttachments"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/notification": { /** * Get subscription status * @description This method returns the notification subscription status of the user making the request. Use this method to determine if the user is subscribed to a customer request's notifications. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ get: operations["getSubscriptionStatus"]; /** * Subscribe * @description This method subscribes the user to receiving notifications from a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ put: operations["subscribe"]; /** * Unsubscribe * @description This method unsubscribes the user from notifications from a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ delete: operations["unsubscribe"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/participant": { /** * Get request participants * @description This method returns a list of all the participants on a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ get: operations["getRequestParticipants"]; /** * Add request participants * @description This method adds participants to a customer request. * * **[Permissions](#permissions) required**: Permission to manage participants on the customer request. * * Note, participants can be added when creating a customer request using the [request](#api-request-post) resource, by defining the participants in the `requestParticipants` field. */ post: operations["addRequestParticipants"]; /** * Remove request participants * @description This method removes participants from a customer request. * * **[Permissions](#permissions) required**: Permission to manage participants on the customer request. */ delete: operations["removeRequestParticipants"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/sla": { /** * Get sla information * @description This method returns all the SLA records on a customer request. A customer request can have zero or more SLAs. Each SLA can have recordings for zero or more "completed cycles" and zero or 1 "ongoing cycle". Each cycle includes information on when it started and stopped, and whether it breached the SLA goal. * * **[Permissions](#permissions) required**: Agent for the Service Desk containing the queried customer request. */ get: operations["getSlaInformation"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/sla/{slaMetricId}": { /** * Get sla information by id * @description This method returns the details for an SLA on a customer request. * * **[Permissions](#permissions) required**: Agent for the Service Desk containing the queried customer request. */ get: operations["getSlaInformationById"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/status": { /** * Get customer request status * @description This method returns a list of all the statuses a customer Request has achieved. A status represents the state of an issue in its workflow. An issue can have one active status only. The list returns the status history in chronological order, most recent (current) status first. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ get: operations["getCustomerRequestStatus"]; }; "/rest/servicedeskapi/request/{issueIdOrKey}/transition": { /** * Get customer transitions * @description This method returns a list of transitions, the workflow processes that moves a customer request from one status to another, that the user can perform on a request. Use this method to provide a user with a list if the actions they can take on a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ get: operations["getCustomerTransitions"]; /** * Perform customer transition * @description This method performs a customer transition for a given request and transition. An optional comment can be included to provide a reason for the transition. * * **[Permissions](#permissions) required**: The user must be able to view the request and have the Transition Issues permission. If a comment is passed the user must have the Add Comments permission. */ post: operations["performCustomerTransition"]; }; "/rest/servicedeskapi/request/{requestIdOrKey}/feedback": { /** * Get feedback * @description This method retrieves a feedback of a request using it's `requestKey` or `requestId` * * **[Permissions](#permissions) required**: User has view request permissions. */ get: operations["getFeedback"]; /** * Post feedback * @description This method adds a feedback on an request using it's `requestKey` or `requestId` * * **[Permissions](#permissions) required**: User must be the reporter or an Atlassian Connect app. */ post: operations["postFeedback"]; /** * Delete feedback * @description This method deletes the feedback of request using it's `requestKey` or `requestId` * * **[Permissions](#permissions) required**: User must be the reporter or an Atlassian Connect app. */ delete: operations["deleteFeedback"]; }; "/rest/servicedeskapi/requesttype": { /** * Get all request types * @description This method returns all customer request types used in the Jira Service Management instance, optionally filtered by a query string. * * Use [servicedeskapi/servicedesk/\{serviceDeskId\}/requesttype](#api-servicedesk-serviceDeskId-requesttype-get) to find the customer request types supported by a specific service desk. * * The returned list of customer request types can be filtered using the `query` parameter. The parameter is matched against the customer request types' `name` or `description`. For example, searching for "Install", "Inst", "Equi", or "Equipment" will match a customer request type with the *name* "Equipment Installation Request". * * **Note:** This API will filter out hidden request types (aka.request types without groups) when `query` is provided. * * **[Permissions](#permissions) required**: Any */ get: operations["getAllRequestTypes"]; }; "/rest/servicedeskapi/servicedesk": { /** * Get service desks * @description This method returns all the service desks in the Jira Service Management instance that the user has permission to access. Use this method where you need a list of service desks or need to locate a service desk by name or keyword. * * **Note:** This method will be slow if the instance has hundreds of service desks. If you want to fetch a single service desk by its ID, use [/rest/servicedeskapi/servicedesk/\{serviceDeskId\}](./#api-rest-servicedeskapi-servicedesk-servicedeskid-get) instead. * * **[Permissions](#permissions) required**: Any */ get: operations["getServiceDesks"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}": { /** * Get service desk by id * @description This method returns a service desk. Use this method to get service desk details whenever your application component is passed a service desk ID but needs to display other service desk details. * * **[Permissions](#permissions) required**: Permission to access the Service Desk. For example, being the Service Desk's Administrator or one of its Agents or Users. */ get: operations["getServiceDeskById"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/attachTemporaryFile": { /** * Attach temporary file * @description This method adds one or more temporary attachments to a service desk, which can then be permanently attached to a customer request using [servicedeskapi/request/\{issueIdOrKey\}/attachment](#api-request-issueIdOrKey-attachment-post). * * **Note**: It is possible for a service desk administrator to turn off the ability to add attachments to a service desk. * * This method expects a multipart request. The media-type multipart/form-data is defined in RFC 1867. Most client libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components library provides [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html). * * Because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of X-Atlassian-Token: no-check with the request or it will be blocked. * * The name of the multipart/form-data parameter that contains the attachments must be `file`. * * For example, to upload a file called `myfile.txt` in the Service Desk with ID 10001 use * * curl -D- -u customer:customer -X POST -H "X-ExperimentalApi: opt-in" -H "X-Atlassian-Token: no-check" -F "file=@myfile.txt" https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/10001/attachTemporaryFile * * **[Permissions](#permissions) required**: Permission to add attachments in this Service Desk. */ post: operations["attachTemporaryFile"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/customer": { /** * Get customers * @description This method returns a list of the customers on a service desk. * * The returned list of customers can be filtered using the `query` parameter. The parameter is matched against customers' `displayName`, `name`, or `email`. For example, searching for "John", "Jo", "Smi", or "Smith" will match a user with display name "John Smith". * * **[Permissions](#permissions) required**: Permission to view this Service Desk's customers. */ get: operations["getCustomers"]; /** * Add customers * @description Adds one or more customers to a service desk. If any of the passed customers are associated with the service desk, no changes will be made for those customers and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Service desk administrator */ post: operations["addCustomers"]; /** * Remove customers * @description This method removes one or more customers from a service desk. The service desk must have closed access. If any of the passed customers are not associated with the service desk, no changes will be made for those customers and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Services desk administrator */ delete: operations["removeCustomers"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/knowledgebase/article": { /** * Get articles * @description Returns articles which match the given query and belong to the knowledge base linked to the service desk. * * **[Permissions](#permissions) required**: Permission to access the service desk. */ get: operations["getArticles"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/organization": { /** * Get organizations * @description This method returns a list of all organizations associated with a service desk. * * **[Permissions](#permissions) required**: Service desk's agent. */ get: operations["getOrganizations"]; /** * Add organization * @description This method adds an organization to a service desk. If the organization ID is already associated with the service desk, no change is made and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Service desk's agent. */ post: operations["addOrganization"]; /** * Remove organization * @description This method removes an organization from a service desk. If the organization ID does not match an organization associated with the service desk, no change is made and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Service desk's agent. */ delete: operations["removeOrganization"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/queue": { /** * Get queues * @description This method returns the queues in a service desk. To include a customer request count for each queue (in the `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false). * * **[Permissions](#permissions) required**: service desk's Agent. */ get: operations["getQueues"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/queue/{queueId}": { /** * Get queue * @description This method returns a specific queues in a service desk. To include a customer request count for the queue (in the `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false). * * **[Permissions](#permissions) required**: service desk's Agent. */ get: operations["getQueue"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/queue/{queueId}/issue": { /** * Get issues in queue * @description This method returns the customer requests in a queue. Only fields that the queue is configured to show are returned. For example, if a queue is configured to show description and due date, then only those two fields are returned for each customer request in the queue. * * **[Permissions](#permissions) required**: Service desk's agent. */ get: operations["getIssuesInQueue"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype": { /** * Get request types * @description This method returns all customer request types from a service desk. There are two parameters for filtering the returned list: * * * `groupId` which filters the results to items in the customer request type group. * * `searchQuery` which is matched against request types' `name` or `description`. For example, the strings "Install", "Inst", "Equi", or "Equipment" will match a request type with the *name* "Equipment Installation Request". * * **Note:** This API by default will filter out hidden request types (aka.request types without groups) when `searchQuery` is provided, unless `includeHiddenRequestTypesInSearch` is set to true. * * **[Permissions](#permissions) required**: Permission to access the service desk. */ get: operations["getRequestTypes"]; /** * Create request type * @description This method enables a customer request type to be added to a service desk based on an issue type. Note that not all customer request type fields can be specified in the request and these fields are given the following default values: * * * Request type icon is given the headset icon. * * Request type groups is left empty, which means this customer request type will not be visible on the [customer portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html). * * Request type status mapping is left empty, so the request type has no custom status mapping but inherits the status map from the issue type upon which it is based. * * Request type field mapping is set to show the required fields as specified by the issue type used to create the customer request type. * * * These fields can be updated by a service desk administrator using the **Request types** option in **Project settings**. * Request Types are created in next-gen projects by creating Issue Types. Please use the Jira Cloud Platform Create issue type endpoint instead. * * **[Permissions](#permissions) required**: Service desk's administrator */ post: operations["createRequestType"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}": { /** * Get request type by id * @description This method returns a customer request type from a service desk. * * This operation can be accessed anonymously. * * **[Permissions](#permissions) required**: Permission to access the service desk. */ get: operations["getRequestTypeById"]; /** * Delete request type * @description This method deletes a customer request type from a service desk, and removes it from all customer requests. * This only supports classic projects. * * **[Permissions](#permissions) required**: Service desk administrator. */ delete: operations["deleteRequestType"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/field": { /** * Get request type fields * @description This method returns the fields for a service desk's customer request type. * * Also, the following information about the user's permissions for the request type is returned: * * * `canRaiseOnBehalfOf` returns `true` if the user has permission to raise customer requests on behalf of other customers. Otherwise, returns `false`. * * `canAddRequestParticipants` returns `true` if the user can add customer request participants. Otherwise, returns `false`. * * **[Permissions](#permissions) required**: Permission to view the Service Desk. However, hidden fields would be visible to only Service desk's Administrator. */ get: operations["getRequestTypeFields"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property": { /** * Get properties keys * @description Returns the keys of all properties for a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore the keys of all properties for a request type are also available by calling the Jira Cloud Platform [Get issue type property keys](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-get) endpoint. * * **[Permissions](#permissions) required**: The user must have permission to view the request type. */ get: operations["getPropertiesKeys"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property/{propertyKey}": { /** * Get property * @description Returns the value of the property from a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore also available by calling the Jira Cloud Platform [Get issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-get) endpoint. * * **[Permissions](#permissions) required**: User must have permission to view the request type. */ get: operations["getProperty"]; /** * Set property * @description Sets the value of a request type property. Use this resource to store custom data against a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be set by calling the Jira Cloud Platform [Set issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-put) endpoint. * * **[Permissions](#permissions) required**: Jira project administrator with a Jira Service Management agent license. */ put: operations["setProperty"]; /** * Delete property * @description Removes a property from a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be deleted by calling the Jira Cloud Platform [Delete issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-delete) endpoint. * * **[Permissions](#permissions) required**: Jira project administrator with a Jira Service Management agent license. */ delete: operations["deleteProperty"]; }; "/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttypegroup": { /** * Get request type groups * @description This method returns a service desk's customer request type groups. Jira Service Management administrators can arrange the customer request type groups in an arbitrary order for display on the customer portal; the groups are returned in this order. * * **[Permissions](#permissions) required**: Permission to view the service desk. */ get: operations["getRequestTypeGroups"]; }; } export type webhooks = Record; export interface components { schemas: { AdditionalCommentDTO: { /** @description Content of the comment. */ body?: string; }; ApprovalDTO: { /** @description The REST API URL of the approval. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description Detailed list of the users who must provide a response to the approval. */ approvers?: components["schemas"]["ApproverDTO"][]; /** @description Indicates whether the user making the request is one of the approvers and can respond to the approval (true) or not (false). */ canAnswerApproval?: boolean; /** @description Date the approval was completed. */ completedDate?: components["schemas"]["DateDTO"]; /** @description Date the approval was created. */ createdDate?: components["schemas"]["DateDTO"]; /** * @description Outcome of the approval, based on the approvals provided by all approvers. * @enum {string} */ finalDecision?: "approved" | "declined" | "pending"; /** @description ID of the approval. */ id?: string; /** @description Description of the approval being sought or provided. */ name?: string; }; ApprovalDecisionRequestDTO: { /** * @description Response to the approval request. * @enum {string} */ decision?: "approve" | "decline"; }; ApproverDTO: { /** @description Details of the User who is providing approval. */ approver?: components["schemas"]["UserDTO"]; /** * @description Decision made by the approver. * @enum {string} */ approverDecision?: "approved" | "declined" | "pending"; }; ArticleDTO: { content?: components["schemas"]["ContentDTO"]; /** @description Excerpt of the article which matches the given query string. */ excerpt?: string; /** @description Source of the article. */ source?: components["schemas"]["SourceDTO"]; /** @description Title of the article. */ title?: string; }; /** @description Details of an Assets workspace ID. */ AssetsWorkspaceDTO: { /** @description The workspace ID used as the identifier to access the Assets REST API. */ workspaceId?: string; }; AttachmentCreateDTO: { /** @description Additional content of the comment */ additionalComment?: components["schemas"]["AdditionalCommentDTO"]; /** @description Controls whether the comment and its attachments are visible to customers */ public?: boolean; /** @description List of IDs for the temporary attachments to be added to the customer request. */ temporaryAttachmentIds?: string[]; }; AttachmentCreateResultDTO: { /** @description List of the attachments added. */ attachments?: components["schemas"]["PagedDTOAttachmentDTO"]; /** @description Details of the comment included with the attachments. */ comment?: components["schemas"]["CommentDTO"]; }; AttachmentDTO: { /** @description Various URLs for the attachment. */ _links?: components["schemas"]["AttachmentLinkDTO"]; /** @description Details of the user who attached the file. */ author?: components["schemas"]["UserDTO"]; /** @description Date the attachment was added. */ created?: components["schemas"]["DateDTO"]; /** @description Filename of the item attached. */ filename?: string; /** @description MIME type of the attachment. */ mimeType?: string; /** * Format: int64 * @description Size of the attachment in bytes. */ size?: number; }; AttachmentLinkDTO: { /** * Format: uri * @description URL for the attachment. */ content?: string; /** * Format: uri * @description REST API URL for the attachment */ jiraRest?: string; /** Format: uri */ self?: string; /** * Format: uri * @description URL for the attachment's thumbnail image. */ thumbnail?: string; }; AvatarUrlsBean: { /** * Format: uri * @description The URL of the item's 16x16 pixel avatar. */ "16x16"?: string; /** * Format: uri * @description The URL of the item's 24x24 pixel avatar. */ "24x24"?: string; /** * Format: uri * @description The URL of the item's 32x32 pixel avatar. */ "32x32"?: string; /** * Format: uri * @description The URL of the item's 48x48 pixel avatar. */ "48x48"?: string; }; CSATFeedbackFullDTO: { /** @description (Optional) The comment provided with this feedback. */ comment?: components["schemas"]["AdditionalCommentDTO"]; /** * Format: int32 * @description A numeric representation of the rating, this must be an integer value between 1 and 5. */ rating?: number; /** @description Indicates the type of feedback, supported values: `csat`. */ type?: string; }; /** @description A change item. */ ChangeDetails: { /** @description The name of the field changed. */ field?: string; /** @description The ID of the field changed. */ fieldId?: string; /** @description The type of the field changed. */ fieldtype?: string; /** @description The details of the original value. */ from?: string; /** @description The details of the original value as a string. */ fromString?: string; /** @description The details of the new value. */ to?: string; /** @description The details of the new value as a string. */ toString?: string; }; /** @description A log of changes made to issue fields. Changelogs related to workflow associations are currently being deprecated. */ Changelog: { /** @description The user who made the change. */ author?: components["schemas"]["UserDetails"]; /** * Format: date-time * @description The date on which the change took place. */ created?: string; /** @description The history metadata associated with the changed. */ historyMetadata?: components["schemas"]["HistoryMetadata"]; /** @description The ID of the changelog. */ id?: string; /** @description The list of items changed. */ items?: readonly components["schemas"]["ChangeDetails"][]; }; CommentCreateDTO: { /** @description Content of the comment. */ body?: string; /** @description Indicates whether the comment is public (true) or private/internal (false). */ public?: boolean; }; CommentDTO: { /** @description List of items that can be expanded in the response by specifying the expand query parameter. */ _expands?: string[]; /** @description REST API URL link to the comment. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description List of the attachments included in the comment. */ attachments?: components["schemas"]["PagedDTOAttachmentDTO"]; /** @description Details of the customer who authored the comment. */ author?: components["schemas"]["UserDTO"]; /** @description Content of the comment. */ body?: string; /** @description Date the comment was created. */ created?: components["schemas"]["DateDTO"]; /** @description ID of the comment. */ id?: string; /** @description Indicates whether the comment is public (true) or private/internal (false). */ public?: boolean; /** @description The rendered body of the comment. */ renderedBody?: components["schemas"]["RenderedValueDTO"]; }; ContentDTO: { /** @description Url containing the body of the article (without title), suitable for rendering in an iframe */ iframeSrc?: string; }; CustomerCreateDTO: { /** @description Customer's name for display in the UI. */ displayName?: string; /** @description Customer's email address. */ email?: string; /** @description Deprecated, please use 'displayName'. */ fullName?: string; }; CustomerRequestActionDTO: { /** @description Indicates whether the user can undertake the action (true) or not (false). */ allowed?: boolean; }; CustomerRequestActionsDTO: { /** @description Action of adding attachments to a request. */ addAttachment?: components["schemas"]["CustomerRequestActionDTO"]; /** @description Action of adding comments to a request. */ addComment?: components["schemas"]["CustomerRequestActionDTO"]; /** @description Action of adding participants to a request. */ addParticipant?: components["schemas"]["CustomerRequestActionDTO"]; /** @description Action of removing participants from a request. */ removeParticipant?: components["schemas"]["CustomerRequestActionDTO"]; }; CustomerRequestCreateMetaDTO: { /** @description Flag indicating if participants can be added to a request (true) or not. */ canAddRequestParticipants?: boolean; /** @description Flag indicating if a request can be raised on behalf of another user (true) or not. */ canRaiseOnBehalfOf?: boolean; /** @description List of the fields included in this request. */ requestTypeFields?: components["schemas"]["RequestTypeFieldDTO"][]; }; CustomerRequestDTO: { /** @description List of items that can be expanded in the response by specifying the expand query parameter. */ _expands?: string[]; /** @description List of links associated with the request. */ _links?: components["schemas"]["CustomerRequestLinkDTO"]; /** @description List of actions that the user can take on the request. */ actions?: components["schemas"]["CustomerRequestActionsDTO"]; /** @description List of attachments included with the request. */ attachments?: components["schemas"]["PagedDTOAttachmentDTO"]; /** @description List of comments included with the request. */ comments?: components["schemas"]["PagedDTOCommentDTO"]; /** @description Date on which the request was created. */ createdDate?: components["schemas"]["DateDTO"]; /** @description Status of the request. */ currentStatus?: components["schemas"]["CustomerRequestStatusDTO"]; /** @description ID of the request, as the peer issue ID. */ issueId?: string; /** @description Key of the request, as the peer issue key. */ issueKey?: string; /** @description Expandable details of the customers participating in the request. */ participants?: components["schemas"]["PagedDTOUserDTO"]; /** @description Details of the customer reporting the request. */ reporter?: components["schemas"]["UserDTO"]; /** @description JSON map of Jira field IDs and their values representing the content of the request. This list does not include hidden fields. */ requestFieldValues?: components["schemas"]["CustomerRequestFieldValueDTO"][]; /** @description Expandable details of the request type. */ requestType?: components["schemas"]["RequestTypeDTO"]; /** @description ID of the request type for the request. */ requestTypeId?: string; /** @description Expandable details of the service desk. */ serviceDesk?: components["schemas"]["ServiceDeskDTO"]; /** @description ID of the service desk the request belongs to. */ serviceDeskId?: string; /** @description Expandable details of the SLAs relating to the request. */ sla?: components["schemas"]["PagedDTOSlaInformationDTO"]; /** @description Expandable details of the request's status history. */ status?: components["schemas"]["PagedDTOCustomerRequestStatusDTO"]; }; CustomerRequestFieldValueDTO: { /** @description ID of the field. */ fieldId?: string; /** @description Text label for the field. */ label?: string; /** @description Value of the field rendered in the UI. */ renderedValue?: Record; /** @description Value of the field. */ value?: unknown; }; CustomerRequestLinkDTO: { /** * Format: uri * @description Jira agent view URL for the request. */ agent?: string; /** * Format: uri * @description REST API URL for the request. */ jiraRest?: string; /** Format: uri */ self?: string; /** * Format: uri * @description Web URL for the request. */ web?: string; }; CustomerRequestStatusDTO: { /** @description Name of the status condition. */ status?: string; /** * @description Status category the status belongs to. * @enum {string} */ statusCategory?: "UNDEFINED" | "NEW" | "INDETERMINATE" | "DONE"; /** @description Date on which the status was attained. */ statusDate?: components["schemas"]["DateDTO"]; }; CustomerTransitionDTO: { /** @description ID of the transition. */ id?: string; /** @description Name of the transition. */ name?: string; }; CustomerTransitionExecutionDTO: { /** @description Comment explaining the reason for the transition. */ additionalComment?: components["schemas"]["AdditionalCommentDTO"]; /** @description ID of the transition to be performed. */ id?: string; }; DateDTO: { /** * Format: int64 * @description Date as the number of milliseconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), 1 January 1970. */ epochMillis?: number; /** @description Date in a user-friendly text format. */ friendly?: string; /** @description Date in ISO8601 format. */ iso8601?: string; /** @description Date in the format used in the Jira REST APIs, which is ISO8601 format but extended with milliseconds. For example, 2016-09-28T23:08:32.097+1000. */ jira?: string; }; DurationDTO: { /** @description Duration in a user-friendly text format. */ friendly?: string; /** * Format: int64 * @description Duration in milliseconds. */ millis?: number; }; /** @description An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). */ EntityProperty: { /** @description The key of the property. Required on create and update. */ key?: string; /** @description The value of the property. Required on create and update. */ value?: unknown; }; ErrorResponse: { errorMessage?: string; i18nErrorMessage?: components["schemas"]["I18nErrorMessage"]; }; Expandable: { _expands?: string[]; }; /** @description The metadata describing an issue field. */ FieldMetadata: { /** @description The list of values allowed in the field. */ allowedValues?: readonly unknown[]; /** @description The URL that can be used to automatically complete the field. */ autoCompleteUrl?: string; /** @description The configuration properties. */ configuration?: { [key: string]: unknown; }; /** @description The default value of the field. */ defaultValue?: unknown; /** @description Whether the field has a default value. */ hasDefaultValue?: boolean; /** @description The key of the field. */ key: string; /** @description The name of the field. */ name: string; /** @description The list of operations that can be performed on the field. */ operations: readonly string[]; /** @description Whether the field is required. */ required: boolean; /** @description The data type of the field. */ schema: components["schemas"]["JsonTypeBean"]; }; Form: { /** @description JSON mapping of form field answers containing form field IDs and corresponding values. */ answers?: { [key: string]: components["schemas"]["FormAnswer"]; }; [key: string]: unknown; }; FormAnswer: { /** @description Answer in Atlassian Document Format (ADF) */ adf?: components["schemas"]["JsonNode"]; /** @description IDs of selected choices */ choices?: string[]; /** @description Answer in date format (yyyy-MM-dd) */ date?: string; /** @description The IDs of files to be attached to the form that are obtained by calling the ‘attach temporary file’ endpoint on the corresponding service desk. */ files?: string[]; /** @description Answer in free text format */ text?: string; /** @description Answer in timestamp format (HH:mm) */ time?: string; /** @description IDs of selected users */ users?: string[]; }; /** @description Details of issue history metadata. */ HistoryMetadata: { /** @description The activity described in the history record. */ activityDescription?: string; /** @description The key of the activity described in the history record. */ activityDescriptionKey?: string; /** @description Details of the user whose action created the history record. */ actor?: components["schemas"]["HistoryMetadataParticipant"]; /** @description Details of the cause that triggered the creation the history record. */ cause?: components["schemas"]["HistoryMetadataParticipant"]; /** @description The description of the history record. */ description?: string; /** @description The description key of the history record. */ descriptionKey?: string; /** @description The description of the email address associated the history record. */ emailDescription?: string; /** @description The description key of the email address associated the history record. */ emailDescriptionKey?: string; /** @description Additional arbitrary information about the history record. */ extraData?: { [key: string]: string; }; /** @description Details of the system that generated the history record. */ generator?: components["schemas"]["HistoryMetadataParticipant"]; /** @description The type of the history record. */ type?: string; [key: string]: unknown; }; /** @description Details of user or system associated with a issue history metadata item. */ HistoryMetadataParticipant: { /** @description The URL to an avatar for the user or system associated with a history record. */ avatarUrl?: string; /** @description The display name of the user or system associated with a history record. */ displayName?: string; /** @description The key of the display name of the user or system associated with a history record. */ displayNameKey?: string; /** @description The ID of the user or system associated with a history record. */ id?: string; /** @description The type of the user or system associated with a history record. */ type?: string; /** @description The URL of the user or system associated with a history record. */ url?: string; [key: string]: unknown; }; I18nErrorMessage: { i18nKey?: string; parameters?: string[]; }; IncludedFields: { actuallyIncluded?: string[]; excluded?: string[]; included?: string[]; }; InputStreamSource: { inputStream?: Record; }; /** @description Details of an insight workspace ID. */ InsightWorkspaceDTO: { /** @description The workspace ID used as the identifier to access the Insight REST API. */ workspaceId?: string; }; /** @description Details about an issue. */ IssueBean: { /** @description Details of changelogs associated with the issue. */ changelog?: components["schemas"]["PageOfChangelogs"]; /** @description The metadata for the fields on the issue that can be amended. */ editmeta?: components["schemas"]["IssueUpdateMetadata"]; /** @description Expand options that include additional issue details in the response. */ expand?: string; fields?: { [key: string]: unknown; }; fieldsToInclude?: components["schemas"]["IncludedFields"]; /** @description The ID of the issue. */ id?: string; /** @description The key of the issue. */ key?: string; /** @description The ID and name of each field present on the issue. */ names?: { [key: string]: string; }; /** @description The operations that can be performed on the issue. */ operations?: components["schemas"]["Operations"]; /** @description Details of the issue properties identified in the request. */ properties?: { [key: string]: unknown; }; /** @description The rendered value of each field present on the issue. */ renderedFields?: { [key: string]: unknown; }; /** @description The schema describing each field present on the issue. */ schema?: { [key: string]: components["schemas"]["JsonTypeBean"]; }; /** * Format: uri * @description The URL of the issue details. */ self?: string; /** @description The transitions that can be performed on the issue. */ transitions?: readonly components["schemas"]["IssueTransition"][]; /** @description The versions of each field on the issue. */ versionedRepresentations?: { [key: string]: { [key: string]: unknown; }; }; }; /** @description Details of an issue transition. */ IssueTransition: { /** @description Expand options that include additional transition details in the response. */ expand?: string; /** @description Details of the fields associated with the issue transition screen. Use this information to populate `fields` and `update` in a transition request. */ fields?: { [key: string]: components["schemas"]["FieldMetadata"]; }; /** @description Whether there is a screen associated with the issue transition. */ hasScreen?: boolean; /** @description The ID of the issue transition. Required when specifying a transition to undertake. */ id?: string; /** @description Whether the transition is available to be performed. */ isAvailable?: boolean; /** @description Whether the issue has to meet criteria before the issue transition is applied. */ isConditional?: boolean; /** @description Whether the issue transition is global, that is, the transition is applied to issues regardless of their status. */ isGlobal?: boolean; /** @description Whether this is the initial issue transition for the workflow. */ isInitial?: boolean; looped?: boolean; /** @description The name of the issue transition. */ name?: string; /** @description Details of the issue status after the transition. */ to?: components["schemas"]["StatusDetails"]; [key: string]: unknown; }; /** @description A list of editable field details. */ IssueUpdateMetadata: { fields?: { [key: string]: components["schemas"]["FieldMetadata"]; }; }; JsonNode: { array?: boolean; bigDecimal?: boolean; bigInteger?: boolean; bigIntegerValue?: number; binary?: boolean; binaryValue?: string[]; boolean?: boolean; booleanValue?: boolean; containerNode?: boolean; decimalValue?: number; double?: boolean; /** Format: double */ doubleValue?: number; elements?: Record; fieldNames?: Record; fields?: Record; floatingPointNumber?: boolean; int?: boolean; /** Format: int32 */ intValue?: number; integralNumber?: boolean; long?: boolean; /** Format: int64 */ longValue?: number; missingNode?: boolean; null?: boolean; number?: boolean; /** @enum {string} */ numberType?: "INT" | "LONG" | "BIG_INTEGER" | "FLOAT" | "DOUBLE" | "BIG_DECIMAL"; numberValue?: number; object?: boolean; pojo?: boolean; textValue?: string; textual?: boolean; valueAsBoolean?: boolean; /** Format: double */ valueAsDouble?: number; /** Format: int32 */ valueAsInt?: number; /** Format: int64 */ valueAsLong?: number; valueAsText?: string; valueNode?: boolean; }; /** @description The schema of a field. */ JsonTypeBean: { /** @description If the field is a custom field, the configuration of the field. */ configuration?: { [key: string]: unknown; }; /** @description If the field is a custom field, the URI of the field. */ custom?: string; /** * Format: int64 * @description If the field is a custom field, the custom ID of the field. */ customId?: number; /** @description When the data type is an array, the name of the field items within the array. */ items?: string; /** @description If the field is a system field, the name of the field. */ system?: string; /** @description The data type of the field. */ type: string; }; /** @description Details a link group, which defines issue operations. */ LinkGroup: { groups?: components["schemas"]["LinkGroup"][]; header?: components["schemas"]["SimpleLink"]; id?: string; links?: components["schemas"]["SimpleLink"][]; styleClass?: string; /** Format: int32 */ weight?: number; }; Linkable: { _links?: components["schemas"]["SelfLinkDTO"]; }; LinkableAttachmentLinkDTO: { _links?: components["schemas"]["AttachmentLinkDTO"]; }; LinkableCustomerRequestLinkDTO: { _links?: components["schemas"]["CustomerRequestLinkDTO"]; }; LinkableUserLinkDTO: { _links?: components["schemas"]["UserLinkDTO"]; }; MultipartFile: { bytes?: string[]; contentType?: string; empty?: boolean; inputStream?: Record; name?: string; originalFilename?: string; resource?: components["schemas"]["Resource"]; /** Format: int64 */ size?: number; }; /** @description Details of the operations that can be performed on the issue. */ Operations: { /** @description Details of the link groups defining issue operations. */ linkGroups?: readonly components["schemas"]["LinkGroup"][]; [key: string]: unknown; }; OrganizationCreateDTO: { /** @description Name of the organization. Must contain 1-200 characters. */ name: string; }; OrganizationDTO: { /** @description REST API URL to the organization. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description Date the organization was created. This field may not be present in some older organizations. */ created?: components["schemas"]["DateDTO"]; /** @description A unique system generated ID for the organization. */ id?: string; /** @description Name of the organization. */ name?: string; /** @description A unique system generated ID for the organization. This is identity from the group directory id */ uuid?: string; }; OrganizationServiceDeskUpdateDTO: { /** * Format: int32 * @description List of organizations, specified by 'ID' field values, to add to or remove from the service desk. */ organizationId: number; /** @description Service desk Id for which, organization needs to be updated */ serviceDeskId?: string; [key: string]: unknown; }; /** @description A page of changelogs. */ PageOfChangelogs: { /** @description The list of changelogs. */ histories?: readonly components["schemas"]["Changelog"][]; /** * Format: int32 * @description The maximum number of results that could be on the page. */ maxResults?: number; /** * Format: int32 * @description The index of the first item returned on the page. */ startAt?: number; /** * Format: int32 * @description The number of results on the page. */ total?: number; }; PagedDTOApprovalDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["ApprovalDTO"][]; }; PagedDTOArticleDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["ArticleDTO"][]; }; PagedDTOAssetsWorkspaceDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["AssetsWorkspaceDTO"][]; }; PagedDTOAttachmentDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["AttachmentDTO"][]; }; PagedDTOCommentDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["CommentDTO"][]; }; PagedDTOCustomerRequestDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["CustomerRequestDTO"][]; }; PagedDTOCustomerRequestStatusDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["CustomerRequestStatusDTO"][]; }; PagedDTOCustomerTransitionDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["CustomerTransitionDTO"][]; }; PagedDTOInsightWorkspaceDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["InsightWorkspaceDTO"][]; }; PagedDTOIssueBean: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["IssueBean"][]; }; PagedDTOOrganizationDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["OrganizationDTO"][]; }; PagedDTOQueueDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["QueueDTO"][]; }; PagedDTORequestTypeDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["RequestTypeDTO"][]; }; PagedDTORequestTypeGroupDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["RequestTypeGroupDTO"][]; }; PagedDTOServiceDeskDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["ServiceDeskDTO"][]; }; PagedDTOSlaInformationDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["SlaInformationDTO"][]; }; PagedDTOUserDTO: { _expands?: string[]; /** @description List of the links relating to the page. */ _links?: components["schemas"]["PagedLinkDTO"]; /** @description Indicates if this is the last page of records (true) or not (false). */ isLastPage?: boolean; /** * Format: int32 * @description Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */ limit?: number; /** * Format: int32 * @description Number of items returned in the page. */ size?: number; /** * Format: int32 * @description Index of the first item returned in the page. */ start?: number; /** @description Details of the items included in the page. */ values?: components["schemas"]["UserDTO"][]; }; PagedLinkDTO: { /** * Format: uri * @description Base URL for the REST API calls. */ base?: string; context?: string; /** * Format: uri * @description REST API URL for the next page, if there is one. */ next?: string; /** * Format: uri * @description REST API URL for the previous page, if there is one. */ prev?: string; /** * Format: uri * @description REST API URL for the current page. */ self?: string; }; /** @description Details about a project. */ ProjectDetails: { /** @description The URLs of the project's avatars. */ avatarUrls?: components["schemas"]["AvatarUrlsBean"]; /** @description The ID of the project. */ id?: string; /** @description The key of the project. */ key?: string; /** @description The name of the project. */ name?: string; /** @description The category the project belongs to. */ projectCategory?: components["schemas"]["UpdatedProjectCategory"]; /** * @description The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project. * @enum {string} */ projectTypeKey?: "software" | "service_desk" | "business"; /** @description The URL of the project details. */ self?: string; /** @description Whether or not the project is simplified. */ simplified?: boolean; }; /** @description Property key details. */ PropertyKey: { /** @description The key of the property. */ key?: string; /** @description The URL of the property. */ self?: string; }; /** @description List of property keys. */ PropertyKeys: { /** @description Property key details. */ keys?: readonly components["schemas"]["PropertyKey"][]; }; QueueDTO: { /** @description REST API URL to the queue. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description Fields returned for each request in the queue. */ fields?: string[]; /** @description ID for the queue. */ id?: string; /** * Format: int64 * @description The count of customer requests in the queue. */ issueCount?: number; /** @description JQL query that filters reqeusts for the queue. */ jql?: string; /** @description Short name for the queue. */ name?: string; }; RenderedValueDTO: { html?: string; }; RequestCreateDTO: { /** @description (Experimental) Shows extra information for the request channel. */ channel?: string; /** @description (Experimental) Provides answers to the form associated with a request type that is attached to the request on creation. Jira fields should be omitted from `requestFieldValues` if they are linked to form answers. Form answers in ADF format should have `isAdfRequest` set to true. Form answers are not currently validated. */ form?: components["schemas"]["Form"]; /** @description (Experimental) Whether to accept rich text fields in Atlassian Document Format (ADF). */ isAdfRequest?: boolean; /** @description The `accountId` of the customer that the request is being raised on behalf of. */ raiseOnBehalfOf?: string; /** @description JSON map of Jira field IDs and their values representing the content of the request. */ requestFieldValues?: { [key: string]: unknown; }; /** @description List of customers to participate in the request, as a list of `accountId` values. */ requestParticipants?: string[]; /** @description ID of the request type for the request. */ requestTypeId?: string; /** @description ID of the service desk in which to create the request. */ serviceDeskId?: string; }; RequestNotificationSubscriptionDTO: { /** @description Indicates whether the user is subscribed (true) or not (false) to the request's notifications. */ subscribed?: boolean; }; RequestParticipantUpdateDTO: { /** @description List of users, specified by account IDs, to add to or remove as participants in the request. */ accountIds?: string[]; /** @description This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. Use `accountIds` instead. */ usernames?: string[]; }; RequestTypeCreateDTO: { /** @description Description of the request type on the service desk. */ description?: string; /** @description Help text for the request type on the service desk. */ helpText?: string; /** @description ID of the request type to add to the service desk. */ issueTypeId?: string; /** @description Name of the request type on the service desk. */ name?: string; }; RequestTypeDTO: { /** @description List of items that can be expanded in the response by specifying the expand query parameter. */ _expands?: string[]; /** @description REST API URL for the request type. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description Description of the request type. */ description?: string; /** @description Fields and additional metadata for creating a request that uses the request type */ fields?: components["schemas"]["CustomerRequestCreateMetaDTO"]; /** @description List of the request type groups the request type belongs to. */ groupIds?: string[]; /** @description Help text for the request type. */ helpText?: string; /** @description Links to the request type's icons. */ icon?: components["schemas"]["RequestTypeIconDTO"]; /** @description ID for the request type. */ id?: string; /** @description ID of the issue type the request type is based upon. */ issueTypeId?: string; /** @description Short name for the request type. */ name?: string; /** @description ID of the customer portal associated with the service desk project. */ portalId?: string; /** @description The request type's practice */ practice?: string; /** @description ID of the service desk the request type belongs to. */ serviceDeskId?: string; }; RequestTypeFieldDTO: { /** @description List of default values for the field. */ defaultValues?: components["schemas"]["RequestTypeFieldValueDTO"][]; /** @description Description of the field. */ description?: string; /** @description ID of the field. */ fieldId?: string; /** @description Jira specific implementation details for the field in the UI. */ jiraSchema?: components["schemas"]["JsonTypeBean"]; /** @description Name of the field. */ name?: string; /** @description List of preset values for the field. */ presetValues?: string[]; /** @description Indicates if the field is required (true) or not (false). */ required?: boolean; /** @description List of valid values for the field. */ validValues?: components["schemas"]["RequestTypeFieldValueDTO"][]; visible?: boolean; }; RequestTypeFieldValueDTO: { /** @description List of child fields. */ children?: components["schemas"]["RequestTypeFieldValueDTO"][]; /** @description Label for the field. */ label?: string; /** @description Value of the field. */ value?: string; }; RequestTypeGroupDTO: { /** @description ID of the request type group */ id?: string; /** @description Name of the request type group. */ name?: string; }; RequestTypeIconDTO: { /** @description Map of the URLs for the request type icons. */ _links?: components["schemas"]["RequestTypeIconLinkDTO"]; /** @description ID of the request type icon. */ id?: string; }; RequestTypeIconLinkDTO: { /** @description URLs for the request type icons. */ iconUrls?: { [key: string]: string; }; }; Resource: { description?: string; /** Format: binary */ file?: string; filename?: string; inputStream?: Record; open?: boolean; readable?: boolean; /** Format: uri */ uri?: string; /** Format: url */ url?: string; }; /** @description The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO). */ Scope: { /** @description The project the item has scope in. */ project?: components["schemas"]["ProjectDetails"]; /** * @description The type of scope. * @enum {string} */ type?: "PROJECT" | "TEMPLATE"; [key: string]: unknown; }; SelfLinkDTO: { /** Format: uri */ self?: string; }; ServiceDeskCustomerDTO: { /** @description List of users, specified by account IDs, to add to or remove from a service desk. */ accountIds?: string[]; /** @description This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. Use `accountIds` instead. */ usernames?: string[]; }; ServiceDeskDTO: { /** @description REST API URL to the service desk. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description ID of the service desk. */ id?: string; /** @description ID of the peer project for the service desk. */ projectId?: string; /** @description Key of the peer project of the service desk. */ projectKey?: string; /** @description Name of the project and service desk. */ projectName?: string; }; /** @description Details about the operations available in this version. */ SimpleLink: { href?: string; iconClass?: string; id?: string; label?: string; styleClass?: string; title?: string; /** Format: int32 */ weight?: number; }; SlaInformationCompletedCycleDTO: { /** @description Time and date at which the SLA cycle breached in case of completed breached cycle or would have breached in case of non-breached completed cycle. */ breachTime?: components["schemas"]["DateDTO"]; /** @description Indicates if the SLA (duration) was exceeded (true) or not (false). */ breached?: boolean; /** @description Duration in which the service was completed. */ elapsedTime?: components["schemas"]["DurationDTO"]; /** @description Duration within which the service should have been completed. */ goalDuration?: components["schemas"]["DurationDTO"]; /** @description Duration remaining after the service was completed. */ remainingTime?: components["schemas"]["DurationDTO"]; /** @description Time and date at which the SLA cycle started. */ startTime?: components["schemas"]["DateDTO"]; /** @description Time and date at which the SLA cycle completed. */ stopTime?: components["schemas"]["DateDTO"]; }; SlaInformationDTO: { /** @description REST API URL for the SLA. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description List of completed cycles for the SLA. */ completedCycles?: components["schemas"]["SlaInformationCompletedCycleDTO"][]; /** @description ID of the Service Level Agreement (SLA). */ id?: string; /** @description Description of the SLA. */ name?: string; /** @description Details of the active cycle for the SLA. */ ongoingCycle?: components["schemas"]["SlaInformationOngoingCycleDTO"]; /** @description Format in which SLA is to be displayed in the UI */ slaDisplayFormat?: string; }; SlaInformationOngoingCycleDTO: { /** @description Time and date at which the SLA cycle would have breached its limit. */ breachTime?: components["schemas"]["DateDTO"]; /** @description Indicates whether the SLA has been breached (true) or not (false). */ breached?: boolean; /** @description Duration of the service. */ elapsedTime?: components["schemas"]["DurationDTO"]; /** @description Duration within which the service should be completed. */ goalDuration?: components["schemas"]["DurationDTO"]; /** @description Indicates whether the SLA is paused (true) or not (false). */ paused?: boolean; /** @description Duration remaining in which to complete the service. */ remainingTime?: components["schemas"]["DurationDTO"]; /** @description Time and date at which the SLA cycle started. */ startTime?: components["schemas"]["DateDTO"]; /** @description Indicates whether the SLA it timed during calendared working hours only (true) or not (false). */ withinCalendarHours?: boolean; }; SoftwareInfoDTO: { /** @description REST API URL of the instance. */ _links?: components["schemas"]["SelfLinkDTO"]; /** @description Reference of the change set included in the build. */ buildChangeSet?: string; /** @description Date of the current build. */ buildDate?: components["schemas"]["DateDTO"]; /** @description Indicates whether the instance is licensed (true) or not (false). */ isLicensedForUse?: boolean; /** @description Jira Platform version upon which Service Desk is based. */ platformVersion?: string; /** @description Jira Service Management version. */ version?: string; }; SourceDTO: { /** * @description Type of the knowledge base source * @enum {string} */ type?: "confluence"; [key: string]: unknown; }; /** @description A status category. */ StatusCategory: { /** @description The name of the color used to represent the status category. */ colorName?: string; /** * Format: int64 * @description The ID of the status category. */ id?: number; /** @description The key of the status category. */ key?: string; /** @description The name of the status category. */ name?: string; /** @description The URL of the status category. */ self?: string; [key: string]: unknown; }; /** @description A status. */ StatusDetails: { /** @description The description of the status. */ description?: string; /** @description The URL of the icon used to represent the status. */ iconUrl?: string; /** @description The ID of the status. */ id?: string; /** @description The name of the status. */ name?: string; /** @description The scope of the field. */ scope?: components["schemas"]["Scope"]; /** @description The URL of the status. */ self?: string; /** @description The category assigned to the status. */ statusCategory?: components["schemas"]["StatusCategory"]; [key: string]: unknown; }; /** @description A project category. */ UpdatedProjectCategory: { /** @description The name of the project category. */ description?: string; /** @description The ID of the project category. */ id?: string; /** @description The description of the project category. */ name?: string; /** @description The URL of the project category. */ self?: string; }; UserDTO: { /** @description URLs for the customer record and related items. */ _links?: components["schemas"]["UserLinkDTO"]; /** @description The accountId of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. */ accountId?: string; /** @description Indicates if the customer is active (true) or inactive (false) */ active?: boolean; /** @description Customer's name for display in a UI. Depending on the customer’s privacy settings, this may return an alternative value. */ displayName?: string; /** @description Customer's email address. Depending on the customer’s privacy settings, this may be returned as null. */ emailAddress?: string; /** @description This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. */ key?: string; /** @description This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. */ name?: string; /** @description Customer time zone. Depending on the customer’s privacy settings, this may be returned as null. */ timeZone?: string; }; /** * @description User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * * * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values. */ UserDetails: { /** @description The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. */ accountId?: string; /** @description The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user) */ accountType?: string; /** @description Whether the user is active. */ active?: boolean; /** @description The avatars of the user. */ avatarUrls?: components["schemas"]["AvatarUrlsBean"]; /** @description The display name of the user. Depending on the user’s privacy settings, this may return an alternative value. */ displayName?: string; /** @description The email address of the user. Depending on the user’s privacy settings, this may be returned as null. */ emailAddress?: string; /** @description This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. */ key?: string; /** @description This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. */ name?: string; /** @description The URL of the user. */ self?: string; /** @description The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null. */ timeZone?: string; }; UserLinkDTO: { /** @description Links to the various sizes of the customer's avatar. Note that this property is deprecated, and will be removed in future versions. */ avatarUrls?: { [key: string]: string; }; /** * Format: uri * @description REST API URL for the customer. */ jiraRest?: string; /** Format: uri */ self?: string; }; UsersOrganizationUpdateDTO: { /** @description List of customers, specific by account IDs, to add to or remove from the organization. */ accountIds?: string[]; /** * Format: int32 * @description The organizationId in which users need to be added */ organizationId?: number; /** @description This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. Use `accountIds` instead. */ usernames?: string[]; [key: string]: unknown; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export type external = Record; export interface operations { /** * Get assets workspaces * @description Returns a list of Assets workspace IDs. Include a workspace ID in the path to access the [Assets REST APIs](https://developer.atlassian.com/cloud/assets/rest). * * **[Permissions](#permissions) required**: Any */ getAssetsWorkspaces: { parameters: { query?: { /** @description The starting index of the returned workspace IDs. Base index: 0 See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of workspace IDs to return per page. Default: 50 See the [Pagination](#pagination) section for more details. */ limit?: number; }; }; responses: { /** @description Returned if the request is successful. */ 200: { content: { "application/json": components["schemas"]["PagedDTOAssetsWorkspaceDTO"]; }; }; /** @description Returned if the authentication credentials are incorrect or missing. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have the necessary permission. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Create customer * @description This method adds a customer to the Jira Service Management instance by passing a JSON file including an email address and display name. The display name does not need to be unique. The record's identifiers, `name` and `key`, are automatically generated from the request details. * * **[Permissions](#permissions) required**: Jira Administrator Global permission */ createCustomer: { parameters: { query?: { /** @description Optional boolean flag to return 409 Conflict status code for duplicate customer creation request */ strictConflictStatusCode?: boolean; }; }; requestBody: { content: { /** * @example { * "displayName": "Fred F. User", * "email": "fred@example.com" * } */ "application/json": components["schemas"]["CustomerCreateDTO"]; }; }; responses: { /** @description Returns the customer details. */ 201: { content: { "application/json": components["schemas"]["UserDTO"]; }; }; /** @description Returned if the request is invalid, either because the email address is incorrectly formed or already exists in the database if `strictConflictStatusCode=false` or if `strictConflictStatusCode` parameter is not provided */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the request is invalid because the email address already exists in the database and `strictConflictStatusCode=true` */ 409: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get info * @description This method retrieves information about the Jira Service Management instance such as software version, builds, and related links. * * **[Permissions](#permissions) required**: None, the user does not need to be logged in. */ getInfo: { responses: { /** @description Returns the runtime information for the Jira Service Management instance. */ 200: { content: { "application/json": components["schemas"]["SoftwareInfoDTO"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get insight workspaces * @description This endpoint is deprecated, please use /assets/workspace/. */ getInsightWorkspaces: { parameters: { query?: { start?: number; limit?: number; }; }; responses: { /** @description 200 response */ 200: { content: { "application/json": components["schemas"]["PagedDTOInsightWorkspaceDTO"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get articles * @description Returns articles which match the given query and belong to the knowledge base linked to the service desk. * * **[Permissions](#permissions) required**: Permission to access the service desk. */ getArticles: { parameters: { query: { /** @description The string used to filter the articles (required). */ query: string; /** @description If set to true matching query term in the title and excerpt will be highlighted using the `@@@hl@@@term@@@endhl@@@` syntax. Default: false. */ highlight?: boolean; /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { serviceDeskId: string; }; }; responses: { /** @description Returns the articles, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOArticleDTO"]; }; }; /** @description Returned if the request is invalid, for example: missing query parameter. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get organizations * @description This method returns a list of all organizations associated with a service desk. * * **[Permissions](#permissions) required**: Service desk's agent. */ getOrganizations: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; /** @description The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. */ accountId?: string; }; path: { /** @description The ID of the service desk from which the organization list will be returned. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; responses: { /** @description Returns the requested organizations list. */ 200: { content: { "application/json": components["schemas"]["PagedDTOOrganizationDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if user does not have the necessary permission. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist or the user is not found. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Create organization * @description This method creates an organization by passing the name of the organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. Note: Permission to create organizations can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ createOrganization: { requestBody: { content: { /** * @example { * "name": "Charlie Cakes Franchises" * } */ "application/json": components["schemas"]["OrganizationCreateDTO"]; }; }; responses: { /** @description Returns the created organization or the existing organization if name already exists. */ 201: { content: { "application/json": components["schemas"]["OrganizationDTO"]; }; }; /** @description Returned if the HTTP request is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get organization * @description This method returns details of an organization. Use this method to get organization details whenever your application component is passed an organization ID but needs to display other organization details. * * To get organization detail field values which are visible in Jira Service Management, see the [Customer Service Management REST API](https://developer.atlassian.com/cloud/customer-service-management/rest/v1/api-group-organization/#api-group-organization). * * **[Permissions](#permissions) required**: Any * * **Response limitations**: Customers can only retrieve organization of which they are members. */ getOrganization: { parameters: { path: { /** @description The ID of the organization. */ organizationId: number; }; }; responses: { /** @description Returns the requested organization. */ 200: { content: { "application/json": components["schemas"]["OrganizationDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the organization does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Delete organization * @description This method deletes an organization. Note that the organization is deleted regardless of other associations it may have. For example, associations with service desks. * * **[Permissions](#permissions) required**: Jira administrator. */ deleteOrganization: { parameters: { path: { /** @description The ID of the organization. */ organizationId: number; }; }; responses: { /** @description Returned if the organization was deleted. */ 204: { content: never; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the organization does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get properties keys * @description Returns the keys of all properties for a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore the keys of all properties for a request type are also available by calling the Jira Cloud Platform [Get issue type property keys](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-get) endpoint. * * **[Permissions](#permissions) required**: The user must have permission to view the request type. */ getPropertiesKeys: { parameters: { path: { /** @description The ID of the request type for which keys will be retrieved. */ requestTypeId: number; /** @description The ID of the service desk which contains the request type. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; responses: { /** @description Returned if the request type was found. */ 200: { content: { "application/json": components["schemas"]["PropertyKeys"]; }; }; /** @description Returned if the request type ID is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the request type does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get property * @description Returns the value of the property from a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore also available by calling the Jira Cloud Platform [Get issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-get) endpoint. * * **[Permissions](#permissions) required**: User must have permission to view the request type. */ getProperty: { parameters: { path: { /** @description The ID of the service desk which contains the request type. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; /** @description The ID of the request type from which the property will be retrieved. */ requestTypeId: number; /** @description The key of the property to return. */ propertyKey: string; }; }; responses: { /** @description Returned if the request type property was returned. */ 200: { content: { "application/json": components["schemas"]["EntityProperty"]; }; }; /** @description Returned if the request type ID is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the request type or property do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Set property * @description Sets the value of a request type property. Use this resource to store custom data against a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be set by calling the Jira Cloud Platform [Set issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-put) endpoint. * * **[Permissions](#permissions) required**: Jira project administrator with a Jira Service Management agent license. */ setProperty: { parameters: { path: { /** @description The ID of the service desk which contains the request type. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; /** @description The ID of the request type on which the property will be set. */ requestTypeId: number; /** @description The key of the request type property. The maximum length of the key is 255 bytes. */ propertyKey: string; }; }; responses: { /** @description Returned if the request type property is updated. */ 200: { content: { "application/json": unknown; }; }; /** @description Returned if the request type property is created. */ 201: { content: { "application/json": unknown; }; }; /** @description Returned if the request type ID is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the calling user doesn't have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the request type does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Delete property * @description Removes a property from a request type. * * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be deleted by calling the Jira Cloud Platform [Delete issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-delete) endpoint. * * **[Permissions](#permissions) required**: Jira project administrator with a Jira Service Management agent license. */ deleteProperty: { parameters: { path: { /** @description The ID of the service desk which contains the request type. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; /** @description The ID of the request type for which the property will be removed. */ requestTypeId: number; /** @description The key of the property to remove. */ propertyKey: string; }; }; responses: { /** @description Returned if the request type property was removed. */ 204: { content: never; }; /** @description Returned if the request type ID is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the calling user doesn't have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the request type or property do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get users in organization * @description This method returns all the users associated with an organization. Use this method where you want to provide a list of users for an organization or determine if a user is associated with an organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. */ getUsersInOrganization: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of users to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID of the organization. */ organizationId: number; }; }; responses: { /** @description Returns a paged list of users associated with the organization, ordered by their accountId. */ 200: { content: { "application/json": components["schemas"]["PagedDTOUserDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the organization does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Add users to organization * @description This method adds users to an organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. Note: Permission to add users to an organization can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ addUsersToOrganization: { parameters: { path: { /** @description The ID of the organization. */ organizationId: number; }; }; requestBody: { content: { /** * @example { * "accountIds": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd" * ], * "usernames": [] * } */ "application/json": components["schemas"]["UsersOrganizationUpdateDTO"]; }; }; responses: { /** @description Returned if all the users were valid and added to the organization, no response payload is provided. */ 204: { content: never; }; /** @description Returned if one or more usernames are unknown. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the organization does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Remove users from organization * @description This method removes users from an organization. * * **[Permissions](#permissions) required**: Service desk administrator or agent. Note: Permission to delete users from an organization can be switched to users with the Jira administrator permission, using the **[Organization management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)** feature. */ removeUsersFromOrganization: { parameters: { path: { /** @description The ID of the organization. */ organizationId: number; }; }; requestBody: { content: { /** * @example { * "accountIds": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd" * ], * "usernames": [] * } */ "application/json": components["schemas"]["UsersOrganizationUpdateDTO"]; }; }; responses: { /** @description The request completed successfully. No additional content will be sent in the response. */ 204: { content: never; }; /** @description Returned if one or more user names are invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the organization does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get customer requests * @description This method returns all customer requests for the user executing the query. * * The returned customer requests are ordered chronologically by the latest activity on each request. For example, the latest status transition or comment. * * **[Permissions](#permissions) required**: Permission to access the specified service desk. * * **Response limitations**: For customers, the list returned will include request they created (or were created on their behalf) or are participating in only. */ getCustomerRequests: { parameters: { query?: { /** @description Filters customer requests where the request summary matches the `searchTerm`. [Wildcards](https://confluence.atlassian.com/display/JIRACORECLOUD/Search+syntax+for+text+fields) can be used in the `searchTerm` parameter. */ searchTerm?: string; /** * @description Filters customer requests using the following values: * * * `OWNED_REQUESTS` returns customer requests where the user is the creator. * * `PARTICIPATED_REQUESTS` returns customer requests where the user is a participant. * * `ORGANIZATION` returns customer requests for an organization of which the user is a member when used in conjunction with `organizationId`. * * `ALL_ORGANIZATIONS` returns customer requests that belong to all organizations of which the user is a member. * * `APPROVER` returns customer requests where the user is an approver. Can be used in conjunction with `approvalStatus` to filter pending or complete approvals. * * `ALL_REQUESTS` returns all customer requests. **Deprecated and will be removed, as the returned requests may change if more values are added in the future. Instead, explicitly list the desired filtering strategies.** * * Multiple values of the query parameter are supported. For example, `requestOwnership=OWNED_REQUESTS&requestOwnership=PARTICIPATED_REQUESTS` will only return customer requests where the user is the creator or a participant. If not specified, filtering defaults to `OWNED_REQUESTS`, `PARTICIPATED_REQUESTS`, and `ALL_ORGANIZATIONS`. */ requestOwnership?: string[]; /** * @description Filters customer requests where the request is closed, open, or either of the two where: * * * `CLOSED_REQUESTS` returns customer requests that are closed. * * `OPEN_REQUESTS` returns customer requests that are open. * * `ALL_REQUESTS` returns all customer requests. */ requestStatus?: string; /** * @description Filters results to customer requests based on their approval status: * * * `MY_PENDING_APPROVAL` returns customer requests pending the user's approval. * * `MY_HISTORY_APPROVAL` returns customer requests where the user was an approver. * * **Note**: Valid only when used with requestOwnership=APPROVER. */ approvalStatus?: string; /** @description Filters customer requests that belong to a specific organization (note that the user must be a member of that organization). **Note**: Valid only when used with requestOwnership=ORGANIZATION. */ organizationId?: number; /** @description Filters customer requests by service desk. */ serviceDeskId?: number; /** @description Filters customer requests by request type. Note that the `serviceDeskId` must be specified for the service desk in which the request type belongs. */ requestTypeId?: number; /** * @description A multi-value parameter indicating which properties of the customer request to expand, where: * * * `serviceDesk` returns additional details for each service desk. * * `requestType` returns additional details for each request type. * * `participant` returns the participant details, if any, for each customer request. * * `sla` returns the SLA information on each customer request. * * `status` returns the status transitions, in chronological order, for each customer request. * * `attachment` returns the attachments for the customer request. * * `action` returns the actions that the user can or cannot perform on this customer request. * * `comment` returns the comments, if any, for each customer request. * * `comment.attachment` returns the attachment details, if any, for each comment. * * `comment.renderedBody` (Experimental) returns the rendered body in HTML format (in addition to the raw body) for each comment. */ expand?: string[]; /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; }; responses: { /** @description Returns the customer requests, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOCustomerRequestDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to access the service desk, the service desk does not exist, or the service desk does not support the request type. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Create customer request * @description This method creates a customer request in a service desk. * * The JSON request must include the service desk and customer request type, as well as any fields that are required for the request type. A list of the fields required by a customer request type can be obtained using [servicedesk/\{serviceDeskId\}/requesttype/\{requestTypeId\}/field](#api-servicedesk-serviceDeskId-requesttype-requestTypeId-field-get). * * The fields required for a customer request type depend on the user's permissions: * * * `raiseOnBehalfOf` is not available to Users who have the customer permission only. * * `requestParticipants` is not available to Users who have the customer permission only or if the feature is turned off for customers. * * `requestFieldValues` is a map of Jira field IDs and their values. See [Field input formats](#fieldformats), for details of each field's JSON semantics and the values they can take. * * **[Permissions](#permissions) required**: Permission to create requests in the specified service desk. */ createCustomerRequest: { requestBody: { content: { /** * @example { * "form": { * "answers": { * "1": { * "text": "Answer to a text form field" * }, * "2": { * "date": "2023-07-06" * }, * "3": { * "time": "14:35" * }, * "4": { * "choices": [ * "5" * ] * }, * "5": { * "users": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ] * } * } * }, * "isAdfRequest": false, * "requestFieldValues": { * "description": "I need a new *mouse* for my Mac", * "summary": "Request JSD help via REST" * }, * "requestParticipants": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ], * "requestTypeId": "25", * "serviceDeskId": "10" * } */ "application/json": components["schemas"]["RequestCreateDTO"]; }; }; responses: { /** @description Returned if the customer request was created. */ 201: { content: { "application/json": components["schemas"]["CustomerRequestDTO"]; }; }; /** @description Returned if the HTTP request call is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get customer request by id or key * @description This method returns a customer request. * * **[Permissions](#permissions) required**: Permission to access the specified service desk. * * **Response limitations**: For customers, only a request they created, was created on their behalf, or they are participating in will be returned. * * **Note:** `requestFieldValues` does not include hidden fields. To get a list of request type fields that includes hidden fields, see [/rest/servicedeskapi/servicedesk/\{serviceDeskId\}/requesttype/\{requestTypeId\}/field](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-servicedesk/#api-rest-servicedeskapi-servicedesk-servicedeskid-requesttype-requesttypeid-field-get) */ getCustomerRequestByIdOrKey: { parameters: { query?: { /** * @description A multi-value parameter indicating which properties of the customer request to expand, where: * * * `serviceDesk` returns additional service desk details. * * `requestType` returns additional customer request type details. * * `participant` returns the participant details. * * `sla` returns the SLA information. * * `status` returns the status transitions, in chronological order. * * `attachment` returns the attachments. * * `action` returns the actions that the user can or cannot perform. * * `comment` returns the comments. * * `comment.attachment` returns the attachment details for each comment. * * `comment.renderedBody` (Experimental) return the rendered body in HTML format (in addition to the raw body) for each comment. */ expand?: string[]; }; path: { /** @description The ID or Key of the customer request to be returned */ issueIdOrKey: string; }; }; responses: { /** @description Returns the customer request. */ 200: { content: { "application/json": components["schemas"]["CustomerRequestDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get approvals * @description This method returns all approvals on a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ getApprovals: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of approvals to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID or key of the customer request to be queried for its approvals. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the customer request's approvals. */ 200: { content: { "application/json": components["schemas"]["PagedDTOApprovalDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get approval by id * @description This method returns an approval. Use this method to determine the status of an approval and the list of approvers. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ getApprovalById: { parameters: { path: { /** @description The ID or key of the customer request the approval is on. */ issueIdOrKey: string; /** @description The ID of the approval to be returned. */ approvalId: number; }; }; responses: { /** @description Returns the requested approval. */ 200: { content: { "application/json": components["schemas"]["ApprovalDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request or approval do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Answer approval * @description This method enables a user to **Approve** or **Decline** an approval on a customer request. The approval is assumed to be owned by the user making the call. * * **[Permissions](#permissions) required**: User is assigned to the approval request. */ answerApproval: { parameters: { path: { /** @description The ID or key of the customer request to be updated. */ issueIdOrKey: string; /** @description The ID of the approval to be updated. */ approvalId: number; }; }; requestBody: { content: { /** * @example { * "decision": "approve" * } */ "application/json": components["schemas"]["ApprovalDecisionRequestDTO"]; }; }; responses: { /** @description Returns the updated approval. */ 200: { content: { "application/json": components["schemas"]["ApprovalDTO"]; }; }; /** @description Returned if the request is not valid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request or the approval do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer has already submitted a decision or the approval has already been completed. */ 409: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get attachments for request * @description This method returns all the attachments for a customer requests. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers will only get a list of public attachments. */ getAttachmentsForRequest: { parameters: { query: { /** @description The starting index of the returned attachment. Base index: 0. See the [Pagination](#pagination) section for more details. */ start: number; /** @description The maximum number of comments to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit: number; }; path: { /** @description The ID or key of the customer request from which the attachments will be listed. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the visible attachments from the customer request. */ 200: { content: { "application/json": components["schemas"]["PagedDTOAttachmentDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Create comment with attachment * @description This method creates a comment on a customer request using one or more attachment files (uploaded using [servicedeskapi/servicedesk/\{serviceDeskId\}/attachTemporaryFile](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-servicedesk/#api-rest-servicedeskapi-servicedesk-servicedeskid-attachtemporaryfile-post)), with the visibility set by `public`. See * * * GET [servicedeskapi/request/\{issueIdOrKey\}/attachment](./#api-rest-servicedeskapi-request-issueidorkey-attachment-get) * * GET [servicedeskapi/request/\{issueIdOrKey\}/comment/\{commentId\}/attachment](./#api-rest-servicedeskapi-request-issueidorkey-comment-commentid-attachment-get) * * **[Permissions](#permissions) required**: Permission to add an attachment. * * **Request limitations**: Customers can set public visibility only. */ createCommentWithAttachment: { parameters: { path: { /** @description The ID or key of the customer request to which the attachment will be added. */ issueIdOrKey: string; }; }; requestBody: { content: { /** * @example { * "additionalComment": { * "body": "Please find the screenshot and the log file attached." * }, * "public": true, * "temporaryAttachmentIds": [ * "temp910441317820424274", * "temp3600755449679003114" * ] * } */ "application/json": components["schemas"]["AttachmentCreateDTO"]; }; }; responses: { /** @description Returns the attachments and comment. */ 201: { content: { "application/json": components["schemas"]["AttachmentCreateResultDTO"]; }; }; /** @description Returned if the HTTP request is invalid, including missing the required `public` field or list of temporary file IDs, or if the temporary files have expired. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get attachment content * @description Returns the contents of an attachment. * * To return a thumbnail of the attachment, use [servicedeskapi/request/\{issueIdOrKey\}/attachment/\{attachmentId\}/thumbnail](./#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-thumbnail-get). * * **[Permissions](#permissions) required:** For the issue containing the attachment: * * * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. */ getAttachmentContent: { parameters: { path: { /** @description The ID or key for the customer request the attachment is associated with */ issueIdOrKey: string; /** @description The ID for the attachment */ attachmentId: number; }; }; responses: { /** @description 200 response */ 200: { content: { "application/json": unknown; }; }; /** @description Returned if the request is successful. See the `Location` header for the download URL. */ 303: { content: never; }; /** @description Returned if the authentication credentials are incorrect. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description The user does not have the necessary permission. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** * @description Returned if: * * * the attachment is not found. * * attachments are disabled in the Jira settings. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get attachment thumbnail * @description Returns the thumbnail of an attachment. * * To return the attachment contents, use [servicedeskapi/request/\{issueIdOrKey\}/attachment/\{attachmentId\}](#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-get). * * **[Permissions](#permissions) required:** For the issue containing the attachment: * * * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. */ getAttachmentThumbnail: { parameters: { path: { /** @description The ID or key for the customer request the attachment is associated with */ issueIdOrKey: string; /** @description The ID of the attachment. */ attachmentId: number; }; }; responses: { /** @description 200 response */ 200: { content: { "application/json": unknown; }; }; /** @description Returned if the request is successful. See the `Location` header for the download URL. */ 303: { content: never; }; /** @description Returned if the request is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the authentication credentials are incorrect. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description The user does not have the necessary permission. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** * @description Returned if: * * * the attachment is not found. * * attachments are disabled in the Jira settings. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get request comments * @description This method returns all comments on a customer request. No permissions error is provided if, for example, the user doesn't have access to the service desk or request, the method simply returns an empty response. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers are returned public comments only. */ getRequestComments: { parameters: { query?: { /** @description Specifies whether to return public comments or not. Default: true. */ public?: boolean; /** @description Specifies whether to return internal comments or not. Default: true. */ internal?: boolean; /** * @description A multi-value parameter indicating which properties of the comment to expand: * * * `attachment` returns the attachment details, if any, for each comment. (If you want to get all attachments for a request, use [servicedeskapi/request/\{issueIdOrKey\}/attachment](#api-request-issueIdOrKey-attachment-get).) * * `renderedBody` (Experimental) returns the rendered body in HTML format (in addition to the raw body) for each comment. */ expand?: string[]; /** @description The starting index of the returned comments. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of comments to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID or key of the customer request whose comments will be retrieved. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the comments, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOCommentDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Create request comment * @description This method creates a public or private (internal) comment on a customer request, with the comment visibility set by `public`. The user recorded as the author of the comment. * * **[Permissions](#permissions) required**: User has Add Comments permission. * * **Request limitations**: Customers can set comments to public visibility only. */ createRequestComment: { parameters: { path: { /** @description The ID or key of the customer request to which the comment will be added. */ issueIdOrKey: string; }; }; requestBody: { content: { /** * @example { * "body": "Hello there", * "public": true * } */ "application/json": components["schemas"]["CommentCreateDTO"]; }; }; responses: { /** @description Returns the comment. */ 201: { content: { "application/json": components["schemas"]["CommentDTO"]; }; }; /** @description Returned if the HTTP request is invalid, e.g. missing the required `public`. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get request comment by id * @description This method returns details of a customer request's comment. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers can only view public comments on requests where they are the reporter or a participant whereas agents can see both internal and public comments. */ getRequestCommentById: { parameters: { query?: { /** * @description A multi-value parameter indicating which properties of the comment to expand: * * * `attachment` returns the attachment details, if any, for the comment. (If you want to get all attachments for a request, use [servicedeskapi/request/\{issueIdOrKey\}/attachment](#api-request-issueIdOrKey-attachment-get).) * * `renderedBody` (Experimental) returns the rendered body in HTML format (in addition to the raw body) of the comment. */ expand?: string[]; }; path: { /** @description The ID or key of the customer request that contains the comment. */ issueIdOrKey: string; /** @description The ID of the comment to retrieve. */ commentId: number; }; }; responses: { /** @description Returns the comment. */ 200: { content: { "application/json": components["schemas"]["CommentDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request or comment do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get comment attachments * @description This method returns the attachments referenced in a comment. * * **[Permissions](#permissions) required**: Permission to view the customer request. * * **Response limitations**: Customers can only view public comments, and retrieve their attachments, on requests where they are the reporter or a participant whereas agents can see both internal and public comments. */ getCommentAttachments: { parameters: { query?: { /** @description The starting index of the returned comments. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of comments to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID or key of the customer request that contains the comment. */ issueIdOrKey: string; /** @description The ID of the comment. */ commentId: number; }; }; responses: { /** @description Returns the attachments, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOAttachmentDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request or the comment do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get subscription status * @description This method returns the notification subscription status of the user making the request. Use this method to determine if the user is subscribed to a customer request's notifications. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ getSubscriptionStatus: { parameters: { path: { /** @description The ID or key of the customer request to be queried for subscription status. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the status of the notification subscription. */ 200: { content: { "application/json": components["schemas"]["RequestNotificationSubscriptionDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Subscribe * @description This method subscribes the user to receiving notifications from a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ subscribe: { parameters: { path: { /** @description The ID or key of the customer request to be subscribed to. */ issueIdOrKey: string; }; }; responses: { /** @description Returns if the user was subscribed. */ 204: { content: never; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Unsubscribe * @description This method unsubscribes the user from notifications from a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ unsubscribe: { parameters: { path: { /** @description The ID or key of the customer request to be unsubscribed from. */ issueIdOrKey: string; }; }; responses: { /** @description Returns if the user was unsubscribed. */ 204: { content: never; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get request participants * @description This method returns a list of all the participants on a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ getRequestParticipants: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of request types to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID or key of the customer request to be queried for its participants. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the customer request's participants, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOUserDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Add request participants * @description This method adds participants to a customer request. * * **[Permissions](#permissions) required**: Permission to manage participants on the customer request. * * Note, participants can be added when creating a customer request using the [request](#api-request-post) resource, by defining the participants in the `requestParticipants` field. */ addRequestParticipants: { parameters: { path: { /** @description The ID or key of the customer request to have participants added. */ issueIdOrKey: string; }; }; requestBody: { content: { /** * @example { * "accountIds": [], * "usernames": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ] * } */ "application/json": components["schemas"]["RequestParticipantUpdateDTO"]; }; }; responses: { /** @description Returns the participants added to the customer request. */ 200: { content: { "application/json": components["schemas"]["PagedDTOUserDTO"]; }; }; /** @description Returned if any user to be added as a participant does not exist. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Remove request participants * @description This method removes participants from a customer request. * * **[Permissions](#permissions) required**: Permission to manage participants on the customer request. */ removeRequestParticipants: { parameters: { path: { /** @description The ID or key of the customer request to have participants removed. */ issueIdOrKey: string; }; }; requestBody: { content: { /** * @example { * "accountIds": [], * "usernames": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ] * } */ "application/json": components["schemas"]["RequestParticipantUpdateDTO"]; }; }; responses: { /** @description Returns the first page of the customer request's participants (after removal of the users). */ 200: { content: { "application/json": components["schemas"]["PagedDTOUserDTO"]; }; }; /** @description Returned if any user to be removed as a participant does not exist, is not a participant in the customer request, or is the reporter of the request. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get sla information * @description This method returns all the SLA records on a customer request. A customer request can have zero or more SLAs. Each SLA can have recordings for zero or more "completed cycles" and zero or 1 "ongoing cycle". Each cycle includes information on when it started and stopped, and whether it breached the SLA goal. * * **[Permissions](#permissions) required**: Agent for the Service Desk containing the queried customer request. */ getSlaInformation: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of request types to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID or key of the customer request whose SLAs will be retrieved. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the SLA records on the customer request, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOSlaInformationDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get sla information by id * @description This method returns the details for an SLA on a customer request. * * **[Permissions](#permissions) required**: Agent for the Service Desk containing the queried customer request. */ getSlaInformationById: { parameters: { path: { /** @description The ID or key of the customer request whose SLAs will be retrieved. */ issueIdOrKey: string; /** @description The ID or key of the SLAs metric to be retrieved. */ slaMetricId: number; }; }; responses: { /** @description Returns the SLA record, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["SlaInformationDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get customer request status * @description This method returns a list of all the statuses a customer Request has achieved. A status represents the state of an issue in its workflow. An issue can have one active status only. The list returns the status history in chronological order, most recent (current) status first. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ getCustomerRequestStatus: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID or key of the customer request to be retrieved. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the customer request's status history, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOCustomerRequestStatusDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request is not found. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get customer transitions * @description This method returns a list of transitions, the workflow processes that moves a customer request from one status to another, that the user can perform on a request. Use this method to provide a user with a list if the actions they can take on a customer request. * * **[Permissions](#permissions) required**: Permission to view the customer request. */ getCustomerTransitions: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID or key of the customer request whose transitions will be retrieved. */ issueIdOrKey: string; }; }; responses: { /** @description Returns the transitions available to the user on the customer request. */ 200: { content: { "application/json": components["schemas"]["PagedDTOCustomerTransitionDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Perform customer transition * @description This method performs a customer transition for a given request and transition. An optional comment can be included to provide a reason for the transition. * * **[Permissions](#permissions) required**: The user must be able to view the request and have the Transition Issues permission. If a comment is passed the user must have the Add Comments permission. */ performCustomerTransition: { parameters: { path: { /** @description ID or key of the issue to transition */ issueIdOrKey: string; }; }; requestBody: { content: { /** * @example { * "additionalComment": { * "body": "I have fixed the problem." * }, * "id": "1" * } */ "application/json": components["schemas"]["CustomerTransitionExecutionDTO"]; }; }; responses: { /** @description Returned if the request is transitioned. */ 204: { content: never; }; /** @description Returned if the transition ID is invalid or the comment is too long. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get feedback * @description This method retrieves a feedback of a request using it's `requestKey` or `requestId` * * **[Permissions](#permissions) required**: User has view request permissions. */ getFeedback: { parameters: { path: { /** @description The id or the key of the request to post the feedback on */ requestIdOrKey: string; }; }; responses: { /** @description Returns the comment. */ 200: { content: { "application/json": components["schemas"]["CSATFeedbackFullDTO"]; }; }; /** @description Returned if the HTTP request is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if no logged in user/app. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user/app does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Post feedback * @description This method adds a feedback on an request using it's `requestKey` or `requestId` * * **[Permissions](#permissions) required**: User must be the reporter or an Atlassian Connect app. */ postFeedback: { parameters: { path: { /** @description The id or the key of the request to post the feedback on */ requestIdOrKey: string; }; }; /** @description The feedback to be added on the request */ requestBody: { content: { /** * @example { * "comment": { * "body": "Great work!" * }, * "rating": 4, * "type": "csat" * } */ "application/json": components["schemas"]["CSATFeedbackFullDTO"]; }; }; responses: { /** @description Returns the comment. */ 201: { content: { "application/json": components["schemas"]["CSATFeedbackFullDTO"]; }; }; /** @description Returned if the HTTP request is invalid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if no logged in user/app. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user/app does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Delete feedback * @description This method deletes the feedback of request using it's `requestKey` or `requestId` * * **[Permissions](#permissions) required**: User must be the reporter or an Atlassian Connect app. */ deleteFeedback: { parameters: { path: { /** @description The id or the key of the request to post the feedback on */ requestIdOrKey: string; }; }; responses: { /** @description No content. */ 204: { content: { "application/json": unknown; }; }; /** @description Returned if no logged in user/app. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user/app does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the customer request does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get all request types * @description This method returns all customer request types used in the Jira Service Management instance, optionally filtered by a query string. * * Use [servicedeskapi/servicedesk/\{serviceDeskId\}/requesttype](#api-servicedesk-serviceDeskId-requesttype-get) to find the customer request types supported by a specific service desk. * * The returned list of customer request types can be filtered using the `query` parameter. The parameter is matched against the customer request types' `name` or `description`. For example, searching for "Install", "Inst", "Equi", or "Equipment" will match a customer request type with the *name* "Equipment Installation Request". * * **Note:** This API will filter out hidden request types (aka.request types without groups) when `query` is provided. * * **[Permissions](#permissions) required**: Any */ getAllRequestTypes: { parameters: { query?: { /** @description String to be used to filter the results. */ searchQuery?: string; /** @description Filter the request types by service desk Ids provided. Multiple values of the query parameter are supported. For example, `serviceDeskId=1&serviceDeskId=2` will return request types only for service desks 1 and 2. */ serviceDeskId?: number[]; /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; expand?: string[]; }; }; responses: { /** @description Returns the request types, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTORequestTypeDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get service desks * @description This method returns all the service desks in the Jira Service Management instance that the user has permission to access. Use this method where you need a list of service desks or need to locate a service desk by name or keyword. * * **Note:** This method will be slow if the instance has hundreds of service desks. If you want to fetch a single service desk by its ID, use [/rest/servicedeskapi/servicedesk/\{serviceDeskId\}](./#api-rest-servicedeskapi-servicedesk-servicedeskid-get) instead. * * **[Permissions](#permissions) required**: Any */ getServiceDesks: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; }; responses: { /** @description Returns the service desks, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOServiceDeskDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get service desk by id * @description This method returns a service desk. Use this method to get service desk details whenever your application component is passed a service desk ID but needs to display other service desk details. * * **[Permissions](#permissions) required**: Permission to access the Service Desk. For example, being the Service Desk's Administrator or one of its Agents or Users. */ getServiceDeskById: { parameters: { path: { /** @description The ID of the service desk to return. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; responses: { /** @description Returns the requested service desk. */ 200: { content: { "application/json": components["schemas"]["ServiceDeskDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Attach temporary file * @description This method adds one or more temporary attachments to a service desk, which can then be permanently attached to a customer request using [servicedeskapi/request/\{issueIdOrKey\}/attachment](#api-request-issueIdOrKey-attachment-post). * * **Note**: It is possible for a service desk administrator to turn off the ability to add attachments to a service desk. * * This method expects a multipart request. The media-type multipart/form-data is defined in RFC 1867. Most client libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components library provides [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html). * * Because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of X-Atlassian-Token: no-check with the request or it will be blocked. * * The name of the multipart/form-data parameter that contains the attachments must be `file`. * * For example, to upload a file called `myfile.txt` in the Service Desk with ID 10001 use * * curl -D- -u customer:customer -X POST -H "X-ExperimentalApi: opt-in" -H "X-Atlassian-Token: no-check" -F "file=@myfile.txt" https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/10001/attachTemporaryFile * * **[Permissions](#permissions) required**: Permission to add attachments in this Service Desk. */ attachTemporaryFile: { parameters: { path: { /** @description The ID of the Service Desk to which the file will be attached. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; requestBody: { content: { "multipart/form-data": components["schemas"]["MultipartFile"][]; }; }; responses: { /** @description Returns if the file(s) were attached. */ 201: { content: { "application/json": unknown; }; }; /** @description Returned if the attachments are not valid, or exceed the maximum configured attachment size. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if more than 60 files are requested to be uploaded. */ 413: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get customers * @description This method returns a list of the customers on a service desk. * * The returned list of customers can be filtered using the `query` parameter. The parameter is matched against customers' `displayName`, `name`, or `email`. For example, searching for "John", "Jo", "Smi", or "Smith" will match a user with display name "John Smith". * * **[Permissions](#permissions) required**: Permission to view this Service Desk's customers. */ getCustomers: { parameters: { query?: { /** @description The string used to filter the customer list. */ query?: string; /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of users to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID of the service desk the customer list should be returned from. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; responses: { /** @description Returns the service desk's customer list. */ 200: { content: { "application/json": components["schemas"]["PagedDTOUserDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Add customers * @description Adds one or more customers to a service desk. If any of the passed customers are associated with the service desk, no changes will be made for those customers and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Service desk administrator */ addCustomers: { parameters: { path: { /** @description The ID of the service desk the customer list should be returned from. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; requestBody: { content: { /** * @example { * "accountIds": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ], * "usernames": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ] * } */ "application/json": components["schemas"]["ServiceDeskCustomerDTO"]; }; }; responses: { /** @description Returned if all the customers were added to the service desk or were already associated with the service desk. */ 204: { content: never; }; /** @description Returned if any of the customers do not exist. Note that any valid customers are added, but no confirmation is returned. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Remove customers * @description This method removes one or more customers from a service desk. The service desk must have closed access. If any of the passed customers are not associated with the service desk, no changes will be made for those customers and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Services desk administrator */ removeCustomers: { parameters: { path: { /** @description The ID of the service desk the customers should be removed from. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; requestBody: { content: { /** * @example { * "accountIds": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ], * "usernames": [ * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3a01db05e2a66fa80bd", * "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d69abfa3980ce712caae" * ] * } */ "application/json": components["schemas"]["ServiceDeskCustomerDTO"]; }; }; responses: { /** @description Returned if the customers were removed from the service desk, or any of the customers were not associated with the service desk. */ 204: { content: never; }; /** @description Returned if the service desk has public signup or open access enabled. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Add organization * @description This method adds an organization to a service desk. If the organization ID is already associated with the service desk, no change is made and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Service desk's agent. */ addOrganization: { parameters: { path: { /** @description The ID of the service desk to which the organization will be added. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; requestBody: { content: { /** * @example { * "organizationId": 1 * } */ "application/json": components["schemas"]["OrganizationServiceDeskUpdateDTO"]; }; }; responses: { /** @description Returned if the organization was added or the organization was already associated with the service desk. */ 204: { content: never; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk or organization do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Remove organization * @description This method removes an organization from a service desk. If the organization ID does not match an organization associated with the service desk, no change is made and the resource returns a 204 success code. * * **[Permissions](#permissions) required**: Service desk's agent. */ removeOrganization: { parameters: { path: { /** @description The ID of the service desk from which the organization will be removed. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; requestBody: { content: { /** * @example { * "organizationId": 1 * } */ "application/json": components["schemas"]["OrganizationServiceDeskUpdateDTO"]; }; }; responses: { /** @description Returned if the organization was removed from the service desk or no such organization was associated with the service desk. */ 204: { content: never; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk or organization do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get queues * @description This method returns the queues in a service desk. To include a customer request count for each queue (in the `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false). * * **[Permissions](#permissions) required**: service desk's Agent. */ getQueues: { parameters: { query?: { /** @description Specifies whether to include each queue's customer request (issue) count in the response. */ includeCount?: boolean; /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description ID of the service desk whose queues will be returned. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; responses: { /** @description Returns the queues of the service desk, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOQueueDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get queue * @description This method returns a specific queues in a service desk. To include a customer request count for the queue (in the `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false). * * **[Permissions](#permissions) required**: service desk's Agent. */ getQueue: { parameters: { query?: { /** @description Specifies whether to include each queue's customer request (issue) count in the response. */ includeCount?: boolean; }; path: { /** @description ID of the service desk whose queues will be returned. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; /** @description ID of the required queue. */ queueId: number; }; }; responses: { /** @description Returns the specific queue of the service desk. */ 200: { content: { "application/json": components["schemas"]["QueueDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get issues in queue * @description This method returns the customer requests in a queue. Only fields that the queue is configured to show are returned. For example, if a queue is configured to show description and due date, then only those two fields are returned for each customer request in the queue. * * **[Permissions](#permissions) required**: Service desk's agent. */ getIssuesInQueue: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID of the service desk containing the queue to be queried. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; /** @description The ID of the queue whose customer requests will be returned. */ queueId: number; }; }; responses: { /** @description Returns the customer requests belonging to the queue, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTOIssueBean"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk or the queue do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get request types * @description This method returns all customer request types from a service desk. There are two parameters for filtering the returned list: * * * `groupId` which filters the results to items in the customer request type group. * * `searchQuery` which is matched against request types' `name` or `description`. For example, the strings "Install", "Inst", "Equi", or "Equipment" will match a request type with the *name* "Equipment Installation Request". * * **Note:** This API by default will filter out hidden request types (aka.request types without groups) when `searchQuery` is provided, unless `includeHiddenRequestTypesInSearch` is set to true. * * **[Permissions](#permissions) required**: Permission to access the service desk. */ getRequestTypes: { parameters: { query?: { /** @description Filters results to those in a customer request type group. */ groupId?: number; expand?: string[]; /** @description The string to be used to filter the results. */ searchQuery?: string; /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; /** @description Whether to include hidden request types when searching with `searchQuery`. Default: false */ includeHiddenRequestTypesInSearch?: boolean; }; path: { /** @description The ID of the service desk whose customer request types are to be returned. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; responses: { /** @description Returns the requested customer request types, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTORequestTypeDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Create request type * @description This method enables a customer request type to be added to a service desk based on an issue type. Note that not all customer request type fields can be specified in the request and these fields are given the following default values: * * * Request type icon is given the headset icon. * * Request type groups is left empty, which means this customer request type will not be visible on the [customer portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html). * * Request type status mapping is left empty, so the request type has no custom status mapping but inherits the status map from the issue type upon which it is based. * * Request type field mapping is set to show the required fields as specified by the issue type used to create the customer request type. * * * These fields can be updated by a service desk administrator using the **Request types** option in **Project settings**. * Request Types are created in next-gen projects by creating Issue Types. Please use the Jira Cloud Platform Create issue type endpoint instead. * * **[Permissions](#permissions) required**: Service desk's administrator */ createRequestType: { parameters: { path: { /** @description The ID of the service desk where the customer request type is to be created. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; requestBody: { content: { /** * @example { * "description": "Get IT Help", * "helpText": "Please tell us clearly the problem you have within 100 words.", * "issueTypeId": "12345", * "name": "Get IT Help" * } */ "application/json": components["schemas"]["RequestTypeCreateDTO"]; }; }; responses: { /** @description Returns the customer request type created. */ 200: { content: { "application/json": components["schemas"]["RequestTypeDTO"]; }; }; /** @description Returned if the customer request type name is empty. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk or issue type do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get request type by id * @description This method returns a customer request type from a service desk. * * This operation can be accessed anonymously. * * **[Permissions](#permissions) required**: Permission to access the service desk. */ getRequestTypeById: { parameters: { query?: { expand?: string[]; }; path: { /** @description The ID of the service desk whose customer request type is to be returned. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; /** @description The ID of the customer request type to be returned. */ requestTypeId: string; }; }; responses: { /** @description Returns the customer request type item. */ 200: { content: { "application/json": components["schemas"]["RequestTypeDTO"]; }; }; /** @description Returned if the user credentials are invalid. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk or customer request type do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Delete request type * @description This method deletes a customer request type from a service desk, and removes it from all customer requests. * This only supports classic projects. * * **[Permissions](#permissions) required**: Service desk administrator. */ deleteRequestType: { parameters: { path: { /** @description The ID or [project identifier](#project-identifiers) of the service desk. */ serviceDeskId: string; /** @description The ID of the request type. */ requestTypeId: number; }; }; responses: { /** @description Returned if the request type is deleted. */ 204: { content: never; }; /** @description Returned if the request type ID is not valid. */ 400: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have the necessary permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk or request type do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get request type fields * @description This method returns the fields for a service desk's customer request type. * * Also, the following information about the user's permissions for the request type is returned: * * * `canRaiseOnBehalfOf` returns `true` if the user has permission to raise customer requests on behalf of other customers. Otherwise, returns `false`. * * `canAddRequestParticipants` returns `true` if the user can add customer request participants. Otherwise, returns `false`. * * **[Permissions](#permissions) required**: Permission to view the Service Desk. However, hidden fields would be visible to only Service desk's Administrator. */ getRequestTypeFields: { parameters: { query?: { /** @description Use [expand](#expansion) to include additional information in the response. This parameter accepts `hiddenFields` that returns hidden fields associated with the request type. */ expand?: string[]; }; path: { /** @description The ID of the service desk containing the request types whose fields are to be returned. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; /** @description The ID of the request types whose fields are to be returned. */ requestTypeId: number; }; }; responses: { /** @description Returns the request type's fields and user permission details, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["CustomerRequestCreateMetaDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk or request type do not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; /** * Get request type groups * @description This method returns a service desk's customer request type groups. Jira Service Management administrators can arrange the customer request type groups in an arbitrary order for display on the customer portal; the groups are returned in this order. * * **[Permissions](#permissions) required**: Permission to view the service desk. */ getRequestTypeGroups: { parameters: { query?: { /** @description The starting index of the returned objects. Base index: 0. See the [Pagination](#pagination) section for more details. */ start?: number; /** @description The maximum number of items to return per page. Default: 50. See the [Pagination](#pagination) section for more details. */ limit?: number; }; path: { /** @description The ID of the service desk whose customer request type groups are to be returned. This can alternatively be a [project identifier.](#project-identifiers) */ serviceDeskId: string; }; }; responses: { /** @description Returns the service desk's customer request type groups, on the specified page of the results. */ 200: { content: { "application/json": components["schemas"]["PagedDTORequestTypeGroupDTO"]; }; }; /** @description Returned if the user is not logged in. */ 401: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the user does not have permission to complete this request. */ 403: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Returned if the service desk does not exist. */ 404: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Internal Server Error. */ 500: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; }; }