SpedySpedy Docs

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}/attachments

Query Parameters

ParameterTypeRequiredDescription
pagenumberNoPage number (default: 1)
limitnumberNoItems per page (default: 20)
commentIdstringNoFilter 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/upload

Rate 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

FieldTypeRequiredDescription
filebinaryYesThe file to upload

Query Parameters

ParameterTypeRequiredDescription
commentIdstringNoAttach 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}/download

Returns 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.