> ## Documentation Index
> Fetch the complete documentation index at: https://developers.plane.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

Allows you to manage file attachments associated with work items and Intake work items. You can upload new attachments and retrieve existing attachments for a specific work item.

[Learn more about Attachments →](https://docs.plane.so/core-concepts/issues/overview#add-links-and-attachments)

<Warning>
  **Deprecation notice**

  We are deprecating all `/api/v1/.../issues/` endpoints in favor of `/api/v1/.../work-items/`.

  **End of support**\
  31st March 2026

  **What you need to do**\
  To ensure uninterrupted service, replace all `/issues/` references with `/work-items/` in your codebase before the support end date.
</Warning>

## Upload process

1. Get the [upload credentials](/api-reference/issue-attachments/get-upload-credentials).
2. [Upload the file](/api-reference/issue-attachments/upload-file) to storage.
3. [Complete attachment upload](/api-reference/issue-attachments/complete-upload) to notify server.

## The Attachment object

**Attributes**

* `id` *string*

  Unique identifier for the attachment

* `created_at` , `updated_at`, `deleted_at` *timestamp*

  Timestamp when the attachment was created, when it was last modified or deleted

* `attributes` *object*

  Contains file metadata:

  * `name` *string*

  Original filename of the attachment

  * `size` *integer*

  File size in bytes

  * `type` *string*

  MIME type of the file

* `asset` *string*

  Storage path/identifier for the attachment file

* `entity_type` *string*

  Always `ISSUE_ATTACHMENT` for work item attachments

* `entity_identifier` *string*

  Entity identifier for the attachment

* `is_deleted` *boolean*

  Whether the attachment has been deleted

* `is_archived` *boolean*

  Whether the attachment has been archived

* `external_id` *string* or *null*

  External identifier if the issue and its attachments are imported to Plane

* `external_source` *string* or *null*

  Name of the source if the issue and its attachments are imported to Plane

* `size` *integer*

  File size in bytes

* `is_uploaded` *boolean*

  Whether the file has been successfully uploaded

* `storage_metadata` *object*

  Cloud storage metadata:

  * `ETag` *string*

  Storage provider's entity tag

  * `Metadata` *object*

  Additional storage metadata

  * `ContentType` *object*

  MIME type of stored file

  * `LastModified` *timestamp*

  Last modification time in storage

  * `ContentLength` *integer*

  File size in bytes

* `created_by` *string*

  ID of user who created the attachment

* `updated_by` *string*

  ID of user who last modified the attachment

* `deleted_by` *string*

  ID of user who deleted the attachment

* `workspace` *string*

  ID of workspace containing the attachment

* `project` *string*

  ID of project containing the work item

* `issue` *string*

  ID of work item containing the attachment

* `user` *string*

  ID of user associated with the attachment

* `draft_issue` *string*

  ID of draft work item if applicable

* `comment` *string*

  ID of comment if attachment is associated with a comment

* `page` *string*

  ID of page if attachment is associated with a page

<ResponseExample>
  ```json THE ATTACHMENT OBJECT theme={null}
  {
      "id": "8caf3ed5-4f57-9674-76c4fce146b2",
      "created_at": "2024-10-30T09:32:32.815273Z",
      "updated_at": "2024-10-30T09:32:35.533136Z",
      "deleted_at": null,
      "attributes": {
          "name": "plane-logo.png",
          "size": 135686,
          "type": "image/png"
      },
      "asset": "9b8aab8a-9052-fc735350abe8/6893d862ecb740d4b7f9f6542cda539c-plane.png",
      "entity_type": "ISSUE_ATTACHMENT",
      "is_deleted": false,
      "is_archived": false,
      "external_id": null,
      "external_source": null,
      "size": 135686.0,
      "is_uploaded": true,
      "storage_metadata": {
          "ETag": "\"72d0d4be99999fe60c2fbc08c8b\"",
          "Metadata": {},
          "ContentType": "image/png",
          "LastModified": "2024-10-30T09:32:34+00:00",
          "ContentLength": 135686
      },
      "created_by": "575de6bf-e120-43bb-9f6a-eae276210575",
      "updated_by": "575de6bf-e120-43bb-9f6a-eae276210575",
      "workspace": "9b8aab8a-9s6a-99ac-fc735350abe8",
      "project": "1790bd-5262-42fb-ac55-568c19a5",
      "issue": "7ba090-7702-4e26-a61e-aa6b866f7",
      }
  ```
</ResponseExample>
