• Announcement banner
  • App data policies (EAP)
  • Application roles
  • Audit records
  • Avatars
  • Classification levels
  • Dashboards
  • Filters
  • Filter sharing
  • Group and user picker
  • Groups
  • Issues
  • UI modifications (apps)
  • Issue attachments
  • Issue comments
  • Issue comment properties
  • Issue fields
  • Issue field configurations
  • Issue custom field contexts
  • Issue custom field options
  • Issue custom field options (apps)
  • Issue custom field values (apps)
  • Issue custom field configuration (apps)
  • Issue navigator settings
  • Issue notification schemes
  • Issue priorities
  • Issue properties
  • Issue resolutions
  • Issue security level
  • Issue security schemes
  • Issue types
  • Issue type schemes
  • Issue type screen schemes
  • Issue type properties
  • Issue votes
  • Issue watchers
  • Issue worklogs
  • Issue worklog properties
  • Jira expressions
  • Jira settings
  • JQL
  • JQL functions (apps)
  • Labels
  • License metrics
  • Myself
  • Permissions
  • Permission schemes
  • Projects
  • Project avatars
  • Project categories
  • Project classification levels
  • Project components
  • Project email
  • Project features
  • Project key and name validation
  • Project permission schemes
  • Project properties
  • Project roles
  • Project role actors
  • Project types
  • Project versions
  • Screens
  • Screen tabs
  • Screen tab fields
  • Screen schemes
  • Server info
  • Status
  • Tasks
  • Time tracking
  • Users
  • User properties
  • Webhooks
  • Workflows
  • Workflow transition rules
  • Workflow schemes
  • Workflow scheme project associations
  • Workflow scheme drafts
  • Workflow statuses
  • Workflow status categories
  • Workflow transition properties
  • App properties
  • Dynamic modules
  • App migration
  • Service Registry
Cloud
Jira Cloud platform / Reference / REST API v3 (beta)

Avatars

Postman Collection
OpenAPI
GET

Get system avatars by type

Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.

This operation can be accessed anonymously.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:read:avatar:jira

Request

Path parameters

type

string

Required

Responses

Returned if the request is successful.

application/json

SystemAvatars

List of system avatars.

GET/rest/api/3/avatar/{type}/system
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/3/avatar/{type}/system`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 { "system": [ { "id": "1000", "isDeletable": false, "isSelected": false, "isSystemAvatar": true, "urls": { "16x16": "/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project", "24x24": "/secure/useravatar?size=small&avatarId=10040&avatarType=project", "32x32": "/secure/useravatar?size=medium&avatarId=10040&avatarType=project", "48x48": "/secure/useravatar?avatarId=10040&avatarType=project" } } ] }
GET

Get avatars

Returns the system and custom avatars for a project or issue type.

This operation can be accessed anonymously.

Permissions required:

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:read:avatar:jira

Request

Path parameters

type

string

Required
entityId

string

Required

Responses

Returned if the request is successful.

application/json

Avatars

Details about system and custom avatars.

GET/rest/api/3/universal_avatar/type/{type}/owner/{entityId}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/3/universal_avatar/type/{type}/owner/{entityId}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 { "custom": [ { "id": "1010", "isDeletable": true, "isSelected": false, "isSystemAvatar": false, "urls": { "16x16": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project", "24x24": "https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project", "32x32": "https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project", "48x48": "https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project" } } ], "system": [ { "id": "1000", "isDeletable": false, "isSelected": false, "isSystemAvatar": true, "urls": { "16x16": "https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project", "24x24": "https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project", "32x32": "https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project", "48x48": "https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project" } } ] }
POST

Load avatar

Loads a custom avatar for a project or issue type.

Specify the avatar's local file location in the body of the request. Also, include the following headers:

  • X-Atlassian-Token: no-check To prevent XSRF protection blocking the request, for more information see Special Headers.
  • Content-Type: image/image type Valid image types are JPEG, GIF, or PNG.

For example:
curl --request POST

--user email@example.com:<api_token>

--header 'X-Atlassian-Token: no-check'

--header 'Content-Type: image/< image_type>'

--data-binary "<@/path/to/file/with/your/avatar>"

--url 'https://your-domain.atlassian.net/rest/api/3/universal_avatar/type/{type}/owner/{entityId}'

The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.

The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.

After creating the avatar use:

Permissions required: Administer Jira global permission.

Data Security Policy: Not exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:write:avatar:jira, read:avatar:jira

Request

Path parameters

type

string

Required
entityId

string

Required

Query parameters

x

integer

y

integer

size

integer

Required

Request body*/*

any

Responses

Returned if the request is successful.

application/json

Avatar

Details of an avatar.

POST/rest/api/3/universal_avatar/type/{type}/owner/{entityId}
1 2 3 4 5 6 7 8 9 10 11 12 13 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/3/universal_avatar/type/{type}/owner/{entityId}?size={size}`, { method: 'POST', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
201Response
1 2 3 4 5 6 7 8 9 10 11 12 { "id": "1000", "isDeletable": false, "isSelected": false, "isSystemAvatar": true, "urls": { "16x16": "/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project", "24x24": "/secure/useravatar?size=small&avatarId=10040&avatarType=project", "32x32": "/secure/useravatar?size=medium&avatarId=10040&avatarType=project", "48x48": "/secure/useravatar?avatarId=10040&avatarType=project" } }
DEL

Delete avatar

Deletes an avatar from a project or issue type.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredADMIN

ClassicRECOMMENDED:manage:jira-configuration
Granular:delete:avatar:jira

Request

Path parameters

type

string

Required
owningObjectId

string

Required
id

integer

Required

Responses

Returned if the request is successful.

DEL/rest/api/3/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}
1 2 3 4 5 6 7 8 9 10 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/3/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
GET

Get avatar image by typeExperimental

Returns the default project or issue type avatar image.

This operation can be accessed anonymously.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:avatar:jira

Request

Path parameters

type

string

Required

Query parameters

size

string

format

string

Responses

Returned if the request is successful.

*/* image/png image/svg+xml

any

application/json

StreamingResponseBody
GET/rest/api/3/universal_avatar/view/type/{type}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/3/universal_avatar/view/type/{type}?size={size}&format={format}`, { headers: { 'Accept': '*/*' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
GET

Get avatar image by IDExperimental

Returns a project or issue type avatar image by ID.

This operation can be accessed anonymously.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:avatar:jira

Request

Path parameters

type

string

Required
id

integer

Required

Query parameters

size

string

format

string

Responses

Returned if the request is successful.

*/* image/png image/svg+xml

any

application/json

StreamingResponseBody
GET/rest/api/3/universal_avatar/view/type/{type}/avatar/{id}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/3/universal_avatar/view/type/{type}/avatar/{id}?size={size}&format={format}`, { headers: { 'Accept': '*/*' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
GET

Get avatar image by ownerExperimental

Returns the avatar image for a project or issue type.

This operation can be accessed anonymously.

Permissions required:

Data Security Policy: Not exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:avatar:jira

Request

Path parameters

type

string

Required
entityId

string

Required

Query parameters

size

string

format

string

Responses

Returned if the request is successful.

*/* image/png image/svg+xml

any

application/json

StreamingResponseBody
GET/rest/api/3/universal_avatar/view/type/{type}/owner/{entityId}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/3/universal_avatar/view/type/{type}/owner/{entityId}?size={size}&format={format}`, { headers: { 'Accept': '*/*' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());

Rate this page: