openapi: 3.1.0
info:
title: Atlassian Admin Account Issue Attachments API
description: The Atlassian Admin API provides programmatic access to manage Atlassian organizations, users, domains, policies, and events. It enables administrators to automate organization management tasks, integrate with identity providers, and ensure appropriate access to Atlassian products.
version: 1.0.0
contact:
name: Atlassian Developer
url: https://developer.atlassian.com/cloud/admin/
license:
name: Atlassian Developer Terms
url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
x-logo:
url: https://wac-cdn.atlassian.com/assets/img/favicons/atlassian/favicon.png
servers:
- url: https://api.atlassian.com
description: Atlassian Cloud API
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Issue Attachments
paths:
/rest/api/3/attachment/content/{id}:
get:
deprecated: false
description: Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) for details.
To return a thumbnail of the attachment, use [Get attachment thumbnail](#api-rest-api-3-attachment-thumbnail-id-get).
This operation can be accessed anonymously.
**[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.
operationId: atlassianGetattachmentcontent
parameters:
- description: The ID of the attachment.
in: path
name: id
required: true
schema:
type: string
- description: Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to `false` to avoid making multiple requests to download the attachment.
in: query
name: redirect
schema:
default: true
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StreamingResponseBody'
description: Returned if the request is successful when `redirect` is set to `false`.
'206':
description: Returned if the request is successful when a `Range` header is provided and `redirect` is set to `false`.
'303':
description: Returned if the request is successful. See the `Location` header for the download URL.
'400':
description: Returned if the range supplied in the `Range` header is malformed.
'401':
description: Returned if the authentication credentials are incorrect.
'403':
description: The user does not have the necessary permission.
'404':
description: "Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."
'416':
description: Returned if the server is unable to satisfy the range of bytes provided.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Attachment Content
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:attachment:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/attachment/meta:
get:
deprecated: false
description: Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.
Note that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.
This operation can be accessed anonymously.
**[Permissions](#permissions) required:** None.
operationId: atlassianGetattachmentmeta
parameters: []
responses:
'200':
content:
application/json:
example: '{"enabled":true,"uploadLimit":1000000}'
schema:
$ref: '#/components/schemas/AttachmentSettings'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Jira Attachment Settings
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:instance-configuration:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/attachment/thumbnail/{id}:
get:
deprecated: false
description: Returns the thumbnail of an attachment.
To return the attachment contents, use [Get attachment content](#api-rest-api-3-attachment-content-id-get).
This operation can be accessed anonymously.
**[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.
operationId: atlassianGetattachmentthumbnail
parameters:
- description: The ID of the attachment.
in: path
name: id
required: true
schema:
type: string
- description: Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to `false` to avoid making multiple requests to download the attachment.
in: query
name: redirect
schema:
default: true
type: boolean
- description: Whether a default thumbnail is returned when the requested thumbnail is not found.
in: query
name: fallbackToDefault
schema:
default: true
type: boolean
- description: The maximum width to scale the thumbnail to.
in: query
name: width
schema:
format: int32
type: integer
- description: The maximum height to scale the thumbnail to.
in: query
name: height
schema:
format: int32
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StreamingResponseBody'
description: Returned if the request is successful when `redirect` is set to `false`.
'303':
description: Returned if the request is successful. See the `Location` header for the download URL.
'400':
description: Returned if the request is invalid.
'401':
description: Returned if the authentication credentials are incorrect.
'403':
description: The user does not have the necessary permission.
'404':
description: "Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings.\n * `fallbackToDefault` is `false` and the request thumbnail cannot be downloaded."
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Attachment Thumbnail
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:attachment:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/attachment/{id}:
delete:
deprecated: false
description: Deletes an attachment from an issue.
This operation can be accessed anonymously.
**[Permissions](#permissions) required:** For the project holding the issue containing the attachment:
* *Delete own attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by the calling user.
* *Delete all attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by any user.
operationId: atlassianRemoveattachment
parameters:
- description: The ID of the attachment.
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Returned if the request is successful.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: "Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."
security:
- basicAuth: []
- OAuth2:
- write:jira-work
- {}
summary: Atlassian Delete Attachment
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- write:jira-work
state: Current
- scheme: OAuth2
scopes:
- delete:attachment:jira
state: Beta
x-atlassian-connect-scope: DELETE
get:
deprecated: false
description: Returns the metadata for an attachment. Note that the attachment itself is not returned.
This operation can be accessed anonymously.
**[Permissions](#permissions) required:**
* *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.
operationId: atlassianGetattachment
parameters:
- description: The ID of the attachment.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: '{"author":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia Krystof","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"content":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10000","created":"2022-10-06T07:32:47.000+0000","filename":"picture.jpg","id":10000,"mimeType":"image/jpeg","self":"https://your-domain.atlassian.net/rest/api/3/attachments/10000","size":23123,"thumbnail":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/thumbnail/10000"}'
schema:
$ref: '#/components/schemas/AttachmentMetadata'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: "Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Attachment Metadata
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:attachment:jira
- read:user:jira
- read:application-role:jira
- read:avatar:jira
- read:group:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/attachment/{id}/expand/human:
get:
deprecated: false
description: Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.
Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.
This operation can be accessed anonymously.
**[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.
operationId: atlassianExpandattachmentforhumans
parameters:
- description: The ID of the attachment.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: '{"entries":[{"index":0,"label":"MG00N067.JPG","mediaType":"image/jpeg","path":"MG00N067.JPG","size":"119 kB"},{"index":1,"label":"Allegro from Duet in C Major.mp3","mediaType":"audio/mpeg","path":"Allegro from Duet in C Major.mp3","size":"1.36 MB"},{"index":2,"label":"long/path/thanks/to/.../reach/the/leaf.txt","mediaType":"text/plain","path":"long/path/thanks/to/lots/of/subdirectories/inside/making/it/quite/hard/to/reach/the/leaf.txt","size":"0.0 k"}],"id":7237823,"mediaType":"application/zip","name":"images.zip","totalEntryCount":39}'
schema:
$ref: '#/components/schemas/AttachmentArchiveMetadataReadable'
description: Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: The user does not have the necessary permission.
'404':
description: "Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."
'409':
description: Returned if the attachment is an archive, but not a supported archive format.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get All Metadata For An Expanded Attachment
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:attachment:jira
state: Beta
x-experimental: true
x-atlassian-connect-scope: READ
/rest/api/3/attachment/{id}/expand/raw:
get:
deprecated: false
description: Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.
Use this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.
This operation can be accessed anonymously.
**[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.
operationId: atlassianExpandattachmentformachines
parameters:
- description: The ID of the attachment.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: '{"entries":[{"entryIndex":0,"mediaType":"audio/mpeg","name":"Allegro from Duet in C Major.mp3","size":1430174},{"entryIndex":1,"mediaType":"text/rtf","name":"lrm.rtf","size":331}],"totalEntryCount":24}'
schema:
$ref: '#/components/schemas/AttachmentArchiveImpl'
description: Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: The user does not have the necessary permission.
'404':
description: "Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."
'409':
description: Returned if the attachment is an archive, but not a supported archive format.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
- {}
summary: Atlassian Get Contents Metadata For An Expanded Attachment
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:attachment:jira
state: Beta
x-experimental: true
x-atlassian-connect-scope: READ
/rest/api/3/issue/{issueIdOrKey}/attachments:
post:
deprecated: false
description: 'Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)).
Note that:
* The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information.
* The name of the multipart/form-data parameter that contains the attachments must be `file`.
The following examples upload a file called *myfile.txt* to the issue *TEST-123*:
#### curl ####
curl --location --request POST ''https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments''
-u ''email@example.com:''
-H ''X-Atlassian-Token: no-check''
--form ''file=@"myfile.txt"''
#### Node.js ####
// This code sample uses the ''node-fetch'' and ''form-data'' libraries:
// https://www.npmjs.com/package/node-fetch
// https://www.npmjs.com/package/form-data
const fetch = require(''node-fetch'');
const FormData = require(''form-data'');
const fs = require(''fs'');
const filePath = ''myfile.txt'';
const form = new FormData();
const stats = fs.statSync(filePath);
const fileSizeInBytes = stats.size;
const fileStream = fs.createReadStream(filePath);
form.append(''file'', fileStream, {knownLength: fileSizeInBytes});
fetch(''https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments'', {
method: ''POST'',
body: form,
headers: {
''Authorization'': `Basic ${Buffer.from(
''email@example.com:''
).toString(''base64'')}`,
''Accept'': ''application/json'',
''X-Atlassian-Token'': ''no-check''
}
})
.then(response => {
console.log(
`Response: ${response.status} ${response.statusText}`
);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));
#### Java ####
// This code sample uses the ''Unirest'' library:
// http://unirest.io/java.html
HttpResponse response = Unirest.post("https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments")
.basicAuth("email@example.com", "")
.header("Accept", "application/json")
.header("X-Atlassian-Token", "no-check")
.field("file", new File("myfile.txt"))
.asJson();
System.out.println(response.getBody());
#### Python ####
# This code sample uses the ''requests'' library:
# http://docs.python-requests.org
import requests
from requests.auth import HTTPBasicAuth
import json
url = "https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments"
auth = HTTPBasicAuth("email@example.com", "")
headers = {
"Accept": "application/json",
"X-Atlassian-Token": "no-check"
}
response = requests.request(
"POST",
url,
headers = headers,
auth = auth,
files = {
"file": ("myfile.txt", open("myfile.txt","rb"), "application-type")
}
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
#### PHP ####
// This code sample uses the ''Unirest'' library:
// http://unirest.io/php.html
Unirest\Request::auth(''email@example.com'', '''');
$headers = array(
''Accept'' => ''application/json'',
''X-Atlassian-Token'' => ''no-check''
);
$parameters = array(
''file'' => File::add(''myfile.txt'')
);
$response = Unirest\Request::post(
''https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments'',
$headers,
$parameters
);
var_dump($response)
#### Forge ####
// This sample uses Atlassian Forge and the `form-data` library.
// https://developer.atlassian.com/platform/forge/
// https://www.npmjs.com/package/form-data
import api from "@forge/api";
import FormData from "form-data";
const form = new FormData();
form.append(''file'', fileStream, {knownLength: fileSizeInBytes});
const response = await api.asApp().requestJira(''/rest/api/2/issue/{issueIdOrKey}/attachments'', {
method: ''POST'',
body: form,
headers: {
''Accept'': ''application/json'',
''X-Atlassian-Token'': ''no-check''
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations.
This operation can be accessed anonymously.
**[Permissions](#permissions) required:**
* *Browse Projects* and *Create attachments* [ 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.'
operationId: atlassianAddattachment
parameters:
- description: The ID or key of the issue that attachments are added to.
in: path
name: issueIdOrKey
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
items:
$ref: '#/components/schemas/MultipartFile'
type: array
required: true
responses:
'200':
content:
application/json:
example: '[{"author":{"accountId":"5b10a2844c20165700ede21g","active":true,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia Krystof","emailAddress":"mia@example.com","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","timeZone":"Australia/Sydney"},"content":"https://your-domain.atlassian.net/rest/api/3/attachment/content/10000","created":1651316514000,"filename":"picture.jpg","id":"10001","mimeType":"image/jpeg","self":"https://your-domain.atlassian.net/rest/api/3/attachments/10000","size":23123,"thumbnail":"https://your-domain.atlassian.net/rest/api/3/attachment/thumbnail/10000"},{"author":{"accountId":"5b10a2844c20165700ede21g","active":true,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia Krystof","emailAddress":"mia@example.com","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","timeZone":"Australia/Sydney"},"content":"https://your-domain.atlassian.net/rest/api/3/attachment/content/10001","created":1658898511000,"filename":"dbeuglog.txt","mimeType":"text/plain","self":"https://your-domain.atlassian.net/rest/api/3/attachments/10001","size":2460}]'
schema:
items:
$ref: '#/components/schemas/Attachment'
type: array
description: Returned if the request is successful.
'403':
description: Returned if the user does not have the necessary permission.
'404':
description: "Returned if any of the following is true:\n\n * the issue is not found.\n * the user does not have permission to view the issue."
'413':
description: The attachments exceed the maximum attachment size for issues, or more than 60 files are requested to be uploaded. See [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM) for details.
security:
- basicAuth: []
- OAuth2:
- write:jira-work
- {}
summary: Atlassian Add Attachment
tags:
- Issue Attachments
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- write:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:user:jira
- write:attachment:jira
- read:attachment:jira
- read:avatar:jira
state: Beta
x-atlassian-connect-scope: WRITE
components:
schemas:
AttachmentSettings:
additionalProperties: false
description: Details of the instance's attachment settings.
properties:
enabled:
description: Whether the ability to add attachments is enabled.
readOnly: true
type: boolean
uploadLimit:
description: The maximum size of attachments permitted, in bytes.
format: int64
readOnly: true
type: integer
type: object
GroupName:
additionalProperties: false
description: Details about a group.
properties:
groupId:
description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
nullable: true
type: string
name:
description: The name of group.
type: string
self:
description: The URL for these group details.
format: uri
readOnly: true
type: string
type: object
UserDetails:
additionalProperties: false
description: "User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * 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).\n * 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.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values."
properties:
accountId:
description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
maxLength: 128
type: string
accountType:
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)
readOnly: true
type: string
active:
description: Whether the user is active.
readOnly: true
type: boolean
avatarUrls:
allOf:
- $ref: '#/components/schemas/AvatarUrlsBean'
description: The avatars of the user.
readOnly: true
displayName:
description: The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.
readOnly: true
type: string
emailAddress:
description: The email address of the user. Depending on the user’s privacy settings, this may be returned as null.
readOnly: true
type: string
key:
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.
readOnly: true
type: string
name:
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.
readOnly: true
type: string
self:
description: The URL of the user.
readOnly: true
type: string
timeZone:
description: The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.
readOnly: true
type: string
type: object
ListWrapperCallbackApplicationRole:
additionalProperties: false
type: object
AttachmentArchiveItemReadable:
additionalProperties: false
description: Metadata for an item in an attachment archive.
properties:
index:
description: The position of the item within the archive.
format: int64
readOnly: true
type: integer
label:
description: The label for the archive item.
readOnly: true
type: string
mediaType:
description: The MIME type of the archive item.
readOnly: true
type: string
path:
description: The path of the archive item.
readOnly: true
type: string
size:
description: The size of the archive item.
readOnly: true
type: string
type: object
StreamingResponseBody:
additionalProperties: false
type: object
Resource:
additionalProperties: false
properties:
description:
type: string
file:
format: binary
type: string
filename:
type: string
inputStream:
type: object
open:
type: boolean
readable:
type: boolean
uri:
format: uri
type: string
url:
format: url
type: string
type: object
AttachmentArchiveEntry:
additionalProperties: false
properties:
abbreviatedName:
type: string
entryIndex:
format: int64
type: integer
mediaType:
type: string
name:
type: string
size:
format: int64
type: integer
type: object
ListWrapperCallbackGroupName:
additionalProperties: false
type: object
AttachmentMetadata:
additionalProperties: false
description: Metadata for an issue attachment.
properties:
author:
allOf:
- $ref: '#/components/schemas/User'
description: Details of the user who attached the file.
readOnly: true
content:
description: The URL of the attachment.
readOnly: true
type: string
created:
description: The datetime the attachment was created.
format: date-time
readOnly: true
type: string
filename:
description: The name of the attachment file.
readOnly: true
type: string
id:
description: The ID of the attachment.
format: int64
readOnly: true
type: integer
mimeType:
description: The MIME type of the attachment.
readOnly: true
type: string
properties:
additionalProperties:
readOnly: true
description: Additional properties of the attachment.
readOnly: true
type: object
self:
description: The URL of the attachment metadata details.
format: uri
readOnly: true
type: string
size:
description: The size of the attachment.
format: int64
readOnly: true
type: integer
thumbnail:
description: The URL of a thumbnail representing the attachment.
readOnly: true
type: string
type: object
xml:
name: attachment
SimpleListWrapperGroupName:
additionalProperties: false
properties:
callback:
$ref: '#/components/schemas/ListWrapperCallbackGroupName'
items:
items:
$ref: '#/components/schemas/GroupName'
type: array
max-results:
format: int32
type: integer
xml:
attribute: true
name: max-results
pagingCallback:
$ref: '#/components/schemas/ListWrapperCallbackGroupName'
size:
format: int32
type: integer
xml:
attribute: true
type: object
xml:
name: list
User:
additionalProperties: false
description: "A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * 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).\n * 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.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values."
properties:
accountId:
description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests.
maxLength: 128
type: string
accountType:
description: "The user account type. Can take the following values:\n\n * `atlassian` regular Atlassian user account\n * `app` system account used for Connect applications and OAuth to represent external systems\n * `customer` Jira Service Desk account representing an external service desk"
enum:
- atlassian
- app
- customer
- unknown
readOnly: true
type: string
active:
description: Whether the user is active.
readOnly: true
type: boolean
applicationRoles:
allOf:
- $ref: '#/components/schemas/SimpleListWrapperApplicationRole'
description: The application roles the user is assigned to.
readOnly: true
avatarUrls:
allOf:
- $ref: '#/components/schemas/AvatarUrlsBean'
description: The avatars of the user.
readOnly: true
displayName:
description: The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.
readOnly: true
type: string
emailAddress:
description: The email address of the user. Depending on the user’s privacy setting, this may be returned as null.
readOnly: true
type: string
expand:
description: Expand options that include additional user details in the response.
readOnly: true
type: string
xml:
attribute: true
groups:
allOf:
- $ref: '#/components/schemas/SimpleListWrapperGroupName'
description: The groups that the user belongs to.
readOnly: true
key:
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.
type: string
locale:
description: The locale of the user. Depending on the user’s privacy setting, this may be returned as null.
readOnly: true
type: string
name:
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.
type: string
self:
description: The URL of the user.
format: uri
readOnly: true
type: string
timeZone:
description: The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as null.
readOnly: true
type: string
type: object
xml:
name: user
SimpleListWrapperApplicationRole:
additionalProperties: false
properties:
callback:
$ref: '#/components/schemas/ListWrapperCallbackApplicationRole'
items:
items:
$ref: '#/components/schemas/ApplicationRole'
type: array
max-results:
format: int32
type: integer
xml:
attribute: true
name: max-results
pagingCallback:
$ref: '#/components/schemas/ListWrapperCallbackApplicationRole'
size:
format: int32
type: integer
xml:
attribute: true
type: object
xml:
name: list
AttachmentArchiveMetadataReadable:
additionalProperties: false
description: Metadata for an archive (for example a zip) and its contents.
properties:
entries:
description: The list of the items included in the archive.
items:
$ref: '#/components/schemas/AttachmentArchiveItemReadable'
readOnly: true
type: array
id:
description: The ID of the attachment.
format: int64
readOnly: true
type: integer
mediaType:
description: The MIME type of the attachment.
readOnly: true
type: string
name:
description: The name of the archive file.
readOnly: true
type: string
totalEntryCount:
description: The number of items included in the archive.
format: int64
readOnly: true
type: integer
type: object
AttachmentArchiveImpl:
additionalProperties: false
properties:
entries:
description: The list of the items included in the archive.
items:
$ref: '#/components/schemas/AttachmentArchiveEntry'
type: array
totalEntryCount:
description: The number of items in the archive.
format: int32
type: integer
type: object
ApplicationRole:
additionalProperties: false
description: Details of an application role.
properties:
defaultGroups:
description: The groups that are granted default access for this application role. As a group's name can change, use of `defaultGroupsDetails` is recommended to identify a groups.
items:
type: string
type: array
uniqueItems: true
defaultGroupsDetails:
description: The groups that are granted default access for this application role.
items:
$ref: '#/components/schemas/GroupName'
type: array
defined:
description: Deprecated.
type: boolean
groupDetails:
description: The groups associated with the application role.
items:
$ref: '#/components/schemas/GroupName'
type: array
groups:
description: The groups associated with the application role. As a group's name can change, use of `groupDetails` is recommended to identify a groups.
items:
type: string
type: array
uniqueItems: true
hasUnlimitedSeats:
type: boolean
key:
description: The key of the application role.
type: string
name:
description: The display name of the application role.
type: string
numberOfSeats:
description: The maximum count of users on your license.
format: int32
type: integer
platform:
description: Indicates if the application role belongs to Jira platform (`jira-core`).
type: boolean
remainingSeats:
description: The count of users remaining on your license.
format: int32
type: integer
selectedByDefault:
description: Determines whether this application role should be selected by default on user creation.
type: boolean
userCount:
description: The number of users counting against your license.
format: int32
type: integer
userCountDescription:
description: The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license.
type: string
type: object
Attachment:
additionalProperties: true
description: Details about an attachment.
properties:
author:
allOf:
- $ref: '#/components/schemas/UserDetails'
description: Details of the user who added the attachment.
readOnly: true
content:
description: The content of the attachment.
readOnly: true
type: string
created:
description: The datetime the attachment was created.
format: date-time
readOnly: true
type: string
filename:
description: The file name of the attachment.
readOnly: true
type: string
id:
description: The ID of the attachment.
readOnly: true
type: string
mimeType:
description: The MIME type of the attachment.
readOnly: true
type: string
self:
description: The URL of the attachment details response.
readOnly: true
type: string
size:
description: The size of the attachment.
format: int64
readOnly: true
type: integer
thumbnail:
description: The URL of a thumbnail representing the attachment.
readOnly: true
type: string
type: object
AvatarUrlsBean:
additionalProperties: false
properties:
16x16:
description: The URL of the item's 16x16 pixel avatar.
format: uri
type: string
24x24:
description: The URL of the item's 24x24 pixel avatar.
format: uri
type: string
32x32:
description: The URL of the item's 32x32 pixel avatar.
format: uri
type: string
48x48:
description: The URL of the item's 48x48 pixel avatar.
format: uri
type: string
type: object
MultipartFile:
additionalProperties: false
properties:
bytes:
items:
format: byte
type: string
type: array
contentType:
type: string
empty:
type: boolean
inputStream:
type: object
name:
type: string
originalFilename:
type: string
resource:
$ref: '#/components/schemas/Resource'
size:
format: int64
type: integer
type: object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: Use an Atlassian API key as a Bearer token. Create API keys at https://admin.atlassian.com.
oauth2:
type: oauth2
description: OAuth 2.0 authorization for Atlassian Cloud APIs.
flows:
authorizationCode:
authorizationUrl: https://auth.atlassian.com/authorize
tokenUrl: https://auth.atlassian.com/oauth/token
scopes:
read:org:admin: Read organization information.
write:org:admin: Modify organization settings.
read:user:admin: Read user information.
write:user:admin: Modify user accounts.
read:policy:admin: Read organization policies.
write:policy:admin: Modify organization policies.
read:event:admin: Read organization events.
externalDocs:
description: Atlassian Admin REST API Documentation
url: https://developer.atlassian.com/cloud/admin/organization/rest/intro/