Cloud Functions API

Manages lightweight user-provided functions executed in response to events.


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.operations

get GET /v1/{name}
Gets the latest state of a long-running operation.
list GET /v1/operations
Lists operations that match the specified filter in the request.

REST Resource: v1.projects.locations

list GET /v1/{name}/locations
Lists information about the supported locations for this service.

REST Resource: v1.projects.locations.functions

call POST /v1/{name}:call
Synchronously invokes a deployed Cloud Function.
create POST /v1/{location}/functions
Creates a new function.
delete DELETE /v1/{name}
Deletes a function with the given name from the specified project.
generateDownloadUrl POST /v1/{name}:generateDownloadUrl
Returns a signed URL for downloading deployed function source code.
generateUploadUrl POST /v1/{parent}/functions:generateUploadUrl
Returns a signed URL for uploading a function source code.
get GET /v1/{name}
Returns a function with the given name from the requested project.
getIamPolicy GET /v1/{resource}:getIamPolicy
Gets the IAM access control policy for a function.
list GET /v1/{parent}/functions
Returns a list of functions that belong to the requested project.
patch PATCH /v1/{}
Updates existing function.
setIamPolicy POST /v1/{resource}:setIamPolicy
Sets the IAM access control policy on the specified function.
testIamPermissions POST /v1/{resource}:testIamPermissions
Tests the specified permissions against the IAM access control policy for a function.