{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/lucca/main/json-schema/lucca-file-schema.json",
  "title": "File",
  "description": "A file resource.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/lucca-openapi-specs-openapi.yml#/components/schemas/File",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "description": "File name."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "UTC timestamp of the moment this file was uploaded."
    },
    "deletedAt": {
      "description": "UTC timestamp of the moment this file was deleted. When null, file\nis not deleted.",
      "type": [
        "string",
        "null"
      ]
    },
    "contentLength": {
      "type": "integer",
      "minimum": 1,
      "description": "File size in bytes."
    },
    "contentType": {
      "type": "string",
      "enum": [
        "eml message/rfc822",
        "image/heic",
        "image/heif",
        "image/jpe",
        "image/jpg",
        "image/pjpeg",
        "image/gif",
        "image/bmp",
        "image/tif",
        "image/tiff",
        "image/x-dcraw",
        "image/x-jb2",
        "image/x-jbig2",
        "image/x-jpf",
        "image/x-ms-bmp",
        "image/x-panasonic-raw",
        "image/x-pcx",
        "image/x-icon",
        "image/x-png",
        "image/vnd.microsoft.icon",
        "image/webp",
        "image/x-portable-anymap",
        "text/plain",
        "text/csv",
        "text/rtf",
        "text/calendar",
        "text/comma-separated-values",
        "text/markdown",
        "application/pdf",
        "application/msword",
        "application/xls",
        "application/x-csv",
        "application/ms-excel",
        "application/vnd.ms-office",
        "application/vnd.ms-word",
        "application/vnd.ms-outlook",
        "application/vnd.ms-powerpoint",
        "application/vnd.ms-excel",
        "application/vnd.oasis.opendocument.text",
        "application/vnd.oasis.opendocument.spreadsheet",
        "application/vnd.oasis.opendocument.presentation",
        "application/vnd.oasis.opendocument.graphics",
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        "application/vnd.openxmlformats-officedocument.presentationml.presentation",
        "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
        "application/vnd.openxmlformats-officedocument.presentationml.template",
        "application/x-7z-compressed",
        "application/rar",
        "application/x-rar",
        "application/zip",
        "application/csv",
        "application/rtf",
        "application/text",
        "application/txt",
        "application/x-pdf"
      ]
    },
    "extension": {
      "type": "string",
      "description": "Inferred from content-type (e.g.: '.pdf', '.doc', '.txt', etc...)."
    },
    "totalPages": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of pages of a document file."
    }
  }
}