API Documentation

API Endpoint

Attachments

Attachments

The attachment object represents files such as images, PDFs and documents that can be assigned to other objects. These include, but are not limited, to tasks, comments, expenses and purchase orders. With attachments, users can provide relevant information, resources and additional context for related objects.

You can find more about attachments in our Help documentation: Working with attachments

For more details on how to work with attachment files through our API please refer to Working with attachments guide.

Supported filter params

  • comment_id (array)

  • page_id (array)

  • task_id (array)

GET /api/v2/attachments
Requestsreturns attachments

GET  /api/v2/attachments?filter[comment_id]=3

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "1",
      "type": "attachments",
      "attributes": {
        "name": "img.png",
        "content_type": "image/png",
        "size": 3479,
        "url": "https://files-test.productive.io/attachments/files/000/000/001/original/img.png?1750564993",
        "thumb": "https://files-test.productive.io/attachments/files/000/000/001/thumb/img.png?1750564993",
        "temp_url": "https://files-test.productive.io/attachments/files/000/000/001/original/img.png?1750564993",
        "resized": false,
        "created_at": "2025-06-22T06:03:13.405+02:00",
        "deleted_at": null,
        "attachment_type": null,
        "message_id": null,
        "external_id": null,
        "attachable_type": "comment"
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "13"
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "invoice": {
          "meta": {
            "included": false
          }
        },
        "purchase_order": {
          "meta": {
            "included": false
          }
        },
        "bill": {
          "meta": {
            "included": false
          }
        },
        "email": {
          "meta": {
            "included": false
          }
        },
        "page": {
          "meta": {
            "included": false
          }
        },
        "expense": {
          "meta": {
            "included": false
          }
        },
        "comment": {
          "meta": {
            "included": false
          }
        },
        "task": {
          "meta": {
            "included": false
          }
        },
        "document_style": {
          "meta": {
            "included": false
          }
        },
        "document_type": {
          "meta": {
            "included": false
          }
        },
        "deal": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/attachments?filter%5Bcomment_id%5D=3&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/attachments?filter%5Bcomment_id%5D=3&page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get attachments
GET/api/v2/attachments


GET /api/v2/attachments/1
Requestsreturns attachment

GET  /api/v2/attachments/2

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "2",
    "type": "attachments",
    "attributes": {
      "name": "img.png",
      "content_type": "image/png",
      "size": 3479,
      "url": "https://files-test.productive.io/attachments/files/000/000/002/original/img.png?1750564993",
      "thumb": "https://files-test.productive.io/attachments/files/000/000/002/thumb/img.png?1750564993",
      "temp_url": "https://files-test.productive.io/attachments/files/000/000/002/original/img.png?1750564993",
      "resized": false,
      "created_at": "2025-06-22T06:03:13.511+02:00",
      "deleted_at": null,
      "attachment_type": null,
      "message_id": null,
      "external_id": null,
      "attachable_type": "comment"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "14"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "invoice": {
        "meta": {
          "included": false
        }
      },
      "purchase_order": {
        "meta": {
          "included": false
        }
      },
      "bill": {
        "meta": {
          "included": false
        }
      },
      "email": {
        "meta": {
          "included": false
        }
      },
      "page": {
        "meta": {
          "included": false
        }
      },
      "expense": {
        "meta": {
          "included": false
        }
      },
      "comment": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "document_style": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a attachment
GET/api/v2/attachments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

attachment id


POST /api/v2/attachments
Requestscreates attachmentreturns errorreturns errorreturns error

POST  /api/v2/attachments

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "attachments",
    "attributes": {
      "name": "img.png",
      "attachable_id": 5,
      "attachable_type": "comment"
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "4",
    "type": "attachments",
    "attributes": {
      "name": "img.png",
      "content_type": null,
      "size": null,
      "url": "https://files-test.productive.io/attachments/files/000/000/004/original/img.png",
      "thumb": null,
      "temp_url": null,
      "resized": false,
      "created_at": "2025-06-22T06:03:13.575+02:00",
      "deleted_at": null,
      "attachment_type": null,
      "message_id": null,
      "external_id": null,
      "attachable_type": "comment",
      "aws_policy": {
        "key": "attachments/files/000/000/004/original/img.png",
        "success_action_status": "201",
        "policy": "eyJleHBpcmF0aW9uIjoiMjAyNS0wNi0yMlQwNTowMzoxM1oiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJwcm9kdWN0aXZlLWZpbGVzLXRlc3QifSx7ImtleSI6ImF0dGFjaG1lbnRzL2ZpbGVzLzAwMC8wMDAvMDA0L29yaWdpbmFsL2ltZy5wbmcifSx7InN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyI6IjIwMSJ9LFsiY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwXSx7IngtYW16LWNyZWRlbnRpYWwiOiJBU0lBUUdHUTQ2V1ZCNUpQV05KWC8yMDI1MDYyMi9ldS13ZXN0LTEvczMvYXdzNF9yZXF1ZXN0In0seyJ4LWFtei1hbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJ4LWFtei1kYXRlIjoiMjAyNTA2MjJUMDQwMzEzWiJ9LHsieC1hbXotc2VjdXJpdHktdG9rZW4iOiJGd29HWlhJdllYZHpFQTBhREs2OUlMNlRPNEhhU1pWV0JTTE9BMXlidDZtQm0wY1ZxdVM1WW96eFZVbXNsYkFWZWd0TDZVd3czc01wYTZDbjJHOVc4Sk00ei9OZ2JlSy94QmxGR21xTVJTZ0FKQnpONHlTa1FkNEU4RXVScmdJNmhaUVNQUC9ibmZPb0JlY1lNU25WZ09pNDh6UXNFY0tLcjZWQ1dlcVBMK2t2QytCYTBPalFzWU1UZ3BTdUx1NktwMnJpOWl5RzkvTEhIYnc2WmM5N0hrYTRWMlllTEpqRnJZWTd4N3M2QU54ektESUQyU1UyQnNLZkFReHdOV0ZhVDFadi9hc2JuZGhUc3RkRWs4c3VCSGJYNWovNWlvdkZEUFJDSzNQVE0zbEZ4czRMOVlvb1ZHckxnWTJGNFZBTkp3STF1RzljQjFHbDhqeVY1cyt3NjlkdUhWM0RTSms4Z2Z2QXBOT2c4d0szMWpoMVZDck80N2hiQnFBSmIzeHZQOEk3M3NJc2dGWXNGMjlxMmlQSWNiMUJIT3dvMGk1cnhGaGlJaDhSUWFsdkJhTXRTdEYvQ1gxSEhGOEU5TWU3T0cvVjZCQnRud2hNUFZPTUIxbWR3dkF2dURJNFk5aGhtZFBua0dCUnIzK0JZRFBJc2ZKUkpsa0lUNnZWT24zQzZHRkQ5eGNoVXl3bFIvRVRnU29CL0VZMWZibjdDRzh1YjFySTNhZ2JJUUtOYU1HSzJGZ1VmS2tjK1BpY2JHMzRYRkJ5bkRYY1ovQURIOFJuSkFqcXYwd01WV01PcWNoSzhJejg5ODZaT2lldjNFUWZwajNoV1V4RExYMWQ2eWlsUlpwRVpXODl5Qzg2elNqNi85M0NCaklsWnBUcGFNUGlnbEtDT0ZSS0QxVXNKZEFBVlZFbnNzbWU3a2wrYjBpRmQ3VE9sSy95VHc9PSJ9XX0=",
        "x-amz-credential": "ASIAQGGQ46WVB5JPWNJX/20250622/eu-west-1/s3/aws4_request",
        "x-amz-algorithm": "AWS4-HMAC-SHA256",
        "x-amz-date": "20250622T040313Z",
        "x-amz-security-token": "FwoGZXIvYXdzEA0aDK69IL6TO4HaSZVWBSLOA1ybt6mBm0cVquS5YozxVUmslbAVegtL6Uww3sMpa6Cn2G9W8JM4z/NgbeK/xBlFGmqMRSgAJBzN4ySkQd4E8EuRrgI6hZQSPP/bnfOoBecYMSnVgOi48zQsEcKKr6VCWeqPL+kvC+Ba0OjQsYMTgpSuLu6Kp2ri9iyG9/LHHbw6Zc97Hka4V2YeLJjFrYY7x7s6ANxzKDID2SU2BsKfAQxwNWFaT1Zv/asbndhTstdEk8suBHbX5j/5iovFDPRCK3PTM3lFxs4L9YooVGrLgY2F4VANJwI1uG9cB1Gl8jyV5s+w69duHV3DSJk8gfvApNOg8wK31jh1VCrO47hbBqAJb3xvP8I73sIsgFYsF29q2iPIcb1BHOwo0i5rxFhiIh8RQalvBaMtStF/CX1HHF8E9Me7OG/V6BBtnwhMPVOMB1mdwvAvuDI4Y9hhmdPnkGBRr3+BYDPIsfJRJlkIT6vVOn3C6GFD9xchUywlR/ETgSoB/EY1fbn7CG8ub1rI3agbIQKNaMGK2FgUfKkc+PicbG34XFBynDXcZ/ADH8RnJAjqv0wMVWMOqchK8Iz8986ZOiev3EQfpj3hWUxDLX1d6yilRZpEZW89yC86zSj6/93CBjIlZpTpaMPiglKCOFRKD1UsJdAAVVEnssme7kl+b0iFd7TOlK/yTw==",
        "x-amz-signature": "f2ac8af7a40f586bc523d4a6e6bc4272de11cf72da810c44948b3a22c72e7181"
      }
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "15"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "invoice": {
        "meta": {
          "included": false
        }
      },
      "purchase_order": {
        "meta": {
          "included": false
        }
      },
      "bill": {
        "meta": {
          "included": false
        }
      },
      "email": {
        "meta": {
          "included": false
        }
      },
      "page": {
        "meta": {
          "included": false
        }
      },
      "expense": {
        "meta": {
          "included": false
        }
      },
      "comment": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "document_style": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Create a attachment
POST/api/v2/attachments

URI Parameters
HideShow
name
string (required) Example: name

name

id
string (required) Example: Comment

attachable_type


PATCH /api/v2/attachments/1
Requestsupdates attachmentreturns error

PATCH  /api/v2/attachments/8

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "attachments",
    "attributes": {
      "temp_url": "https://s3.amazonaws.com/infinum.productive.test/uploads/1418301662608/dummyfile.pdf"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "8",
    "type": "attachments",
    "attributes": {
      "name": "img.png",
      "content_type": "image/png",
      "size": 3479,
      "url": "https://files-test.productive.io/attachments/files/000/000/008/original/img.png?1750564993",
      "thumb": "https://files-test.productive.io/attachments/files/000/000/008/thumb/img.png?1750564993",
      "temp_url": "https://s3.amazonaws.com/infinum.productive.test/uploads/1418301662608/dummyfile.pdf",
      "resized": false,
      "created_at": "2025-06-22T06:03:13.804+02:00",
      "deleted_at": null,
      "attachment_type": null,
      "message_id": null,
      "external_id": null,
      "attachable_type": "comment"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "19"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "invoice": {
        "meta": {
          "included": false
        }
      },
      "purchase_order": {
        "meta": {
          "included": false
        }
      },
      "bill": {
        "meta": {
          "included": false
        }
      },
      "email": {
        "meta": {
          "included": false
        }
      },
      "page": {
        "meta": {
          "included": false
        }
      },
      "expense": {
        "meta": {
          "included": false
        }
      },
      "comment": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "document_style": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Update a attachment
PATCH/api/v2/attachments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

attachment id


DELETE /api/v2/attachments/1
Requestsdeletes attachment

DELETE  /api/v2/attachments/10

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes a attachment
DELETE/api/v2/attachments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

attachment id


Generated by aglio on 22 Jun 2025