---
updatedAt: 2026-06-03T14:46:37.000Z
agentTools:
  projectIndex: https://developers.fieldwire.com/llms.txt
---

# Restore attachment by ID

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Fieldwire Regional API",
    "version": "v3"
  },
  "servers": [
    {
      "url": "https://client-api.{region}.fieldwire.com",
      "variables": {
        "region": {
          "default": "us",
          "enum": [
            "ca",
            "eu",
            "us"
          ]
        }
      }
    }
  ],
  "components": {
    "headers": {
      "current_user_id": {
        "description": "Current user's id",
        "schema": {
          "type": "integer"
        }
      }
    },
    "parameters": {
      "api_version": {
        "name": "Fieldwire-Version",
        "in": "header",
        "description": "Specifies the version of the API to talk to",
        "required": true,
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "id": {
        "name": "id",
        "in": "path",
        "description": "ID of the entity",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "project_id": {
        "name": "project_id",
        "in": "path",
        "description": "ID of the project this entity belongs to",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    },
    "schemas": {
      "attachment": {
        "type": "object",
        "description": "Entity that usually show up in the \"files\" tab",
        "required": [
          "id",
          "creator_user_id",
          "last_editor_user_id",
          "project_id",
          "is_dynamic",
          "file_url",
          "name",
          "floorplans_count",
          "kind",
          "created_at",
          "resolved_conflict",
          "device_created_at",
          "device_updated_at",
          "updated_at",
          "deleted_by_two_way_sync",
          "origin"
        ],
        "nullable": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": false,
            "description": "ID of the attachment"
          },
          "creator_user_id": {
            "type": "integer",
            "format": "int32",
            "nullable": false,
            "description": "ID of the user who created this attachment"
          },
          "last_editor_user_id": {
            "type": "integer",
            "format": "int32",
            "nullable": false,
            "description": "ID of the user who most recently edited this attachment"
          },
          "cascade_deleted_by_id": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "ID of the item that cascaded its delete to this attachment"
          },
          "folder_id": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "ID of the folder, if this attachment belongs to one"
          },
          "project_id": {
            "type": "string",
            "format": "uuid",
            "nullable": false,
            "description": "ID of the project this attachment belongs to"
          },
          "is_dynamic": {
            "type": "boolean",
            "nullable": false,
            "description": "Whether the content of this attachment can change without the URL changing"
          },
          "file_url": {
            "type": "string",
            "nullable": false,
            "description": "URL of the potential processed file"
          },
          "name": {
            "type": "string",
            "nullable": false,
            "description": "Name of the attachment"
          },
          "original_url": {
            "type": "string",
            "nullable": true,
            "description": "URL of the file originally uploaded by the user"
          },
          "thumb_url": {
            "type": "string",
            "nullable": true,
            "description": "URL of the thumb version of image attachment"
          },
          "file_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Attachment file size"
          },
          "floorplans_count": {
            "type": "integer",
            "format": "int32",
            "nullable": false,
            "description": "Count of active plans this attachment links to"
          },
          "kind": {
            "type": "string",
            "enum": [
              "file",
              "photo",
              "video",
              "photo_sphere",
              "sign"
            ],
            "nullable": false,
            "description": "Kind of the attachment"
          },
          "process_state": {
            "type": "string",
            "enum": [
              "deleting",
              "restoring",
              null
            ],
            "nullable": true,
            "description": "Whether this attachment is being restored or deleted"
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "description": "Latitude of where this photo attachment was created"
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "description": "Longitude of where this photo attachment was created"
          },
          "captured_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Time when a photo attachment was taken extracted from photo data"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": false,
            "description": "Time when the server created the attachment"
          },
          "deleted_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Time the server deleted the attachment"
          },
          "resolved_conflict": {
            "type": "boolean",
            "nullable": true,
            "description": "Specifies if PUT/PATCH request was rejected - do not store this field!"
          },
          "device_created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Time when the device created the attachment"
          },
          "device_updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Time when the device last updated the attachment"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": false,
            "description": "Time when the server last updated the attachment"
          },
          "flattened_file_url": {
            "type": "string",
            "nullable": true,
            "description": "URL of the file that has the markups flattened too"
          },
          "deleted_by_two_way_sync": {
            "type": "boolean",
            "nullable": true,
            "description": "Indicates if a file was deleted by two way sync"
          },
          "origin": {
            "type": "string",
            "enum": [
              "photo_gallery",
              "plan_attachment",
              "form_attachment",
              "bubble_attachment",
              null
            ],
            "nullable": true,
            "description": "Indicates the original location an attachment is uploaded from"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "jwt": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Access token (JWT) generated using the acquired refresh token (API token). Our [authentication](https://developers.fieldwire.com/docs/authentication) guide covers the steps to generate a valid token"
      }
    }
  },
  "paths": {
    "/api/v3/projects/{project_id}/attachments/{id}/restore": {
      "put": {
        "summary": "Restore attachment by ID",
        "operationId": "restore_attachment_by_id",
        "tags": [
          "attachments"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id"
          },
          {
            "$ref": "#/components/parameters/id"
          },
          {
            "$ref": "#/components/parameters/api_version"
          }
        ],
        "responses": {
          "201": {
            "description": "Successful response",
            "headers": {
              "X-Current-User-Id": {
                "$ref": "#/components/headers/current_user_id"
              }
            },
            "content": {
              "application/json": {
                "example": {
                  "id": "d2f59204-2c3a-489a-8afe-e7fab86ec244",
                  "creator_user_id": 473,
                  "last_editor_user_id": 473,
                  "project_id": "4e2976a4-d86f-4fa2-a32d-054c349072b8",
                  "resolved_conflict": false,
                  "created_at": "2026-10-02T14:48:08.550Z",
                  "updated_at": "2026-10-02T14:48:08.857Z",
                  "device_created_at": "2026-10-02T14:48:08.550Z",
                  "device_updated_at": "2026-10-02T14:48:08.550Z",
                  "deleted_at": null,
                  "name": "name",
                  "is_dynamic": false,
                  "origin": null,
                  "kind": "file",
                  "folder_id": null,
                  "floorplans_count": 0,
                  "process_state": "restoring",
                  "latitude": null,
                  "longitude": null,
                  "cascade_deleted_by_id": null,
                  "deleted_by_two_way_sync": false,
                  "file_size": 100,
                  "thumb_url": null,
                  "file_url": "http://example.com/4cb38669-026c-4194-82fe-9912c2d6f95c-name",
                  "original_url": null,
                  "flattened_file_url": null,
                  "captured_at": null
                },
                "schema": {
                  "$ref": "#/components/schemas/attachment"
                }
              }
            }
          }
        }
      }
    }
  }
}
```