---
schema_version: "1"
id: f84bdf1c597f5bc588b25e04f3c418342d5629b439c150a8988e08ba4c954763
title: Document
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_tooling/tooling_api_objects_document.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_document.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 7ac988f1fe49141b70c9303bfaba20a969217ced4726f35a98326aaf09f0a6d1
description: Represents a file that a user has uploaded. Unlike Attachment records, documents are not attached to a parent object. Available in Tooling API version 38.0 and later.
---
# Document

Represents a file that a user has uploaded. Unlike Attachment records, documents are not attached to a parent object. Available in Tooling API version 38.0 and later.

## Supported SOAP Calls

getDeleted(), getUpdated(), query(), retrieve(), search()

## Supported REST HTTP Methods

GET

## Limitations

[SOSL Limitations](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_sosl_limits.htm "Two Tooling API objects, EntityDefinition and FieldDefinition, have some SOSL limitations. ExternalString and MetadataComponentDependency (Beta) don’t support SOSL searches.")

## Fields

| Field | Details |
| --- | --- |
| AuthorId | 
Type

reference

Properties

Filter, Group, Sort

Description

ID of the user who is responsible for the document.



 |
| Body | 

Type

base64

Properties

Nillable

Description

Required. Encoded file data. If specified, then do not specify a URL.



 |
| BodyLength | 

Type

int

Properties

Filter, Group, Sort

Description

Size of the file (in bytes). If specified, then do not specify a URL.



 |
| ContentType | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Type of content. Label is **Mime Type**. Limit: 120 characters.

If the Don't allow HTML uploads as attachments or document records security setting is enabled for your organization, you cannot upload files with the following file extensions: .htm, .html, .htt, .htx, .mhtm, .mhtml, .shtm, .shtml, .acgi, .svg.





 |
| Description | 

Type

textarea

Properties

Filter, Group, Nillable, Sort

Description

Text description of the document. Limit: 255 characters.



 |
| DeveloperName | 

Type

string

Properties

Filter, Group, Sort

Description

The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Document Unique Name**.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/images/icon_note.png)

#### Note

When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.















 |
| FolderId | 

Type

reference

Properties

Filter, Group, Sort

Description

Required. ID of the folder that contains the document.



 |
| FullName | 

Type

string

Properties

Create, Group, Nillable

Description

The full name of the associated metadata object in Metadata API. Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.



 |
| IsBodySearchable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

Indicates whether the contents of the object can be searched using a SOSL FIND call. The ALL FIELDS search group includes the content as a searchable field.



 |
| IsInternalUseOnly | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

Indicates whether the object is only available for internal use (true) or not (false). Label is **Internal Use Only**.



 |
| IsPublic | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

Indicates whether the object is available for external use (true) or not (false). Label is **Externally Available**.



 |
| Keywords | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Keywords. Limit: 255 characters.



 |
| LastReferencedDate | 

Type

dateTime

Properties

Filter, Nillable, Sort

Description

The timestamp for when the current user last viewed a record related to this record.



 |
| LastViewedDate | 

Type

dateTime

Properties

Filter, Nillable, Sort

Description

The timestamp for when the current user last viewed this record. If this value is null, this record might only have been referenced (LastReferencedDate) and not viewed.



 |
| ManageableState | 

Type

ManageableState enumerated list

Properties

Filter, Group, Nillable, Restricted picklist, Sort

Description

Indicates the manageable state of the specified component that is contained in a package:

- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged





 |
| Metadata | 

Type

complexvalue

Properties

Create, Nillable, Update

Description

The metadata for this object as defined in the Metadata API. Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.



 |
| Name | 

Type

string

Properties

Filter, Group, idLookup, Sort

Description

Required. Name of the document. Label is **Document Name**.



 |
| NamespacePrefix | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The namespace prefix that is associated with this object. Each Developer Edition org that creates a managed package has a unique namespace prefix. Limit: 15 characters. You can refer to a component in a managed package by using the namespacePrefix\_\_componentName notation.

The namespace prefix can have one of the following values.

- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless an object is in an installed managed package. In that case, the object has the namespace prefix of the installed managed package. This field’s value is the namespace prefix of the Developer Edition org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.





 |
| Type | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

File type of the document. In general, the values match the file extension for the type of document (such as pdf or jpg). Label is **File Extension**.



 |
| Url | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

URL reference to the file (used instead of storing it in the database). If specified, do not specify the Body or BodyLength.



 |