{
  "discoveryVersion": "v1",
  "ownerName": "Google",
  "resources": {
    "scripts": {
      "methods": {
        "run": {
          "flatPath": "v1/scripts/{scriptId}:run",
          "id": "script.scripts.run",
          "path": "v1/scripts/{scriptId}:run",
          "description": "Runs a function in an Apps Script project. The project must be deployed\nfor use with the Apps Script Execution API.\n\nThis method requires authorization with an OAuth 2.0 token that includes at\nleast one of the scopes listed in the [Authorization](#authorization)\nsection; script projects that do not require authorization cannot be\nexecuted through this API. To find the correct scopes to include in the\nauthentication token, open the project in the script editor, then select\n**File \u003e Project properties** and click the **Scopes** tab.",
          "request": {
            "$ref": "ExecutionRequest"
          },
          "response": {
            "$ref": "Operation"
          },
          "parameterOrder": [
            "scriptId"
          ],
          "httpMethod": "POST",
          "parameters": {
            "scriptId": {
              "location": "path",
              "description": "The script ID of the script to be executed. To find the script ID, open\nthe project in the script editor and select **File \u003e Project properties**.",
              "type": "string",
              "required": true
            }
          },
          "scopes": [
            "https://mail.google.com/",
            "https://www.google.com/calendar/feeds",
            "https://www.google.com/m8/feeds",
            "https://www.googleapis.com/auth/admin.directory.group",
            "https://www.googleapis.com/auth/admin.directory.user",
            "https://www.googleapis.com/auth/drive",
            "https://www.googleapis.com/auth/forms",
            "https://www.googleapis.com/auth/forms.currentonly",
            "https://www.googleapis.com/auth/groups",
            "https://www.googleapis.com/auth/spreadsheets",
            "https://www.googleapis.com/auth/userinfo.email"
          ]
        }
      }
    }
  },
  "parameters": {
    "bearer_token": {
      "location": "query",
      "description": "OAuth bearer token.",
      "type": "string"
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    },
    "upload_protocol": {
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "type": "boolean",
      "location": "query"
    },
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "$.xgafv": {
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format."
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "alt": {
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "type": "string"
    },
    "pp": {
      "location": "query",
      "description": "Pretty-print response.",
      "default": "true",
      "type": "boolean"
    }
  },
  "schemas": {
    "Status": {
      "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, the response body's `error` field will contain this `Status` object.",
      "type": "object",
      "properties": {
        "message": {
          "description": "A developer-facing error message, which is in English. Any user-facing error message is localized and sent in the [`google.rpc.Status.details`](google.rpc.Status.details) field, or localized by the client.",
          "type": "string"
        },
        "details": {
          "description": "An array that contains a single `ExecutionError` object that provides information about the nature of the error.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "code": {
          "format": "int32",
          "description": "The status code. For this API, this value will always be 3, corresponding to an \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e error.",
          "type": "integer"
        }
      },
      "id": "Status"
    },
    "ExecutionRequest": {
      "type": "object",
      "properties": {
        "devMode": {
          "description": "If `true` and the user is an owner of the script, the script runs at the\nmost recently saved version rather than the version deployed for use with\nthe Execution API. Optional; default is `false`.",
          "type": "boolean"
        },
        "function": {
          "description": "The name of the function to execute in the given script. The name does not\ninclude parentheses or parameters.",
          "type": "string"
        },
        "parameters": {
          "items": {
            "type": "any"
          },
          "type": "array",
          "description": "The parameters to be passed to the function being executed. The object type\nfor each parameter should match the expected type in Apps Script.\nParameters cannot be Apps Script-specific object types (such as a\n`Document` or a `Calendar`); they can only be primitive types such as\n`string`, `number`, `array`, `object`, or `boolean`. Optional."
        },
        "sessionState": {
          "description": "For Android add-ons only. An ID that represents the user's current session\nin the Android app for Google Docs or Sheets, included as extra data in the\n[`Intent`](https://developer.android.com/guide/components/intents-filters.html)\nthat launches the add-on. When an Android add-on is run with a session\nstate, it gains the privileges of a\n[bound](https://developers.google.com/apps-script/guides/bound) script &mdash;\nthat is, it can access information like the user's current cursor position\n(in Docs) or selected cell (in Sheets). To retrieve the state, call\n`Intent.getStringExtra(\"com.google.android.apps.docs.addons.SessionState\")`.\nOptional.",
          "type": "string"
        }
      },
      "id": "ExecutionRequest",
      "description": "A request to run the function in a script. The script is identified by the\nspecified `script_id`. Executing a function on a script returns results\nbased on the implementation of the script."
    },
    "ExecutionResponse": {
      "description": "An object that provides the return value of a function executed through the\nApps Script Execution API. If a\n`run` call succeeds and the\nscript function returns successfully, the response body's\n`response` field contains this\n`ExecutionResponse` object.",
      "type": "object",
      "properties": {
        "result": {
          "description": "The return value of the script function. The type matches the object type\nreturned in Apps Script. Functions called through the Execution API cannot\nreturn Apps Script-specific objects (such as a `Document` or a `Calendar`);\nthey can only return primitive types such as a `string`, `number`, `array`,\n`object`, or `boolean`.",
          "type": "any"
        }
      },
      "id": "ExecutionResponse"
    },
    "Operation": {
      "description": "The response will not arrive until the function finishes executing. The maximum runtime is listed in the guide to [limitations in Apps Script](https://developers.google.com/apps-script/guides/services/quotas#current_limitations).\n\u003cp\u003eIf the script function returns successfully, the `response` field will contain an `ExecutionResponse` object with the function's return value in the object's `result` field.\u003c/p\u003e\n\u003cp\u003eIf the script function (or Apps Script itself) throws an exception, the `error` field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single `ExecutionError` object that provides information about the nature of the error.\u003c/p\u003e\n\u003cp\u003eIf the `run` call itself fails (for example, because of a malformed request or an authorization error), the method will return an HTTP response code in the 4XX range with a different format for the response body. Client libraries will automatically convert a 4XX response into an exception class.\u003c/p\u003e",
      "type": "object",
      "properties": {
        "name": {
          "description": "This field is only used with asynchronous executions and contains a unique identifier that can be used to subsequently invoke a `get` `cancel` or `join` on the asynchronous script execution identified by this name.",
          "type": "string"
        },
        "error": {
          "$ref": "Status",
          "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, this field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single `ExecutionError` object that provides information about the nature of the error."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "This field is not used.",
          "type": "object"
        },
        "done": {
          "description": "This field is only used with asynchronous executions and indicates whether or not the script execution has completed. A completed execution has a populated response field containing the `ExecutionResponse` from function that was executed.",
          "type": "boolean"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "If the script function returns successfully, this field will contain an `ExecutionResponse` object with the function's return value as the object's `result` field.",
          "type": "object"
        }
      },
      "id": "Operation"
    },
    "ScriptStackTraceElement": {
      "properties": {
        "lineNumber": {
          "format": "int32",
          "description": "The line number where the script failed.",
          "type": "integer"
        },
        "function": {
          "description": "The name of the function that failed.",
          "type": "string"
        }
      },
      "id": "ScriptStackTraceElement",
      "description": "A stack trace through the script that shows where the execution failed.",
      "type": "object"
    },
    "ExecutionError": {
      "description": "An object that provides information about the nature of an error in the Apps\nScript Execution API. If an\n`run` call succeeds but the\nscript function (or Apps Script itself) throws an exception, the response\nbody's `error` field contains a\n`Status` object. The `Status` object's `details` field\ncontains an array with a single one of these `ExecutionError` objects.",
      "type": "object",
      "properties": {
        "errorType": {
          "description": "The error type, for example `TypeError` or `ReferenceError`. If the error\ntype is unavailable, this field is not included.",
          "type": "string"
        },
        "errorMessage": {
          "description": "The error message thrown by Apps Script, usually localized into the user's\nlanguage.",
          "type": "string"
        },
        "scriptStackTraceElements": {
          "description": "An array of objects that provide a stack trace through the script to show\nwhere the execution failed, with the deepest call first.",
          "items": {
            "$ref": "ScriptStackTraceElement"
          },
          "type": "array"
        }
      },
      "id": "ExecutionError"
    }
  },
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "protocol": "rest",
  "version": "v1",
  "baseUrl": "https://script.googleapis.com/",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/drive": {
          "description": "View and manage the files in your Google Drive"
        },
        "https://www.googleapis.com/auth/spreadsheets": {
          "description": "View and manage your spreadsheets in Google Drive"
        },
        "https://mail.google.com/": {
          "description": "Read, send, delete, and manage your email"
        },
        "https://www.googleapis.com/auth/admin.directory.group": {
          "description": "View and manage the provisioning of groups on your domain"
        },
        "https://www.googleapis.com/auth/admin.directory.user": {
          "description": "View and manage the provisioning of users on your domain"
        },
        "https://www.googleapis.com/auth/forms": {
          "description": "View and manage your forms in Google Drive"
        },
        "https://www.google.com/m8/feeds": {
          "description": "Manage your contacts"
        },
        "https://www.googleapis.com/auth/userinfo.email": {
          "description": "View your email address"
        },
        "https://www.google.com/calendar/feeds": {
          "description": "Manage your calendars"
        },
        "https://www.googleapis.com/auth/groups": {
          "description": "View and manage your Google Groups"
        },
        "https://www.googleapis.com/auth/forms.currentonly": {
          "description": "View and manage forms that this application has been installed in"
        }
      }
    }
  },
  "servicePath": "",
  "description": "Executes functions in Google Apps Script projects.",
  "kind": "discovery#restDescription",
  "rootUrl": "https://script.googleapis.com/",
  "basePath": "",
  "ownerDomain": "google.com",
  "name": "script",
  "batchPath": "batch",
  "id": "script:v1",
  "documentationLink": "https://developers.google.com/apps-script/execution/rest/v1/scripts/run",
  "revision": "20170823",
  "title": "Google Apps Script Execution API"
}
