Google Apps Script website screenshot

Google Apps Script

The Apps Script API provides programmatic access to manage Google Apps Script projects, deployments, and executions. It enables creating and updating script projects, managing project versions and deployments, monitoring script processes, and remotely executing Apps Script functions. The API is essential for automating Apps Script project management and integrating script execution into external applications.

1 APIs 5 Features
Apps ScriptAutomationDeploymentsGoogleGoogle WorkspaceScripting

APIs

Google Apps Script API

The Apps Script API manages Google Apps Script projects, deployments, versions, and processes. It supports creating script projects, updating content, managing deployments, moni...

Collections

Pricing Plans

Rate Limits

Google Apps Script Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Create and manage Apps Script projects programmatically
Deploy script projects as web apps, add-ons, and API executables
Remotely execute Apps Script functions from external applications
Monitor script execution processes and metrics
Version management with immutable snapshots of script code

Use Cases

Automating Google Workspace workflows across Sheets, Docs, and Gmail
Building custom add-ons and integrations for Google Workspace
Managing script deployments across development and production environments
Monitoring script execution health and performance metrics
Integrating Apps Script automation into CI/CD pipelines

Integrations

Google Workspace apps including Sheets, Docs, Slides, Gmail, and Calendar
Google Cloud Platform services for extended functionality
External REST APIs via Apps Script UrlFetchApp service
Google Drive for document and file management automation
clasp CLI for local development and version control workflows

Semantic Vocabularies

Json Ld Context

4 classes · 5 properties

JSON-LD

Openapi Context

0 classes · 0 properties

JSON-LD

API Governance Rules

Google Apps Script API Rules

7 rules · 7 errors

SPECTRAL

JSON Structure

Openapi Content Structure

2 properties

JSON STRUCTURE

Openapi Create Project Request Structure

2 properties

JSON STRUCTURE

Openapi Deployment Config Structure

4 properties

JSON STRUCTURE

Openapi Deployment Structure

2 properties

JSON STRUCTURE

Openapi Execution Request Structure

4 properties

JSON STRUCTURE

Openapi File Structure

5 properties

JSON STRUCTURE

Openapi List Deployments Response Structure

2 properties

JSON STRUCTURE

Openapi List Processes Response Structure

2 properties

JSON STRUCTURE

Openapi List Versions Response Structure

2 properties

JSON STRUCTURE

Openapi Metrics Structure

3 properties

JSON STRUCTURE

Openapi Operation Structure

3 properties

JSON STRUCTURE

Openapi Process Structure

6 properties

JSON STRUCTURE

Openapi Project Structure

6 properties

JSON STRUCTURE

Openapi Update Deployment Request Structure

0 properties

JSON STRUCTURE

Openapi Version Structure

4 properties

JSON STRUCTURE

Example Payloads

Openapi Content Example

2 fields

EXAMPLE

Openapi Deployment Example

2 fields

EXAMPLE

Openapi File Example

5 fields

EXAMPLE

Openapi Metrics Example

3 fields

EXAMPLE

Openapi Operation Example

3 fields

EXAMPLE

Openapi Process Example

6 fields

EXAMPLE

Openapi Project Example

6 fields

EXAMPLE

Openapi Version Example

4 fields

EXAMPLE

Resources

🚀
GettingStarted
GettingStarted
💰
Pricing
Pricing
🔗
JSONLD
JSONLD
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
🔗
CLI
CLI
🔗
Documentation
Documentation
💬
Support
Support
📰
Blog
Blog
🔗
Rules
Rules
🔗
Capabilities
Capabilities
🔗
Capabilities
Capabilities

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Google Apps Script API
  version: v1
