Skip to content

Issue Assets And Links

Requires issues:read.

ParameterTypeNotes
cursorstringOptional cursor
page_sizeintegerOptional page size
actor_user_account_idstringFilter by actor
event_typestringFilter by event type
from_utcdatetimeLower bound
to_utcdatetimeUpper bound
Terminal window
curl "$API_BASE_URL/v1/issues/PLAT-142/activity?page_size=2" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Response 200 OK:

{
"results": [
{
"id": "activity_comment_created",
"eventType": "issue-comment.created.v1",
"actorUserAccountId": "usr_01EXAMPLE",
"occurredUtc": "2025-02-24T15:04:05Z",
"sortOrder": 1,
"iconCss": "fa-regular fa-comment",
"text": "Alex Morgan added a comment."
},
{
"id": "activity_issue_updated",
"eventType": "issue.updated.v1",
"actorUserAccountId": "usr_01SAM",
"occurredUtc": "2025-02-24T14:52:00Z",
"sortOrder": 2,
"iconCss": "fa-regular fa-pen-to-square",
"text": "Sam Patel updated the issue."
}
],
"pagination": {
"pageSize": 2,
"cursor": "",
"nextCursor": "",
"hasMore": false,
"returnedCount": 2,
"totalCount": 2
}
}

Requires issues:read.

ParameterTypeNotes
cursorstringOptional cursor
page_sizeintegerOptional page size
content_typestringFilter by MIME type
created_by_user_account_idstringFilter by uploader
Terminal window
curl "$API_BASE_URL/v1/issues/PLAT-142/attachments" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Response 200 OK:

{
"results": [
{
"id": "att_overview_pdf",
"fileName": "public-api-overview.pdf",
"contentType": "application/pdf",
"sizeBytes": 248133,
"uploadedByUserAccountId": "usr_01EXAMPLE",
"uploadedByDisplayName": "Alex Morgan",
"uploadedUtc": "2025-02-24T12:01:10Z",
"downloadUrl": "/v1/issues/PLAT-142/attachments/att_overview_pdf/content",
"previewUrl": "/v1/issues/PLAT-142/attachments/att_overview_pdf/preview",
"isPreviewAvailable": true,
"previewKind": 2,
"codeLanguage": ""
}
],
"pagination": {
"pageSize": 100,
"cursor": "",
"nextCursor": "",
"hasMore": false,
"returnedCount": 1,
"totalCount": 1
}
}

GET /v1/issues/{issueKey}/attachments/{attachmentId}

Section titled “GET /v1/issues/{issueKey}/attachments/{attachmentId}”

Requires issues:read.

Terminal window
curl "$API_BASE_URL/v1/issues/PLAT-142/attachments/att_overview_pdf" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Response 200 OK:

{
"id": "att_overview_pdf",
"fileName": "public-api-overview.pdf",
"contentType": "application/pdf",
"sizeBytes": 248133,
"uploadedByUserAccountId": "usr_01EXAMPLE",
"uploadedByDisplayName": "Alex Morgan",
"uploadedUtc": "2025-02-24T12:01:10Z",
"downloadUrl": "/v1/issues/PLAT-142/attachments/att_overview_pdf/content",
"previewUrl": "/v1/issues/PLAT-142/attachments/att_overview_pdf/preview",
"isPreviewAvailable": true,
"previewKind": 2,
"codeLanguage": ""
}

GET /v1/issues/{issueKey}/attachments/{attachmentId}/content

Section titled “GET /v1/issues/{issueKey}/attachments/{attachmentId}/content”

Requires issues:read.

Returns a redirect to a signed download URL.

Terminal window
curl -I "$API_BASE_URL/v1/issues/PLAT-142/attachments/att_overview_pdf/content" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Example response:

HTTP/1.1 302 Found
Location: https://storage.example.com/download/att_overview_pdf?sig=...

GET /v1/issues/{issueKey}/attachments/{attachmentId}/preview

Section titled “GET /v1/issues/{issueKey}/attachments/{attachmentId}/preview”

Requires issues:read.

Returns a redirect to a signed preview URL.

Terminal window
curl -I "$API_BASE_URL/v1/issues/PLAT-142/attachments/att_overview_pdf/preview" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Example response:

HTTP/1.1 302 Found
Location: https://storage.example.com/preview/att_overview_pdf?sig=...

If no preview is available, the endpoint returns 404 not_found.

Requires issues:read.

ParameterTypeNotes
cursorstringOptional cursor
page_sizeintegerOptional page size
Terminal window
curl "$API_BASE_URL/v1/issues/PLAT-142/links" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Response 200 OK:

{
"results": [
{
"linkId": "link_docs_pr",
"id": "link_docs_pr",
"url": "https://example.com/pull-request",
"title": "Docs PR",
"createdUtc": "2025-02-24T16:12:20Z"
}
],
"pagination": {
"pageSize": 100,
"cursor": "",
"nextCursor": "",
"hasMore": false,
"returnedCount": 1,
"totalCount": 1
}
}

Requires issues:write.

FieldTypeRequired
urlstringyes
titlestringyes
Terminal window
curl -X POST "$API_BASE_URL/v1/issues/PLAT-142/links" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/pull-request",
"title": "Docs PR"
}'

Response 201 Created:

{
"linkId": "link_docs_pr",
"id": "link_docs_pr",
"url": "https://example.com/pull-request",
"title": "Docs PR",
"createdUtc": "2025-02-24T16:12:20Z"
}

If an equivalent link already exists, the API returns the existing link with 200 OK.

DELETE /v1/issues/{issueKey}/links/{linkId}

Section titled “DELETE /v1/issues/{issueKey}/links/{linkId}”

Requires issues:write.

Terminal window
curl -X DELETE "$API_BASE_URL/v1/issues/PLAT-142/links/link_docs_pr" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Response 204 No Content.

Requires issues:read.

ParameterTypeNotes
cursorstringOptional cursor
page_sizeintegerOptional page size
status_idstring, repeatableFilter by status
assignee_user_account_idstring, repeatableFilter by assignee
include_completedbooleanInclude completed subissues
Terminal window
curl "$API_BASE_URL/v1/issues/PLAT-142/subissues?include_completed=false" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Response 200 OK:

{
"results": [
{
"issueId": "issue_plat_143",
"issueKey": "PLAT-143",
"title": "Add project endpoint docs",
"detailsUrl": "/issues/PLAT-143",
"statusId": "iss-status_open",
"statusName": "Open",
"statusColor": "#2563eb",
"isCompleted": false,
"primaryAssigneeUserAccountId": "usr_01SAM",
"primaryAssigneeDisplayName": "Sam Patel",
"primaryAssigneeAvatarUrl": "https://cdn.example.com/avatars/sam.png",
"primaryAssigneePrincipalKind": 0
}
],
"pagination": {
"pageSize": 100,
"cursor": "",
"nextCursor": "",
"hasMore": false,
"returnedCount": 1,
"totalCount": 1
}
}