--- title: "Edit edge" slug: "edge-edit" updated: 2026-09-17T10:05:54Z published: 2026-09-17T10:05:54Z canonical: "api.ncloud-docs.com/edge-edit" --- > ## 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. # Edit edge Available in Classic and VPC Configure an edge that is either running or stopped. Existing settings will be overwritten based on the input. Note Note the following when editing edges. - The service area and service domain settings can't be edited. - The edge name can only be edited in the console. ## Request This section describes the request format. The method and URI are as follows: | Method | URI | | --- | --- | | PUT | /api/v1/cdn-edges/{edgeId} | ### Request headers For information about the headers common to all Global Edge APIs, see [Global Edge request headers](/docs/en/edge-overview#%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 | | --- | --- | --- | --- | | `edgeId` | Long | Required | Edge ID - See [Get edge list](/docs/en/edge-listing). | ### Request body You can include the following data in the body of your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `profileId` | Long | Required | Profile ID - See [Get profile list](/docs/en/profile-listing). | | `edgeName` | String | Required | Edge name - Enter 3-35 characters using a combination of English letters, numbers, and special characters "-" and "_". | | `distributionConfig` | Object | Required | Deployment settings: [CdnDistributionConfig](/docs/en/edge-edit#CdnDistributionConfig) | | `originalCopyConfig` | Object | Required | Origin settings: [CdnOriginalCopyConfig](/docs/en/edge-edit#CdnOriginalCopyConfig) | | `cachingConfig` | Object | Required | Cache settings: [CdnCachingConfig](/docs/en/edge-edit#CdnCachingConfig) | | `managedRule` | Object | Required | Managed rule: [ManagedRule](/docs/en/edge-edit#ManagedRule) | | `headerPolicies` | Array | Required | Header settings: [HeaderPolicy](/docs/en/edge-edit#HeaderPolicy) - If not set, enter the empty value `[]`. | | `optimizationConfig` | Object | Required | Optimization settings: [OptimizationConfig](/docs/en/edge-edit#OptimizationConfig) | | `accessControl` | Object | Required | Access control settings: [AccessControl](/docs/en/edge-edit#AccessControl) | #### `CdnDistributionConfig` The following describes `CdnDistributionConfig`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `protocolType` | String | Required | Service protocol - `HTTP` \| `HTTPS` \| `ALL` | | `regionType` | String | Required | Service area - `KOREA` \| `JAPAN` \| `GLOBAL` - `KOREA`: Korea - `JAPAN`: Japan - `GLOBAL`: Global - Enter the current value since it can't be changed. | | `serviceDomain` | Object | Required | Service domain settings - Enter the current value since it can't be changed. | | `serviceDomain.domainType` | String | Required | Service domain type - `NCP_DOMAIN_AUTO` \| `NCP_DOMAIN_CUSTOM` \| `CUSTOM_DOMAIN` - `NCP_DOMAIN_AUTO`: Automatically generated NAVER Cloud Platform domain - `NCP_DOMAIN_CUSTOM`: NAVER Cloud Platform domain including user input values - `CUSTOM_DOMAIN`: User-owned domain | | `serviceDomain.domainName` | String | Conditional | Domain name - Required if `serviceDomain.domainType` is `NCP_DOMAIN_CUSTOM` or `CUSTOM_DOMAIN` | | `serviceDomain.certificate` | Object | Conditional | Certificate - Required, including subinformation, when serving a user-owned domain (`CUSTOM_DOMAIN`) over HTTPS | | `serviceDomain.certificate.id` | Number | Conditional | Certificate slot ID - See [Get certificate list](/docs/en/edge-getcertificatelist). | | `edgeLogging` | Object | Required | Edge log settings | | `edgeLogging.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable | | `edgeLogging.bucketPrefix` | String | Optional | Log storage path | | `edgeLogging.objectStorage` | Object | Conditional | Log storage information - Only buckets registered in Object Storage are available. - Required, including subinformation, if `edgeLogging.enabled` is `true`. | | `edgeLogging.objectStorage.region` | String | Conditional | Service Region - `KR` \| `USWN` \| `SGN` \| `JPN` \| `DEN` - `KR`: Korea - `USWN`: U.S. - `SGN`: Singapore - `JPN`: Japan - `DEN`: Germany | | `edgeLogging.objectStorage.bucketName` | String | Conditional | Bucket name | #### `CdnOriginalCopyConfig` The following describes `CdnOriginalCopyConfig`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `originalCopyLocation` | Object | Required | Origin server settings | | `originalCopyLocation.type` | String | Required | Origin type - `OBJECT_STORAGE` \| `LOAD_BALANCER` \| `API_GATEWAY` \| `CUSTOM` - `OBJECT_STORAGE`: NAVER Cloud Platform's Object Storage - `LOAD_BALANCER`: NAVER Cloud Platform's Load Balancer - `API_GATEWAY`: NAVER Cloud Platform's API Gateway - `CUSTOM`: External origin domain | | `originalCopyLocation.region` | String | Conditional | Service Region - `KR` \| `USWN` \| `SGN` \| `JPN` \| `DEN` - `KR`: Korea - `USWN`: U.S. - `SGN`: Singapore - `JPN`: Japan - `DEN`: Germany - Required if `originalCopyLocation.type` is `OBJECT_STORAGE` or `LOAD_BALANCER` | | `originalCopyLocation.bucketName` | String | Conditional | Bucket name - Required if `originalCopyLocation.type` is `OBJECT_STORAGE` | | `originalCopyLocation.customLocation` | String | Conditional | Origin domain name - Required if `originalCopyLocation.type` is `LOAD_BALANCER`, `API_GATEWAY`, or `CUSTOM` | | `forwardHostHeader` | Object | Required | Host header forwarding settings | | `forwardHostHeader.type` | String | Required | Forwarding type - `INCOMING_HOST_HEADER` \| `ORIGIN_HOSTNAME` \| `CUSTOM` - `INCOMING_HOST_HEADER`: Use header received from client. - `ORIGIN_HOSTNAME`: Replace header with a specific value. - `CUSTOM`: Specify header value. | | `forwardHostHeader.customHostHeader` | String | Conditional | Host header value - Required if `forwardHostHeader.type` is `CUSTOM` | | `originalCopyProtocol` | Object | Required | Origin protocol settings | | `originalCopyProtocol.type` | String | Required | Protocol type - `HTTP` \| `HTTPS` | | `originalCopyProtocol.port` | Integer | Required | Port number | | `originalCopyPath` | String | Optional | Origin path - URL to add for origin request. - `/{Path}/` format: English letters, numbers, and special character "_" is allowed. | | `originFailoverConfig` | Object | Optional | Origin failover settings | | `originFailoverConfig.ruleName` | String | Conditional | Failover rule name | | `originFailoverConfig.statusCodes` | Array | Conditional | List of origin response codes - `404` \| `500` \| `502` \| `503` \| `504` | | `originFailoverConfig.originalCopyLocation` | Object | Conditional | Backup origin server information to forward requests to | | `originFailoverConfig.originalCopyLocation.type` | String | Conditional | Backup origin type - `OBJECT_STORAGE` \| `CUSTOM` - `OBJECT_STORAGE`: Object Storage - `CUSTOM`: External domain | | `originFailoverConfig.originalCopyLocation.region` | String | Conditional | Service Region - `KR` \| `USWN` \| `SGN` \| `JPN` \| `DEN` - `KR`: Korea - `USWN`: U.S. - `SGN`: Singapore - `JPN`: Japan - `DEN`: Germany - Required if `originFailoverConfig.originalCopyLocation.type` is `OBJECT_STORAGE` | | `originFailoverConfig.originalCopyLocation.bucketName` | String | Conditional | Bucket name - Required if `originFailoverConfig.originalCopyLocation.type` is `OBJECT_STORAGE` | | `originFailoverConfig.originalCopyLocation.customLocation` | String | Conditional | Origin domain name - Required if `originFailoverConfig.originalCopyLocation.type` is `CUSTOM` | #### `CdnCachingConfig` The following describes `CdnCachingConfig`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `defaultCaching` | Object | Required | Default cache settings | | `defaultCaching.enabled` | Boolean | Required | Feature usage status - `true` - Only `true` is available. | | `defaultCaching.ruleDefinitionType` | String | Required | Cache options - `CACHING` \| `BYPASS_CACHE` \| `ORIGIN_CACHE_CONTROL_HEADER` - `CACHING`: Cache - `BYPASS_CACHE`: Bypass to origin server - `ORIGIN_CACHE_CONTROL_HEADER`: Process based on origin cache-control header | | `defaultCaching.cacheRevalidateConfig` | Object | Required | Set up revalidation of stale objects. - Specify what to do when the cache expires and the origin can't be used. | | `defaultCaching.cacheRevalidateConfig.type` | String | Required | Revalidation type - `IF_POSSIBLE` \| `ALWAYS` - `IF_POSSIBLE`: Serve stale objects if validation can't be done. - `ALWAYS`: Always validates origin. | | `defaultCaching.cacheRevalidateConfig.ageType` | String | Required | Maximum cache retention period unit - `SECONDS` \| `MINUTES` \| `HOURS` \| `DAYS` - `SECONDS`: Second - `MINUTES`: Minute - `HOURS`: Hour - `DAYS`: Day | | `defaultCaching.cacheRevalidateConfig.age` | String | Required | Maximum cache retention period - 1 second to 365 days | | `negativeTtl` | Boolean | Required | Whether to use negative TTL - `true` \| `false` - `true`: Enable - `false`: Disable - Cache response when the origin server returns an error response. | | `bypassQueryString` | Object | Required | Bypass query string settings - Specify a condition string to bypass to the origin server without caching. | | `bypassQueryString.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable - If `true`, related information must be entered. | | `bypassQueryString.queryStrings` | Array | Conditional | Target string list | | `cacheKeyHostname` | String | Required | Cache key host name type - `INCOMING_HOST_HEADER` \| `ORIGIN_HOSTNAME` - `INCOMING_HOST_HEADER`: Include service domain in cache key. - `ORIGIN_HOSTNAME`: Include host name of origin server in cache key. | | `cacheKeyIgnoreQueryString` | Object | Required | Cache key query string settings - Specify how query strings are included/ignored when generating cache keys. | | `cacheKeyIgnoreQueryString.type` | String | Required | Setting type - `ALL_IGNORED` \| `ALL_ALLOWED` \| `ALLOW_SPECIFIC_STRING` - `ALL_IGNORED`: Ignore all. - `ALL_ALLOWED`: Allow all. - `ALLOW_SPECIFIC_STRING`: Allow specific string. | | `cacheKeyIgnoreQueryString.queryStrings` | Array | Conditional | Target string list - Required if `cacheKeyIgnoreQueryString.type` is `ALLOW_SPECIFIC_STRING` | | `urlLetterCaseIgnoreUse` | Boolean | Optional | Whether to ignore cache key case sensitivity - `true` \| `false` (default) - `true`: Ignore - `false`: Not ignore - URL and file names can be cached ignoring case if origin is not case sensitive. | | `removeVaryHeader` | Boolean | Required | Whether to remove the Vary header - `true` \| `false` - `true`: Enable - `false`: Disable - Cache after removing Vary headers other than Accept-Encoding in origin server responses when enabled. | | `edgeAuth` | Object | Required | Request authentication settings - Authenticate requests with tokens to respond only if they pass. | | `edgeAuth.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable - If `true`, related information must be entered. | | `edgeAuth.type` | String | Conditional | Authentication type - `SIGNED_URL` \| `JWT` - `SIGNED_URL`: Include authentication information in the URL. - `JWT`: Create a JSON token to include in the HTTP header. - Only `SIGNED_URL` is available if `regionType` is `GLOBAL`. | | `edgeAuth.tokenName` | String | Conditional | Token name - Enter a combination of lowercase English letters without spaces. | | `edgeAuth.tokenKey` | String | Conditional | Token key value | | `edgeAuth.bypassValues` | Array | Optional | List of authentication exclusion extensions - Enter up to 20. - Example: `.ts`, `.jpg`, `.exe` | | `edgeAuth.tokenBypassValues` | Array | Optional | List of extensions that pass authentication values to origin - Enter up to 20. - Example: `playlist.m3u8`, `index.m3u8`, `.ts`, `.png` | | `cachingRules` | Array | Required | Cache detailed rule settings: [CachingRule](/docs/en/edge-edit#CachingRule) | #### `CachingRule` The following describes `CachingRule`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `ruleName` | String | Required | Cache detailed rule name | | `ruleType` | String | Required | Rule condition type - `DIRECTORY` \| `FILE_EXTENSION` \| `ADVANCED` - `DIRECTORY`: Directory - `FILE_EXTENSION`: File extension - `ADVANCED`: Directory and file extension | | `ruleConditions` | Array | Required | Rule condition list - Enter the condition according to the `ruleType` value. - Example: `/*`, `/sample/*` | | `ruleDefinitionType` | String | Required | Cache options - `CACHING` \| `BYPASS_CACHE` \| `ORIGIN_CACHE_CONTROL_HEADER` - `CACHING`: Cache - `BYPASS_CACHE`: Bypass to origin server - `ORIGIN_CACHE_CONTROL_HEADER`: Process based on origin cache-control header | | `cacheRevalidateConfig` | Object | Required | Set up revalidation of stale objects. - Specify what to do when the cache expires and the origin can't be used. | | `cacheRevalidateConfig.type` | String | Required | Revalidation type - `IF_POSSIBLE` \| `ALWAYS` - `IF_POSSIBLE`: Serve stale objects if validation can't be done. - `ALWAYS`: Always validates origin. | | `cacheRevalidateConfig.ageType` | String | Required | Maximum cache retention period unit - `SECONDS` \| `MINUTES` \| `HOURS` \| `DAYS` - `SECONDS`: Second - `MINUTES`: Minute - `HOURS`: Hour - `DAYS`: Day | | `cacheRevalidateConfig.age` | Integer | Required | Maximum cache retention period - 1 second to 365 days | | `ruleBasedRoutingConfig` | Object | Required | Rule-based origin routing settings - Route the origin to a specified location when rule conditions are met. | | `ruleBasedRoutingConfig.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable - If `true`, related information must be entered. | | `ruleBasedRoutingConfig.originalCopyLocation` | Object | Conditional | Origin server settings | | `ruleBasedRoutingConfig.originalCopyLocation.type` | String | Conditional | Origin type - `OBJECT_STORAGE` \| `CUSTOM` - `OBJECT_STORAGE`: Object Storage - `CUSTOM`: External domain | | `ruleBasedRoutingConfig.originalCopyLocation.region` | String | Conditional | Service Region - `KR` \| `USWN` \| `SGN` \| `JPN` \| `DEN` - `KR`: Korea - `USWN`: U.S. - `SGN`: Singapore - `JPN`: Japan - `DEN`: Germany - Required if `ruleBasedRoutingConfig.originalCopyLocation.type` is `OBJECT_STORAGE` | | `ruleBasedRoutingConfig.originalCopyLocation.bucketName` | String | Conditional | Bucket name - Required if `ruleBasedRoutingConfig.originalCopyLocation.type` is `OBJECT_STORAGE` | | `ruleBasedRoutingConfig.originalCopyLocation.customLocation` | String | Conditional | Origin domain name - Required if `ruleBasedRoutingConfig.originalCopyLocation.type` is `CUSTOM` | | `browserCache` | Object | Required | Browser cache settings - Specify the caching behavior sent to the client in edge. | | `browserCache.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable - If `true`, related information must be entered. | | `browserCache.type` | String | Conditional | Browser cache allowance type - `ALLOW_CACHE` \| `NO_CACHE` - `ALLOW_CACHE`: Allow cache. - `NO_CACHE`: Not allow cache. | | `browserCache.ageType` | String | Conditional | Maximum cache retention period unit - `SECONDS` \| `MINUTES` \| `HOURS` \| `DAYS` - `SECONDS`: Second - `MINUTES`: Minute - `HOURS`: Hour - `DAYS`: Day | | `browserCache.age` | Integer | Conditional | Maximum cache retention period - 1 second to 365 days | | `cacheKeyQueryParameter` | Object | Required | Cache key query parameter settings - Specify how query strings are included/ignored when generating cache keys. | | `cacheKeyQueryParameter.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable - If `true`, related information must be entered. | | `cacheKeyQueryParameter.type` | String | Conditional | Setting type - `ALL_IGNORED` \| `ALL_ALLOWED` \| `IGNORE_SPECIFIC_STRING` \| `ALLOW_SPECIFIC_STRING` - `ALL_IGNORED`: Ignore all. - `ALL_ALLOWED`: Allow all. - `IGNORE_SPECIFIC_STRING`: Ignore specific string. - `ALLOW_SPECIFIC_STRING`: Allow specific string. | | `cacheKeyQueryParameter.queryParameters` | Array | Conditional | Target string list - Required if `cacheKeyQueryParameter.type` is `ALLOW_SPECIFIC_STRING` or `IGNORE_SPECIFIC_STRING` | | `accessDeny` | Boolean | Required | Whether to block access according to the rule condition (`ruleConditions`) - `true` \| `false` - `true`: Block - `false`: Not block | | `urlRedirect` | Object | Required | URL redirection settings - Respond with a redirect instead of the origin server when rule conditions are met. - Only one between `urlRedirect` or `urlRewrite` can be used. | | `urlRedirect.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable - If `true`, related information must be entered. | | `urlRedirect.destinationProtocol` | String | Conditional | Redirect destination protocol - `HTTP` \| `HTTPS` | | `urlRedirect.destinationHostname` | String | Conditional | Redirect destination host - English letters, numbers, and special characters "-" and "." are allowed, and enter in domain format. | | `urlRedirect.destinationPath` | String | Conditional | Redirection destination detailed path | | `urlRedirect.responseCode` | String | Conditional | Redirection status code - `MOVED_PERMANENTLY_301` \| `FOUND_302` - `MOVED_PERMANENTLY_301`: Permanent URL move - `FOUND_302`: Temporary URL move | | `urlRewrite` | Object | Required | URL rewriting settings - Automatically edits URLs in requests when rule conditions are met. - Only one between `urlRedirect` and `urlRewrite` can be used. | | `urlRewrite.enabled` | Boolean | Required | Feature usage status - `true` \| `false` - `true`: Enable - `false`: Disable - If `true`, related information must be entered. | | `urlRewrite.rewriteTarget` | String | Conditional | Destination detailed path | #### `ManagedRule` The following describes `ManagedRule`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `cors` | Boolean | Required | Whether to add the cross origin resource sharing header (CORS header) - `true` \| `false` - `true`: Add - `false`: Not add | | `corsPolicy` | Object | Conditional | Cross-Origin Resource Sharing (CORS) header details | | `corsPolicy.allowOrigin` | String | Required | Access-Control-Allow-Origin settings - Access-Control-Allow-Origin: * and Access-Control-Allow-Credentials: true can't be set at the same time. | | `corsPolicy.allowMethods` | Array | Conditional | Access-Control-Allow-Methods settings - `GET` \| `POST` \| `OPTIONS` - If not set, enter the empty value `[]`. | | `corsPolicy.allowHeaders` | Array | Conditional | Access-Control-Allow-Headers settings - If not set, enter the empty value `[]`. | | `corsPolicy.allowCredentials` | Boolean | Conditional | Access-Control-Allow-Credentials settings - `true` \| `false` - Access-Control-Allow-Origin: * and Access-Control-Allow-Credentials: true can't be set at the same time. | | `corsPolicy.useMaxAge` | Boolean | Conditional | Access-Control-Max-Age settings - `true` \| `false` - `true`: 86400 - `false`: Disable | | `http2` | Boolean | Required | Whether to use open network protocol (HTTP/2) - `true` \| `false` - `true`: Enable - `false`: Disable | | `trueClientIpHeader` | Boolean | Required | Whether to add client IP header to headers when forwarding requests to origin server - `true` \| `false` - `true`: Add - `false`: Not add | | `hsts` | Boolean | Required | Whether to use HTTPS for browser connections - `true` \| `false` - `true`: Enable - `false`: Disable | #### `HeaderPolicy` The following describes `HeaderPolicy`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `type` | String | Required | Header type - `ORIGIN_REQUEST` \| `CLIENT_RESPONSE` - `ORIGIN_REQUEST`: Request header forwarded to the origin server - `CLIENT_RESPONSE`: Response header sent from the server to the client | | `ruleName` | String | Required | Header setting name | | `header` | Object | Required | Header detailed settings | | `header.type` | String | Required | Action type - `ADD` \| `MODIFY` \| `REMOVE` - `ADD`: Add - `MODIFY`: Edit - `REMOVE`: Delete | | `header.name` | String | Required | Header name | | `header.value` | String | Conditional | Header value - Required if `header.type` is `ADD` or `MODIFY` | #### `OptimizationConfig` The following describes `OptimizationConfig`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `httpCompression` | Boolean | Required | Whether to use Gzip or Brotli compressed transfers - `true` \| `false` - `true`: Enable - `false`: Disable - Faster response times when enabled | | `largeFileOptimization` | Boolean | Required | Whether to enable large file transfer - `true` \| `false` - `true`: Enable - `false`: Disable - Optimize large file transfer performance and reliability when enabled. | | `headerMaxSize` | Object | Conditional | Request Header Size settings | | `headerMaxSize.singleSize` | String | Required | Single Header Size settings - `SIZE_8KB` \| `SIZE_16KB` \| `SIZE_32KB` - `SIZE_8KB`: 8192 - `SIZE_16KB`: 16384 - `SIZE_32KB`: 32768 | | `headerMaxSize.totalSize` | String | Required | Total Header Size settings - `SIZE_8KB` \| `SIZE_16KB` \| `SIZE_32KB` - `SIZE_8KB`: 8192 - `SIZE_16KB`: 16384 - `SIZE_32KB`: 32768 | #### `AccessControl` The following describes `AccessControl`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `type` | String | Required | Access control type - `WHITELIST` \| `BLACKLIST` - `WHITELIST`: Whitelist - `BLACKLIST`: Blacklist - Only one of the two policies can be used. | | `ipPolicies` | Array | Required | Client IP or CIDR block - Can be entered in IP format. - Enter the empty value `[]` if not set. - One or more among `ipPolicies`, `geoPolicies`, and `refererPolicies` must be entered. | | `geoPolicies` | Array | Required | Client country code - ISO 3166-1 alpha-2 country code standard. - Enter the empty value `[]` if not set. - One or more among `ipPolicies`, `geoPolicies`, and `refererPolicies` must be entered. | | `refererPolicies` | Array | Required | HTTP request referrer header - Can be entered in domain format. - Enter the empty value `[]` if not set. - One or more among `ipPolicies`, `geoPolicies`, and `refererPolicies` must be entered. | ### Request example The request example is as follows: ``` curl --location --request PUT 'https://edge.apigw.ntruss.com/api/v1/cdn-edges/123' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'Content-Type: application/json' \ --data '{ "profileId": 234, "edgeName": "sample-edge", "distributionConfig": { "protocolType": "ALL", "regionType": "KOREA", "serviceDomain": { "domainType": "NCP_DOMAIN_AUTO", "domainName": null, "certificate": null }, "edgeLogging": { "enabled": true, "bucketPrefix": "log/sample", "objectStorage": { "region": "KR", "bucketName": "sample-bucket" } } }, "originalCopyConfig": { "originalCopyLocation": { "type": "OBJECT_STORAGE", "region": "KR", "bucketName":"sample-bucket", "customLocation": null }, "forwardHostHeader": { "type": "ORIGIN_HOSTNAME", "customHostHeader": null }, "originalCopyProtocol": { "type": "HTTP", "port": 80 }, "originalCopyPath": null, "originFailoverConfig": null }, "cachingConfig": { "defaultCaching": { "enabled": true, "ruleDefinitionType": "CACHING", "cacheRevalidateConfig": { "type": "IF_POSSIBLE", "ageType": "HOURS", "age": "10" } }, "negativeTtl": true, "bypassQueryString": { "enabled": true, "queryStrings": ["aaa", "bbb", "ccc"] }, "cacheKeyHostname": "INCOMING_HOST_HEADER", "cacheKeyIgnoreQueryString": { "type": "ALL_ALLOWED", "queryStrings": [] }, "removeVaryHeader": true, "edgeAuth": { "enabled": true, "type": "SIGNED_URL", "tokenName": "name", "tokenKey": "902bceb96************10ff0b9befb" }, "cachingRules": [ { "ruleName": "sample", "ruleType": "DIRECTORY", "ruleConditions": ["/sample/*"], "ruleDefinitionType": "CACHING", "cacheRevalidateConfig": { "type": "IF_POSSIBLE", "ageType": "SECONDS", "age": 100 }, "ruleBasedRoutingConfig": { "enabled": true, "originalCopyLocation": { "type": "OBJECT_STORAGE", "region": "KR", "bucketName": "sample-bucket", "customLocation": null } }, "browserCache": { "enabled": true, "type": "ALLOW_CACHE", "ageType": "SECONDS", "age": 100 }, "cacheKeyQueryParameter": { "enabled": true, "type": "IGNORE_SPECIFIC_STRING", "queryParameters": ["aaa", "bbb", "ccc"] }, "accessDeny": false, "urlRedirect": { "enabled": true, "destinationProtocol": "HTTP", "destinationHostname": "ncloud.com", "destinationPath": "/home", "responseCode": "FOUND_302" }, "urlRewrite": { "enabled": false, "rewriteTarget": null } } ] }, "managedRule": { "cors": true, "corsPolicy": { "allowOrigin": "*", "allowMethods": [ "GET", "POST", "OPTIONS" ], "allowHeaders": [ "origin" ], "allowCredentials": false, "useMaxAge": true }, "http2": true, "trueClientIpHeader": true, "hsts": false }, "headerPolicies": [ { "type": "ORIGIN_REQUEST", "ruleName": "Modify Origin Request Header", "header": { "type": "ADD", "name": "name", "value": "value" } }, { "type": "CLIENT_RESPONSE", "ruleName": "Modify Client Response Header", "header": { "type": "MODIFY", "name": "name", "value": "value" } } ], "optimizationConfig": { "httpCompression": true, "largeFileOptimization": true, "headerMaxSize": { "singleSize": "SIZE_16KB", "totalSize": "SIZE_32KB" } }, "accessControl": { "type": "WHITELIST", "ipPolicies": ["1.1.1.1", "2.2.2.2", "3.3.3.3"], "geoPolicies": ["AL", "SK", "ZM"], "refererPolicies": ["ncloud.com", "naver.com"] } }' ``` ## Response This section describes the response format. ### Response body The response body includes the following data: | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | String | - | Response code | | `message` | String | - | Response message | | `result` | Object | - | Response result | | `result.edgeId` | Integer | - | Edge ID | ### Response status codes For information about the HTTP status codes common to all Global Edge APIs, see [Global Edge response status codes](/docs/en/edge-overview#%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: ``` { "code": "0000", "message": "Success", "result": { "edgeId": 123 } } ```