items:
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: Google Apps Script Create Project
      type: http
    http:
      method: POST
      url: https://script.googleapis.com/v1/projects
      body:
        type: json
        data: '{}'
    docs: Creates a new, empty script project with no script files.
  - info:
      name: Google Apps Script Get Project
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/projects/:scriptId
      params:
      - name: scriptId
        value: '500123'
        type: path
    docs: Gets a script project's metadata.
  - info:
      name: Google Apps Script Get Project Content
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/projects/:scriptId/content
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: versionNumber
        value: '10'
        type: query
    docs: Gets the content of the script project including code source and metadata.
  - info:
      name: Google Apps Script Update Project Content
      type: http
    http:
      method: PUT
      url: https://script.googleapis.com/v1/projects/:scriptId/content
      params:
      - name: scriptId
        value: '500123'
        type: path
      body:
        type: json
        data: '{}'
    docs: Updates the content of the specified script project.
  - info:
      name: Google Apps Script Get Project Metrics
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/projects/:scriptId/metrics
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: metricsGranularity
        value: UNSPECIFIED_GRANULARITY
        type: query
    docs: Get metrics data for scripts such as number of executions and active users.
  - info:
      name: Google Apps Script List Deployments
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/projects/:scriptId/deployments
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: pageSize
        value: '10'
        type: query
      - name: pageToken
        value: example_value
        type: query
    docs: Lists the deployments of an Apps Script project.
  - info:
      name: Google Apps Script Create Deployment
      type: http
    http:
      method: POST
      url: https://script.googleapis.com/v1/projects/:scriptId/deployments
      params:
      - name: scriptId
        value: '500123'
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates a deployment of an Apps Script project.
  - info:
      name: Google Apps Script Get Deployment
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/projects/:scriptId/deployments/:deploymentId
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: deploymentId
        value: '500123'
        type: path
    docs: Gets a deployment of an Apps Script project.
  - info:
      name: Google Apps Script Update Deployment
      type: http
    http:
      method: PUT
      url: https://script.googleapis.com/v1/projects/:scriptId/deployments/:deploymentId
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: deploymentId
        value: '500123'
        type: path
      body:
        type: json
        data: '{}'
    docs: Updates a deployment of an Apps Script project.
  - info:
      name: Google Apps Script Delete Deployment
      type: http
    http:
      method: DELETE
      url: https://script.googleapis.com/v1/projects/:scriptId/deployments/:deploymentId
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: deploymentId
        value: '500123'
        type: path
    docs: Deletes a deployment of an Apps Script project.
  - info:
      name: Google Apps Script List Versions
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/projects/:scriptId/versions
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: pageSize
        value: '10'
        type: query
      - name: pageToken
        value: example_value
        type: query
    docs: List the versions of a script project.
  - info:
      name: Google Apps Script Create Version
      type: http
    http:
      method: POST
      url: https://script.googleapis.com/v1/projects/:scriptId/versions
      params:
      - name: scriptId
        value: '500123'
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates a new immutable version using the current code.
  - info:
      name: Google Apps Script Get Version
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/projects/:scriptId/versions/:versionNumber
      params:
      - name: scriptId
        value: '500123'
        type: path
      - name: versionNumber
        value: '10'
        type: path
    docs: Gets a version of a script project.
- info:
    name: Scripts
    type: folder
  items:
  - info:
      name: Google Apps Script Run Script
      type: http
    http:
      method: POST
      url: https://script.googleapis.com/v1/scripts/:scriptId:run
      params:
      - name: scriptId
        value: '500123'
        type: path
      body:
        type: json
        data: '{}'
    docs: Runs a function in an Apps Script project.
- info:
    name: Processes
    type: folder
  items:
  - info:
      name: Google Apps Script List Processes
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/processes
      params:
      - name: pageSize
        value: '10'
        type: query
      - name: pageToken
        value: example_value
        type: query
    docs: List information about processes made by or on behalf of a user.
- info:
    name: processes:listScriptProcesses
    type: folder
  items:
  - info:
      name: Google Apps Script List Script Processes
      type: http
    http:
      method: GET
      url: https://script.googleapis.com/v1/processes:listScriptProcesses
      params:
      - name: pageSize
        value: '10'
        type: query
      - name: pageToken
        value: example_value
        type: query
      - name: scriptId
        value: '500123'
        type: query
    docs: List information about a script's executed processes.
bundled: true