{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/File",
  "title": "File",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "remote_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "The third-party API ID of the matching object."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The datetime that this object was created by Merge."
    },
    "modified_at": {
      "type": "string",
      "format": "date-time",
      "description": "The datetime that this object was modified by Merge."
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "The file's name."
    },
    "file_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "The URL to access the file."
    },
    "file_thumbnail_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "The URL that produces a thumbnail preview of the file. Typically an image."
    },
    "size": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64",
      "description": "The file's size, in bytes."
    },
    "mime_type": {
      "type": [
        "string",
        "null"
      ],
      "description": "The file's mime type."
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "The file's description."
    },
    "folder": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The folder that the file belongs to."
    },
    "checksum": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "description": "Any type"
      },
      "description": "This field stores file checksum data. 'type' indicates the algorithm (e.g. crc_32, sha1, sha256, quickXor, or md5), and 'content_hash' is the unique hash used to verify file integrity and detect alterations."
    },
    "permissions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Permission"
      }
    },
    "drive": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The drive that the file belongs to."
    },
    "remote_created_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the third party's file was created."
    },
    "remote_updated_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the third party's file was updated."
    },
    "remote_was_deleted": {
      "type": "boolean",
      "description": "Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/)."
    },
    "field_mappings": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/FileFieldMappings"
        },
        {
          "type": "null"
        }
      ]
    },
    "remote_data": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/components/schemas/RemoteData"
      }
    }
  },
  "description": "# The File Object\n### Description\nThe `File` object is used to represent a file in the workspace. The Object typically exists under a folder or drive, if it exists.\n### Usage Example\nFetch from the `GET /api/filestorage/v1/files` endpoint and view their files."
}