---
title: "Restore attachment by ID"
method: PUT
path: "/api/v3/projects/{project_id}/attachments/{id}/restore"
tags: ["attachments"]
---

# Restore attachment by ID

`PUT /api/v3/projects/{project_id}/attachments/{id}/restore`

## Path parameters

- `project_id` string, uuid, required
- `id` string, uuid, required

## Headers

- `Fieldwire-Version` string, date, required

## Response `201`

Successful response

- Attachment — Entity that usually show up in the "files" tab
  - `id` string, uuid, required — ID of the attachment
  - `creator_user_id` integer, required — ID of the user who created this attachment
  - `last_editor_user_id` integer, required — ID of the user who most recently edited this attachment
  - `cascade_deleted_by_id` string, uuid, nullable — ID of the item that cascaded its delete to this attachment
  - `folder_id` string, uuid, nullable — ID of the folder, if this attachment belongs to one
  - `project_id` string, uuid, required — ID of the project this attachment belongs to
  - `is_dynamic` boolean, required — Whether the content of this attachment can change without the URL changing
  - `file_url` string, required — URL of the potential processed file
  - `name` string, required — Name of the attachment
  - `original_url` string, nullable — URL of the file originally uploaded by the user
  - `thumb_url` string, nullable — URL of the thumb version of image attachment
  - `file_size` integer, nullable — Attachment file size
  - `floorplans_count` integer, required — Count of active plans this attachment links to
  - `kind` 'file' | 'photo' | 'video' | 'photo_sphere' | 'sign', required — Kind of the attachment
  - `process_state` 'deleting' | 'restoring' | 'null', nullable — Whether this attachment is being restored or deleted
  - `latitude` number, double, nullable — Latitude of where this photo attachment was created
  - `longitude` number, double, nullable — Longitude of where this photo attachment was created
  - `captured_at` string, date-time, nullable — Time when a photo attachment was taken extracted from photo data
  - `created_at` string, date-time, required — Time when the server created the attachment
  - `deleted_at` string, date-time, nullable — Time the server deleted the attachment
  - `resolved_conflict` boolean, nullable, required — Specifies if PUT/PATCH request was rejected - do not store this field!
  - `device_created_at` string, date-time, nullable, required — Time when the device created the attachment
  - `device_updated_at` string, date-time, nullable, required — Time when the device last updated the attachment
  - `updated_at` string, date-time, required — Time when the server last updated the attachment
  - `flattened_file_url` string, nullable — URL of the file that has the markups flattened too
  - `deleted_by_two_way_sync` boolean, nullable, required — Indicates if a file was deleted by two way sync
  - `origin` 'photo_gallery' | 'plan_attachment' | 'form_attachment' | 'bubble_attachment' | 'null', nullable, required — Indicates the original location an attachment is uploaded from

---

[API](https://skmtc.dev/fieldwire/apis/fieldwire-super-api.md) · [All operations](https://skmtc.dev/fieldwire/apis/fieldwire-super-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fieldwire/fieldwire-super-api/revisions/66ee1c20b92d/schema)
