Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return ALREADY_EXISTS error.
HTTP request
POST https://cloudfunctions.googleapis.com/v1/{location}/functions
Path parameters
Parameters
location
string
Required. The project and location in which the function should be created, specified in the format projects/*/locations/* It takes the form projects/{project}/locations/{location}.
Authorization requires the following IAM permission on the specified resource location:
cloudfunctions.functions.create
Request body
The request body contains an instance of CloudFunction.
Response body
If successful, the response body contains a newly created instance of Operation.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-16 UTC."],[[["\u003cp\u003eThis documentation details the process for creating a new cloud function via an HTTP POST request.\u003c/p\u003e\n"],["\u003cp\u003eThe function creation requires specifying the project and location in the request path, in the format \u003ccode\u003eprojects/*/locations/*\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe request body must contain the details of the function to be created, defined as an instance of \u003ccode\u003eCloudFunction\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful creation of a cloud function will return a new instance of \u003ccode\u003eOperation\u003c/code\u003e in the response body.\u003c/p\u003e\n"],["\u003cp\u003eThe request needs the \u003ccode\u003ecloudfunctions.functions.create\u003c/code\u003e IAM permission and \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e OAuth scope.\u003c/p\u003e\n"]]],[],null,["# Method: projects.locations.functions.create\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nCreates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error.\n\n### HTTP request\n\n`POST https://cloudfunctions.googleapis.com/v1/{location}/functions`\n\n### Path parameters\n\n### Request body\n\nThe request body contains an instance of [CloudFunction](/functions/docs/reference/rest/v1/projects.locations.functions#CloudFunction).\n\n### Response body\n\nIf successful, the response body contains a newly created instance of [Operation](/functions/docs/reference/rest/Shared.Types/ListOperationsResponse#Operation).\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]