Attachments
Upload, download, and manage file attachments on tickets.
Attachments let you add files to tickets -- screenshots, documents, design mockups, or anything else your team needs to reference.
List Attachments
GET /api/v1/boards/{boardId}/tickets/{ticketId}/attachmentsQuery Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | number | No | Page number (default: 1) |
| limit | number | No | Items per page (default: 20) |
| commentId | string | No | Filter by comment ID, or "ticket" for ticket-level attachments only |
Example Response
{
"data": [
{
"id": "att_abc123",
"filename": "screenshot.png",
"mimeType": "image/png",
"size": 245760,
"uploadedBy": {
"id": "usr_abc123",
"name": "Alex Smith"
},
"createdAt": "2025-03-15T14:30:00Z"
}
]
}Upload Attachment
POST /api/v1/boards/{boardId}/tickets/{ticketId}/attachments/uploadRate limit: 50 uploads per hour per IP.
Upload a file using multipart/form-data. Maximum file size is 50 MB. The file's MIME type is validated and must match its extension.
Form Fields
| Field | Type | Required | Description |
|---|---|---|---|
| file | binary | Yes | The file to upload |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| commentId | string | No | Attach to a specific comment instead of the ticket |
Example Request
curl -X POST \
"https://acme-corp.spedy.ai/api/v1/boards/{boardId}/tickets/{ticketId}/attachments/upload" \
-H "Authorization: Bearer {token}" \
-F "[email protected]"Download Attachment
GET /api/v1/boards/{boardId}/tickets/{ticketId}/attachments/{attachmentId}/downloadReturns the file as a stream. Images are served inline, other files as downloads.
Delete Attachment
DELETE /api/v1/boards/{boardId}/tickets/{ticketId}/attachments/{attachmentId}Only the uploader or users with tickets:delete permission can delete attachments. Returns 204 No Content.