> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# Objects

> Every object and enum the Files tools accept.

## Model tree

<div className="model-tree"><div className="model-tree-scroll"><div className="tree-node"><a href="#file">File</a><div className="tree-children"><div className="tree-node"><a href="#contenthints">ContentHints</a><div className="tree-children"><div className="tree-node"><a href="#thumbnail">Thumbnail</a></div></div></div><div className="tree-node"><a href="#shortcutdetails">ShortcutDetails</a></div><div className="tree-node"><a href="#contentrestriction">ContentRestriction</a></div><div className="tree-node"><a href="#downloadrestrictionsmetadata">DownloadRestrictionsMetadata</a><div className="tree-children"><div className="tree-node"><a href="#downloadrestriction">DownloadRestriction</a></div></div></div><div className="tree-node"><a href="#clientencryptiondetails">ClientEncryptionDetails</a><div className="tree-children"><div className="tree-node"><a href="#decryptionmetadata">DecryptionMetadata</a></div></div></div></div></div></div></div>

## File

The metadata for a file. Some resource methods (such as `files.update`) require a `fileId`. Use the `files.list` method to retrieve the ID for a file.

<div className="reference-table">
  | Field                          | Type                                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  | ------------------------------ | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `id`                           | `string`                                                      | The ID of the file. This is generated by the server for new files. A pre-generated ID from `files.generateIds` may be supplied on create.                                                                                                                                                                                                                                                                                                                                                             |
  | `name`                         | `string`                                                      | The name of the file. This isn't necessarily unique within a folder. Note that for immutable items such as the top-level folders of shared drives, the My Drive root folder, and the Application Data folder, the name is constant.                                                                                                                                                                                                                                                                   |
  | `mimeType`                     | `string`                                                      | The MIME type of the file. Google Drive attempts to automatically detect an appropriate value from uploaded content, if no value is provided. The value cannot be changed unless a new revision is uploaded. If a file is created with a Google Doc MIME type, the uploaded content is imported, if possible. The supported import formats are published in the `about` resource. For a folder, use `application/vnd.google-apps.folder`. For a shortcut, use `application/vnd.google-apps.shortcut`. |
  | `description`                  | `string`                                                      | A short description of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | `parents`                      | `string`\[]                                                   | The ID of the parent folder containing the file. A file can only have one parent folder; specifying multiple parents isn't supported. If not specified as part of a create request, the file is placed directly in the user's My Drive folder. If not specified as part of a copy request, the file inherits any discoverable parent of the source file. Update requests must use the `addParents` and `removeParents` parameters to modify the parents list.                                         |
  | `starred`                      | `boolean`                                                     | Whether the user has starred the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | `trashed`                      | `boolean`                                                     | Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, but other users can still access the file in the owner's trash until it's permanently deleted.                                                                                                                                                                                                                                                                                 |
  | `folderColorRgb`               | `string`                                                      | The color for a folder or a shortcut to a folder as an RGB hex string. The supported colors are published in the `folderColorPalette` field of the `about` resource. If an unsupported color is specified, the closest color in the palette is used instead.                                                                                                                                                                                                                                          |
  | `originalFilename`             | `string`                                                      | The original filename of the uploaded content if available, or else the original value of the `name` field. This is only available for files with binary content in Google Drive.                                                                                                                                                                                                                                                                                                                     |
  | `writersCanShare`              | `boolean`                                                     | Whether users with only `writer` permission can modify the file's permissions. Not populated for items in shared drives.                                                                                                                                                                                                                                                                                                                                                                              |
  | `copyRequiresWriterPermission` | `boolean`                                                     | Whether the options to copy, print, or download this file should be disabled for readers and commenters.                                                                                                                                                                                                                                                                                                                                                                                              |
  | `createdTime`                  | `string`                                                      | The time at which the file was created (RFC 3339 date-time).                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | `modifiedTime`                 | `string`                                                      | The last time the file was modified by anyone (RFC 3339 date-time). Note that setting `modifiedTime` also updates `modifiedByMeTime` for the user.                                                                                                                                                                                                                                                                                                                                                    |
  | `viewedByMeTime`               | `string`                                                      | The last time the file was viewed by the user (RFC 3339 date-time).                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | `properties`                   | map of `string`                                               | A collection of arbitrary key-value pairs which are visible to all apps. Entries with null values are cleared in update and copy requests.                                                                                                                                                                                                                                                                                                                                                            |
  | `appProperties`                | map of `string`                                               | A collection of arbitrary key-value pairs which are private to the requesting app. Entries with null values are cleared in update and copy requests. These properties can only be retrieved using an authenticated request. An authenticated request uses an access token obtained with an OAuth 2.0 client ID. You cannot use an API key to retrieve private properties.                                                                                                                             |
  | `contentHints`                 | [ContentHints](#contenthints)                                 | Additional information about the content of the file. These fields are never populated in responses.                                                                                                                                                                                                                                                                                                                                                                                                  |
  | `shortcutDetails`              | [ShortcutDetails](#shortcutdetails)                           | Information about a shortcut file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | `contentRestrictions`          | [ContentRestriction](#contentrestriction)\[]                  | Restrictions for accessing the content of the file. Only populated if such a restriction exists.                                                                                                                                                                                                                                                                                                                                                                                                      |
  | `inheritedPermissionsDisabled` | `boolean`                                                     | Whether this file has inherited permissions disabled. Inherited permissions are enabled by default.                                                                                                                                                                                                                                                                                                                                                                                                   |
  | `downloadRestrictions`         | [DownloadRestrictionsMetadata](#downloadrestrictionsmetadata) | Download restrictions applied on the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | `clientEncryptionDetails`      | [ClientEncryptionDetails](#clientencryptiondetails)           | Client Side Encryption related details. Contains details about the encryption state of the file and details regarding the encryption mechanism that clients need to use when decrypting the contents of this item. This will only be present on files and not on folders or shortcuts.                                                                                                                                                                                                                |
</div>

## ContentHints

Additional information about the content of the file. These fields are never populated in responses.

<div className="reference-table">
  | Field           | Type                    | Description                                                                                                                                                                                  |
  | --------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `indexableText` | `string`                | Text to be indexed for the file to improve fullText queries. This is limited to 128 KB in length and may contain HTML elements. <span className="field-constraints">max length 131072</span> |
  | `thumbnail`     | [Thumbnail](#thumbnail) | A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail.                                                                                       |
</div>

## Thumbnail

A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail.

<div className="reference-table">
  | Field      | Type                                                                                                         | Description                     |
  | ---------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------- |
  | `image`    | `string`<br /><span className="markers"><span className="marker" data-marker="transform">bytes</span></span> | Binary data as text             |
  | `mimeType` | `string`                                                                                                     | The MIME type of the thumbnail. |
</div>

## ShortcutDetails

Information about a shortcut file. Apps creating shortcuts with `files.create` must specify the MIME type `application/vnd.google-apps.shortcut`.

<div className="reference-table">
  | Field      | Type     | Description                                                                                  |
  | ---------- | -------- | -------------------------------------------------------------------------------------------- |
  | `targetId` | `string` | The ID of the file that this shortcut points to. Can only be set on `files.create` requests. |
</div>

## ContentRestriction

A restriction for accessing the content of the file.

<div className="reference-table">
  | Field             | Type      | Description                                                                                                                                                                                                    |
  | ----------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `readOnly`        | `boolean` | Whether the content of the file is read-only. If a file is read-only, a new revision of the file may not be added, comments may not be added or modified, and the title of the file may not be modified.       |
  | `reason`          | `string`  | Reason for why the content of the file is restricted. This is only mutable on requests that also set `readOnly=true`.                                                                                          |
  | `ownerRestricted` | `boolean` | Whether the content restriction can only be modified or removed by a user who owns the file. For files in shared drives, any user with `organizer` capabilities can modify or remove this content restriction. |
</div>

## DownloadRestrictionsMetadata

Download restrictions applied to the file.

<div className="reference-table">
  | Field                     | Type                                        | Description                                                                                                                                         |
  | ------------------------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `itemDownloadRestriction` | [DownloadRestriction](#downloadrestriction) | The download restriction of the file applied directly by the owner or organizer. This doesn't take into account shared drive settings or DLP rules. |
</div>

## DownloadRestriction

A restriction for copy and download of the file.

<div className="reference-table">
  | Field                  | Type      | Description                                                                                            |
  | ---------------------- | --------- | ------------------------------------------------------------------------------------------------------ |
  | `restrictedForReaders` | `boolean` | Whether download and copy is restricted for readers.                                                   |
  | `restrictedForWriters` | `boolean` | Whether download and copy is restricted for writers. If true, download is also restricted for readers. |
</div>

## ClientEncryptionDetails

Details about the client-side encryption applied to the file.

<div className="reference-table">
  | Field                | Type                                      | Description                                                                                 |
  | -------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------- |
  | `encryptionState`    | `string`                                  | The encryption state of the file. The values expected here are: `encrypted`, `unencrypted`. |
  | `decryptionMetadata` | [DecryptionMetadata](#decryptionmetadata) | The metadata used for client-side operations.                                               |
</div>

## DecryptionMetadata

Representation of the CSE DecryptionMetadata.

<div className="reference-table">
  | Field                       | Type                                      | Description                                                                                                                                                                                              |
  | --------------------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `wrappedKey`                | `string`                                  | The URL-safe Base64 encoded wrapped key used to encrypt the contents of the file.                                                                                                                        |
  | `kaclsId`                   | `string`                                  | The ID of the KACLS (Key ACL Service) used to encrypt the file.                                                                                                                                          |
  | `kaclsName`                 | `string`                                  | The name of the KACLS (Key ACL Service) used to encrypt the file.                                                                                                                                        |
  | `aes256GcmChunkSize`        | [Aes256GcmChunkSize](#aes256gcmchunksize) | Chunk size used if content was encrypted with the AES 256 GCM Cipher. Possible values are: `default`, `small`.                                                                                           |
  | `jwt`                       | `string`                                  | The signed JSON Web Token (JWT) which can be used to authorize the requesting user with the Key ACL Service (KACLS). The JWT asserts that the requesting user has at least read permissions on the file. |
  | `keyFormat`                 | `string`                                  | Key format for the unwrapped key. Must be `tinkAesGcmKey`.                                                                                                                                               |
  | `encryptionResourceKeyHash` | `string`                                  | The URL-safe Base64 encoded HMAC-SHA256 digest of the resource metadata with its DEK (Data Encryption Key).                                                                                              |
</div>

## Corpora

<div className="enum-table">
  | Value       |
  | ----------- |
  | `user`      |
  | `domain`    |
  | `drive`     |
  | `allDrives` |
</div>

## Alt

<div className="enum-table">
  | Value   |
  | ------- |
  | `json`  |
  | `media` |
</div>

## Aes256GcmChunkSize

<div className="enum-table">
  | Value     |
  | --------- |
  | `default` |
  | `small`   |
</div>
