Atlassian: Load project avatar
Atlassian projectAvatars.createProjectAvatar: arguments, response, policy and SDK examples.
← Project avatars operations · Get started
Operation atlassian.createprojectavatar
Provider route: POST /{cloudId}/rest/api/3/project/{projectIdOrKey}/avatar2. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/atlassian with npm, or alter-sdk-atlassian with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { AtlassianIntegration } from "@alter-ai/atlassian";
async function execute(input: Parameters<AtlassianIntegration["projectAvatars"]["createProjectAvatar"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new AtlassianIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.projectAvatars.createProjectAvatar(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_atlassian import AtlassianIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = AtlassianIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.project_avatars.create_project_avatar(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.cloudId | string | Required within parent | Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ |
path.projectIdOrKey | string | Required within parent | |
query | object | Optional | Additional keys: not allowed |
query.x | integer | Optional | Default: 0 Format: int32 |
query.y | integer | Optional | Default: 0 Format: int32 |
query.size | integer | Optional | Default: 0 Format: int32 |
body | object | Required within parent | The avatar image: JPEG, GIF or PNG. Additional keys: not allowed |
body.filename | string | Required within parent | Minimum length: 1 |
body.content_type | string | Required within parent | One of: image/gif, image/jpeg, image/png |
body.content_base64 | string | Required within parent |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Load avatar — response body |
Referenced models: Load avatar — response body
Schemas
Section titled “Schemas”Load avatar — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Details of an avatar. Additional keys: allowed |
fileName | JSON | Optional | |
fileName (anyOf 1) | string | Alternative | The file name of the avatar icon. Returned for system avatars. Read only: true |
fileName (anyOf 2) | null | Alternative | |
id | JSON | Optional | |
id (anyOf 1) | string | Alternative | The ID of the avatar. |
id (anyOf 2) | null | Alternative | |
isDeletable | JSON | Optional | |
isDeletable (anyOf 1) | boolean | Alternative | Whether the avatar can be deleted. Read only: true |
isDeletable (anyOf 2) | null | Alternative | |
isSelected | JSON | Optional | |
isSelected (anyOf 1) | boolean | Alternative | Whether the avatar is used in Jira. For example, shown as a project's avatar. Read only: true |
isSelected (anyOf 2) | null | Alternative | |
isSystemAvatar | JSON | Optional | |
isSystemAvatar (anyOf 1) | boolean | Alternative | Whether the avatar is a system avatar. Read only: true |
isSystemAvatar (anyOf 2) | null | Alternative | |
owner | JSON | Optional | |
owner (anyOf 1) | string | Alternative | The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars this is the appropriate identifier, such as the ID for a project or the account ID for a user. Read only: true |
owner (anyOf 2) | null | Alternative | |
urls | JSON | Optional | |
urls (anyOf 1) | object | Alternative | The list of avatar icon URLs. Read only: true Additional keys: see wildcard field |
urls (anyOf 1).* | string | Additional keys | Format: uri Read only: true |
urls (anyOf 2) | null | Alternative |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: atlassian.createprojectavatar. Catalog operation: createprojectavatar. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["manage:jira-project"]
Pinned headers: {"X-Atlassian-Token": "no-check"}