--- title: "Put Action" slug: "compute-cloudfunctions-putaction" tags: ["Cloud Functions"] updated: 2026-09-17T10:05:57Z published: 2026-09-17T10:05:57Z canonical: "api.ncloud-docs.com/compute-cloudfunctions-putaction" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Put Action Available in Classic and VPC Create or edit a Cloud Functions action. ## Request This section describes the request format. The method and URI are as follows: | Method | URI | | --- | --- | | PUT | /api/v2/packages/{packageName}/actions/{actionName} | Note Singapore and Japan Regions are available only in the VPC environment. ### Request headers For information about the headers common to all Cloud Functions APIs, see [Cloud Functions request headers](/docs/en/compute-cloudfunctions#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request path parameters You can use the following path parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `packageName` | String | Required | Package name - Enter 1-50 characters, including English letters, numbers, and special characters "-" and "_". - It can't start with "-". - It can't be duplicated with other resource (package, action, trigger) names. - Enter the special character "-" to create actions that are not part of a package. - Example: `/packages/-/actions/myaction` | | `actionName` | String | Required | Action name - Enter 1-50 characters, including English letters, numbers, and special characters "-" and "_". - It can't start with "-". - It can't be duplicated with other resource (package, action, trigger) names. | ### Request query parameters You can use the following query parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `platform` | String | Optional | Platform type - `vpc` \| `classic` (default) | ### Request body You can include the following data in the body of your request: #### Basic action The following describes the request body for basic actions. | Field | Type | Required | Description | | --- | --- | --- | --- | | `description` | String | Optional | Action description (byte) - 0-3000 | | `web` | Boolean | Optional | Set web action - `true` \| `false` - `true`: web action - `false`: general action - Default - When creating a new action: `false` - When editing an existing action: `true` - Can't change the type of an existing action. | | `raw-http` | Boolean | Optional | Whether to use the HTTP origin - `true` \| `false` (default) - If `web` is `false`, only `false` can be entered. - Only supported for web actions. | | `custom-options` | Boolean | Optional | Set header options - `true` \| `false` (default) - If `web` is `false`, only `false` can be entered. - Only supported for web actions. | | `parameters` | Object | Optional | Default parameters of the action - JSON in the form of `{"key": "value"}` - Priority of applying parameters when running actions - 1st priority: Runtime parameters passed at runtime - 2nd priority: Default parameters of connected triggers - 3rd priority: Default parameters in actions - 4th priority: Default parameters of included packages | | `limits.timeout` | Integer | Required | Maximum action execution time (milliseconds) - 500-300,000 - Force terminate the action on timeout. | | `limits.memory` | Integer | Required | Maximum memory size for the action (MB) - `128` \| `256` \| `512` \| `1024` | | `exec.kind` | String | Required | Action runtime - Options can be found in [Cloud Functions runtime information](https://guide.ncloud-docs.com/docs/en/cloudfunctions-spec-runtime). - The custom image runtime is only supported in v2.1. | | `exec.binary` | Boolean | Required | Whether the action code file is binary - `true` \| `false` - `true`: Enter the Base64 -encoded value from the action code file in `exec.code`. - `false`: Enter the action code in `exec.code`. - If `exec.kind` is `java` or `dotnet:2.2`, enter `true`. | | `exec.code` | String | Required | Action source code - Source code: Enter the code verbatim. - File attachment: Enter the action code file binary data encoded in Base64. - Need to escape when typing code directly. - Java or .NET runtime only allows file binaries. - Java can only be uploaded as a compressed *.jar file. - .NET (dotnet) can only be uploaded as a *.zip file (compressed file). | | `exec.main` | String | Required | Execution function | | `vpc` | Object | Optional | VPC information to connect - Enter only if `platform` is `vpc`. | | `vpc.vpcNo` | Integer | Optional | Number of VPC to connect - See [getVPCList](/docs/en/networking-vpc-vpcmanagement-getvpclist). | | `vpc.subnetNo` | Integer | Optional | Number of subnet to connect - See [getSubnetList](/docs/en/networking-vpc-subnetmanagement-getsubnetlist). | #### Sequence action The following describes the request body for sequence actions. | Field | Type | Required | Description | | --- | --- | --- | --- | | `description` | String | Optional | Action description (byte) - 0-3000 | | `web` | Boolean | Optional | Set web action - `true` \| `false` - `true`: web action - `false`: general action - Default - When creating a new action: `false` - When editing an existing action: `true` - Can't change the type of an existing action. | | `exec.kind` | String | Required | Action type - `sequence` (fixed value) | | `exec.components` | String[] | Required | List of actions to connect to the sequence action - `{packageName}/{actionName}` format. - Enter actions in the order of execution. - When connecting an action that is not part of a package, enter the special character "-" in `packageName`. | ### Request example The request example is as follows: ``` curl --location --request PUT 'https://cloudfunctions.apigw.ntruss.com/api/v2/packages/package003/actions/action001?platform=classic' \ --header 'Content-Type: application/json' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Sub Account Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --data '{ "description" : "Create Action", "web": false, "raw-http": false, "custom-options" : false, "parameters": { "name": "action000" }, "limits": { "timeout": 60000, "memory": 128 }, "exec": { "kind": "nodejs:16", "code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n return {payload: \"abc\"};\n}", "binary": false, "main": "main" } }' ``` ## Response This section describes the response format. ### Response body The response body includes the following data: #### Basic action The following describes the response body for basic actions. | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | Object | - | Action creation and modification information | | `content.name` | String | - | Action name | | `content.path` | String | - | Action path | | `content.description` | String | - | Action description | | `content.parameters` | Object | - | Default parameters of the action | | `content.resourceId` | String | - | Action's resource ID | | `content.web` | Boolean | - | Web action settings | | `content.raw-http` | Boolean | - | Whether to use the HTTP origin - Supported only for web actions | | `content.custom-options` | Boolean | - | Header option settings - Supported only for web actions | | `content.exec.binary` | Boolean | - | Whether the action code is file binary | | `content.exec.code` | String | - | Action source code or Base64-encoded code file binary | | `content.exec.kind` | String | - | Language in use | | `content.exec.main` | String | - | Execution function | | `content.limits.memory` | Integer | - | Size of memory allocated to the action container | | `content.limits.timeout` | Integer | - | Maximum time an action can run | | `content.vpc` | Object | - | Information of the connected VPC - Display only if `platform` is `vpc` | | `content.vpc.vpcNo` | Integer | - | Number of the connected VPC | | `content.vpc.subnetNo` | Integer | - | Number of the connected subnet | #### Sequence action The following describes the response body for sequence actions. | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | Object | - | Action creation and modification information | | `content.name` | String | - | Action name | | `content.path` | String | - | Action path | | `content.description` | String | - | Action description | | `content.resourceId` | String | - | Action's resource ID | | `content.web` | Boolean | - | Web action settings | | `content.exec.kind` | String | - | Action type - `sequence` (fixed value) | | `content.exec.components` | String[] | - | List of connected actions | ### Response status codes For information about the HTTP status codes common to NAVER Cloud Platform, see [Ncloud API response status codes](/docs/en/common-ncpapi#3%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). ### Response example The response example is as follows: ``` { "content": { "custom-options": false, "description": "Create Action", "exec": { "binary": false, "code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n return {payload: \"abc\"};\n}", "kind": "nodejs:16", "main": "main" }, "limits": { "memory": 128, "timeout": 60000 }, "name": "action001", "parameters": { "name": "action000" }, "path": "otojYBN*****/package003", "raw-http": false, "resourceId": "Hb***", "web": false } } ```