Issue Assets And Links
GET /v1/issues/{issueKey}/activity
Section titled “GET /v1/issues/{issueKey}/activity”Requires issues:read.
Query parameters
Section titled “Query parameters”| Parameter | Type | Notes |
|---|---|---|
cursor | string | Optional cursor |
page_size | integer | Optional page size |
actor_user_account_id | string | Filter by actor |
event_type | string | Filter by event type |
from_utc | datetime | Lower bound |
to_utc | datetime | Upper bound |
Example
Section titled “Example”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 }}GET /v1/issues/{issueKey}/attachments
Section titled “GET /v1/issues/{issueKey}/attachments”Requires issues:read.
Query parameters
Section titled “Query parameters”| Parameter | Type | Notes |
|---|---|---|
cursor | string | Optional cursor |
page_size | integer | Optional page size |
content_type | string | Filter by MIME type |
created_by_user_account_id | string | Filter by uploader |
Example
Section titled “Example”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.
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.
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 FoundLocation: 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.
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 FoundLocation: https://storage.example.com/preview/att_overview_pdf?sig=...If no preview is available, the endpoint returns 404 not_found.
GET /v1/issues/{issueKey}/links
Section titled “GET /v1/issues/{issueKey}/links”Requires issues:read.
Query parameters
Section titled “Query parameters”| Parameter | Type | Notes |
|---|---|---|
cursor | string | Optional cursor |
page_size | integer | Optional page size |
Example
Section titled “Example”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 }}POST /v1/issues/{issueKey}/links
Section titled “POST /v1/issues/{issueKey}/links”Requires issues:write.
Request body
Section titled “Request body”| Field | Type | Required |
|---|---|---|
url | string | yes |
title | string | yes |
Example
Section titled “Example”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.
curl -X DELETE "$API_BASE_URL/v1/issues/PLAT-142/links/link_docs_pr" \ -H "Authorization: Bearer $ACCESS_TOKEN"Response 204 No Content.
GET /v1/issues/{issueKey}/subissues
Section titled “GET /v1/issues/{issueKey}/subissues”Requires issues:read.
Query parameters
Section titled “Query parameters”| Parameter | Type | Notes |
|---|---|---|
cursor | string | Optional cursor |
page_size | integer | Optional page size |
status_id | string, repeatable | Filter by status |
assignee_user_account_id | string, repeatable | Filter by assignee |
include_completed | boolean | Include completed subissues |
Example
Section titled “Example”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 }}