Inserts a new file.
This method supports an /uploadURI and accepts uploaded media with the following characteristics:
- Maximum file size:5,120 GB
-  Accepted Media MIME types: */*
Note: Specify a valid MIME type, rather than the literal */* 
value. The literal */* 
is only used to indicate that any valid MIME type can be uploaded.
For more information on uploading files, see Upload file data .
Apps creating shortcuts with files.insert 
must specify the MIME type application/vnd.google-apps.shortcut 
.
Apps should specify a file extension in the title 
property when inserting files with the API. For example, an operation to insert a JPEG file should specify something like "title": "cat.jpg" 
in the metadata.
Subsequent GET 
requests include the read-only fileExtension 
property populated with the extension originally specified in the title 
property. When a Google Drive user requests to download a file, or when the file is downloaded through the sync client, Drive builds a full filename (with extension) based on the title. In cases where the extension is missing, Drive attempts to determine the extension based on the file's MIME type.
HTTP request
- Upload URI, for media upload requests:
 POST https://www.googleapis.com/upload/drive/v2/files
- Metadata URI, for metadata-only requests:
 POST https://www.googleapis.com/drive/v2/files
The URL uses gRPC Transcoding syntax.
Query parameters
convert 
 boolean 
Whether to convert this file to the corresponding Docs Editors format.
enforceSingleParent
 (deprecated) 
 
 boolean 
Deprecated: Creating files in multiple folders is no longer supported.
ocr 
 boolean 
Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
ocrLanguage 
 string 
If ocr is true, hints at the language to use. Valid values are BCP 47 codes.
pinned 
 boolean 
Whether to pin the head revision of the uploaded file. A file can have a maximum of 200 pinned revisions.
supportsAllDrives 
 boolean 
Whether the requesting application supports both My Drives and shared drives.
supportsTeamDrives
 (deprecated) 
 
 boolean 
Deprecated: Use supportsAllDrives 
instead.
timedTextLanguage 
 string 
The language of the timed text.
timedTextTrackName 
 string 
The timed text track name.
uploadType 
 string 
The type of upload request to the /upload 
URI. If you are uploading data with an /upload 
URI, this field is required. If you are creating a metadata-only file, this field is not required. Additionally, this field is not shown in the "Try this method" widget because the widget doesn't support data uploads.
Acceptable values are:
-  media- Simple upload . Upload the media only, without any metadata.
-  multipart- Multipart upload . Upload both the media and its metadata, in a single request.
-  resumable- Resumable upload . Upload the file in a resumable fashion, using a series of at least two requests where the first request includes the metadata.
useContentAsIndexableText 
 boolean 
Whether to use the content as indexable text.
visibility 
 enum (  
 Visibility 
 
)
The visibility of the new file. This parameter is only relevant when convert=false.
includeLabels 
 string 
A comma-separated list of IDs of labels to include in the labelInfo 
part of the response.
Request body
The request body contains an instance of  File 
 
.
Response body
If successful, the response body contains an instance of  File 
 
.
Authorization scopes
Requires one of the following OAuth scopes:
-  https://www.googleapis.com/auth/docs
-  https://www.googleapis.com/auth/drive
-  https://www.googleapis.com/auth/drive.appdata
-  https://www.googleapis.com/auth/drive.apps.readonly
-  https://www.googleapis.com/auth/drive.file
Some scopes are restricted and require a security assessment for your app to use them. For more information, see the Authorization guide .

