Notion · Schema

File

A File object represents a file in Notion. Files can be either hosted by Notion (type "file") or externally hosted (type "external").

CollaborationDatabaseIdeasNotesProductivityProjectsT1TasksWikiWorkspace

Properties

Name Type Description
type string The type of file hosting.
file object Notion-hosted file details. Present when type is "file". These URLs expire after one hour.
external object External file details. Present when type is "external".
name string The name of the file.
caption array Caption for the file as rich text.
View JSON Schema on GitHub

JSON Schema

notion-file-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/File",
  "title": "File",
  "type": "object",
  "description": "A File object represents a file in Notion. Files can be either hosted by Notion (type \"file\") or externally hosted (type \"external\").",
  "properties": {
    "type": {
      "type": "string",
      "description": "The type of file hosting.",
      "enum": [
        "file",
        "external"
      ]
    },
    "file": {
      "type": "object",
      "description": "Notion-hosted file details. Present when type is \"file\". These URLs expire after one hour.",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The authenticated S3 URL for the file."
        },
        "expiry_time": {
          "type": "string",
          "format": "date-time",
          "description": "The expiration time of the URL."
        }
      }
    },
    "external": {
      "type": "object",
      "description": "External file details. Present when type is \"external\".",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The URL of the externally hosted file."
        }
      }
    },
    "name": {
      "type": "string",
      "description": "The name of the file."
    },
    "caption": {
      "type": "array",
      "description": "Caption for the file as rich text.",
      "items": {
        "$ref": "#/components/schemas/RichText"
      }
    }
  },
  "required": [
    "type"
  ]
}