Apps Script API

Stay organized with collections Save and categorize content based on your preferences.

Manages and executes Google Apps Script projects.


To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:


REST Resource: v1.processes

list GET /v1/processes
List information about processes made by or on behalf of a user, such as process type and current status.
listScriptProcesses GET /v1/processes:listScriptProcesses
List information about a script's executed processes, such as process type and current status.

REST Resource: v1.projects

create POST /v1/projects
Creates a new, empty script project with no script files and a base manifest file.
get GET /v1/projects/{scriptId}
Gets a script project's metadata.
getContent GET /v1/projects/{scriptId}/content
Gets the content of the script project, including the code source and metadata for each script file.
getMetrics GET /v1/projects/{scriptId}/metrics
Get metrics data for scripts, such as number of executions and active users.
updateContent PUT /v1/projects/{scriptId}/content
Updates the content of the specified script project.

REST Resource: v1.projects.deployments

create POST /v1/projects/{scriptId}/deployments
Creates a deployment of an Apps Script project.
delete DELETE /v1/projects/{scriptId}/deployments/{deploymentId}
Deletes a deployment of an Apps Script project.
get GET /v1/projects/{scriptId}/deployments/{deploymentId}
Gets a deployment of an Apps Script project.
list GET /v1/projects/{scriptId}/deployments
Lists the deployments of an Apps Script project.
update PUT /v1/projects/{deploymentConfig.scriptId}/deployments/{deploymentId}
Updates a deployment of an Apps Script project.

REST Resource: v1.projects.versions

create POST /v1/projects/{scriptId}/versions
Creates a new immutable version using the current code, with a unique version number.
get GET /v1/projects/{scriptId}/versions/{versionNumber}
Gets a version of a script project.
list GET /v1/projects/{scriptId}/versions
List the versions of a script project.

REST Resource: v1.scripts

run POST /v1/scripts/{scriptId}:run
Runs a function in an Apps Script project.