My Products

Prev Next

Available in Classic and VPC

My Products menu can manage multiple APIs by grouping them into a product, define REST APIs as well as related resources and methods, and set its authentication method. It can post APIs and identify user applications or limit usage with the API key that uses the product.

My Products interface

The basic description of the My Products menu for using API Gateway is as follows:
apigw-myproducts-screen_ko

Component Description
① Menu name Shows the current menu name and the number of products in operation.
② Basic features Create product, check API Gateway details, and refresh My Products screen.
③ Post-creation features Edit or Delete a product in operation.
④ Product list Check the list and information of products in operation.
⑤ Search bar and filter Check products corresponding to certain conditions through product search and filter features from the list.

Check product list

You can view product-specific information in the list of products you've created and are in operation.

Note

For information on how to create a product, see Getting started with API Gateway.

To check the information of the created product:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. When the product list is displayed, check the summary or click a product to check details.
    apigw-myproducts-list_ko
    • Product ID: Unique ID of a product that is automatically set during product creation.
    • Product name: Name of a product set during product creation.
    • Description: Description of a product set during product creation.
    • Subscription type: APIs subscription type set during product creation.
    • Status: Displays API post status.
    • Catalog: Checks the overview and manual (Swagger) of the posted APIs.
    • Post: Click i-apigateway-publish to move to Post API screen.
    • API keys: Status of API key connected to product by status. Clicki-apigateway-apikeys to move to API key confirmation, addition, status change, usage plan confirmation, and edit screen.
    • APIs: API list and status created in the product. Clicki-apigateway-apis to move to the API management screen.
      • API name: Click the API name to go to the API management screen.
      • Defined method: The number of methods defined for each API.
      • Stage document: Click a stage name to go to the API manual (Swagger) screen.

Edit product

To edit a product:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click and select the checkbox of the product to edit from the product list, and click [Edit].
  4. Edit product information from the Edit product screen, and click [Edit Product].
    • Name: Displays the name of the product.
    • Description: Edit and enter the description of the product.
    • Subscription type: Select the product subscription type.
      • Public - voluntary subscription: Anyone can use the product's APIs.
      • Protected - authorization required: Publisher's approval is required to use the product's APIs.
  5. From the Edit product popup, click [OK].

Delete product

To delete a product:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click and select the product to delete from the product list, and click [Delete].
  4. Check the information on the Delete popup, enter the product name to delete in Name, and click [Delete].

Register APIs.

Create and manage APIs to manage related resources and methods. Furthermore, API users can manage the defined API details and overview for reference, and can operate different versions of the same API in stages. You can build settings including cache use, throttling policy, and IP ACL to stabilize the backend service.

Create API

You can create multiple APIs on a created product.

To create APIs:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.

  2. Click the My Products menu.

  3. From the product list, click i-apigateway-apis in the APIs column of the product for which you want to create an API.

  4. From the API list screen, click [Create API].

  5. From the Create API screen, select a creation method under the Create API item.

  6. Enter the settings information depending on how to create APIs.

    • If the API creation method is selected as New API, set the following items:
      • API name: Enter the name of the API to be created. The API name is included in the call URL path of API Gateway.
      • Description: Enter the description of the API to be created.
    • If the API creation method is selected as Copy API, set the following items:
      • API name: Enter the name of the API to be created. The API name is included in the call URL path of API Gateway.
      • Description: Enter the description of the API to be created.
      • Copy API: Select the product containing the API to be copied and select the API to copy.
    • If the API creation method is selected as Import from Swagger, set the following items:
      • API name: Enter the name of the API to be created. The API name is included in the call URL path of API Gateway.
      • Description: Enter the description of the API to be created.
      • Import from Swagger component.
        • [Swagger] tab: Import a Swagger file saved externally to create an API.
          • Drop files here or click to upload.: Drag a Swagger file saved externally or click the component to select a Swagger file from the search bar.
          • Warning failed: If an error or warning occurs during Swagger file import, the import is canceled.
          • Ignore warning: Swagger file is imported regardless of error or warning.
        • [Preview] tab: Preview of the Swagger setting status.
    • If the API creation method is selected as API examples, set the following items:
      • API name: Enter the name of the API examples to be created. The API name is included in the call URL path of API Gateway.
      • Description: Enter the description of the API examples to be created.
      • API examples: Display details of the API examples to be created.
  7. Click [Create API]. If the API creation method is set to Copy API, click [Copy API].

  8. Click [OK] in the API creation succeeded popup.

The following describes the API list screen after an API has been created:
apigw-myproducts-apilist1-2_ko

Component Description
① API name List of APIs that have been created in the product. Clicking it displays available features and details on the right screen.
② Edit, deploy, or delete APIs Edit API descriptions, deploy APIs to the stage, and delete APIs.
Resources
Stages Create and manage stages
Gateway Responses Define the gateway response that occurred in API Gateway. To apply changes, the API must be deployed.
Models Define the body model of requests and responses. To apply changes after editing, the API must be deployed.
Overview Compose an overview of the API manual

Edit API

To edit the API description:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. From the product list, click i-apigateway-apis in the APIs column of the product whose API you want to edit.
  3. Click the API you want to edit from the API list.
  4. Click [Edit].
  5. Add or edit the settings contents of the Description item of the Edit API screen, and click [Save].

Delete API

To delete APIs:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. From the product list, click i-apigateway-apis in the APIs column of the product whose API you want to delete.
  3. Click the API you want to delete from the API list.
  4. Click [Delete].
  5. Enter the API name to delete in the Delete popup, and click [Delete].

Manage resource

Create and manage resources required to use APIs.

The following describes the [Resources] tab menu:
apigw-myproducts-resource_ko

Component Description
Create resource Create a new resource in the APIs.
View resource Set the enable status of the resource CORS
Delete resource Delete a resource that is unnecessary.
Import API Import a Swagger file to create a resource. For more information, see Import APIs.
⑤ Root resource path Root resource created by default during the API creation (displayed as /).
⑥ Resource name (path) API URL path set during the resource creation.
⑦ Method Method added to the resource with the method creation feature.
⑧ OPTIONS method Method automatically created after enabling CORS. For more information, see Step 7 of Create resource or Set CORS of the resource.
Create method Create a method in the resource.
  • Supported methods: ANY, GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD
⑩ Method list Check setting information of resource using Method list (card type) added to resource

Create resource

To create resources:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.

  2. Click the My Products menu.

  3. From the product list, click i-apigateway-apis in the APIs column of the product you want to create a resource for.

    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API you want to create a resource for from the API list.

  5. Click the [Resources] tab.

  6. Click [Create resource].

    • To add a sub-resource to an existing resource, select the corresponding resource, and click [Create resource].
    • If an existing resource path includes +, such as {variable+}, which indicates a sub-resource is present, a sub-resource cannot be created.
  7. Enter information in the resource creation item displayed on the right side of the Resource list, and click [Create].

    • Resource path: Enter values to use as the API URL path.
      • Use parentheses to designate a resource as a path variable.
        • Example 1: {variable}: Use as a variable of the current path.
        • Example 2: {variable+}: Use as a variable of the path including sub-resource.
      • Path variable can be used as a parameter of the endpoint path.
      Note

      If Cloud Functions' Web Action is used as an endpoint, {type} variable is processed as a reserved word.
      {type} variable is a reserved word for defining content extensions of web actions in Cloud Functions.
      Therefore, if {type} variable exists in an API resource that uses Cloud Functions' Web Action as an endpoint, the value is used for the extension variable {type} of the Cloud Functions, but if there is no definition of the variable, the variable is processed as an empty value.

    • Enable CORS: Select Cross-Origin Resource Sharing (CORS) enable status. Additional items must be set if Enable is selected.
      • Access-Control-Allow-Method: Set methods to allow during client requests (resource access).
      • Access-Control-Allow-Headers: Set headers to allow during client requests (resource access).
      • Access-Control-Allow-Origin: Allow all domains (*), or allow selective client requests (resource access).
      • Access-Control-Expose-Headers: User-defined header available to be included in client requests (resource access).
      • Access-Control-Max-Age: Retention period of client preflight request results. During this period, a preflight request is not made again.
      • Access-Control-Allow-Credentials: Set response exposure status when the credential mode (Request.credentials) of client requests (resource access) is set to include. Set to true (unique value) if needed, and a header does not need to be entered if not needed.
  8. Check whether the created resource is displayed in the Resource list of the [Resources] tab.

    • If the Enable CORS item is enabled, the OPTIONS method is created in API Gateway to process CORS requests, and it is displayed on the corresponding resource list. However, the OPTIONS method cannot be edited.

Set CORS of the resource

Set the resource CORS enable status, and when enabled, additional items can be set.

To check resources and change CORS settings:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API with the resource you want to check and set from the API list.
  5. Click the [Resources] tab.
  6. From the Resource list, click and select the resource to set and click [View resource].
  7. To set CORS (default: disable), click Enable CORS to enable it, and set the additional header items.
    • For more information on additional header items, see Step 7 of Create resource.
  8. Click [Edit].
    • If CORS is set to Enable, the OPTIONS method is created, and it is displayed on the corresponding resource list.

Delete resource

To delete resources:

Note

However, the OPTIONS method cannot be deleted. Disabling CORS of a resource automatically deletes it.

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API with the resource you want to delete from the API list.
  5. Click the [Resources] tab.
  6. Click and select the resource to delete from the Resource list and click [Delete resource].
  7. Check the details in the Delete popup and click [Delete].

Import API

Use the Swagger file, a document related to API composition, to import API resources.

To import API resources:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Resources] tab.
  6. Click and select the target resource from the Resource list and click [Import API].
    • Executing the import APIs deletes the current resource. The imported API information is saved as a new resource.
  7. Drag an externally saved Swagger file to the Drop files here or click to upload. component or click the component to select a Swagger file from the search bar.
  8. Select the processing method for errors or warnings occurring when importing APIs.
    • Warning failed: If an error or warning occurs during Swagger file import, the import is canceled.
    • Ignore warning: Swagger file is imported regardless of error or warning.
  9. Check and edit the detailed API definition in JSON format and click [Import API].
    • To preview the settings, click the [Preview] tab.
  10. Check the content in the Import API popup and click [Yes].
    • If an error occurs, check and edit the error, and please try again.

Manage method

You can create and set methods on API resources.

Create method

To create a method:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Resources] tab.
  6. Click the resource to create a method from the Resource list.
  7. Select the method type to create from the [Create method] dropdown menu displayed on the right side of the Resource list.
  8. Click the [Settings] tab to enter settings information and click [Save].
    • Description: Enter the description of the method.

    • OperationID: Enter a unique ID that identifies the API operation.

      • Only English letters and numbers are allowed. The ID must not start with a number and must be between 1 and 100 characters long.
    • Endpoint: Set the endpoint to service. Method setting item changes depending on the endpoint type.

      • MOCK: Returns the value set in API Gateway.

        • Status Code: Set the response code for a request.
        • Header: Enter the header for a request.
        • Response: Enter the body for a request.
      • HTTP(S): return the call results of HTTP(S) endpoint.

        • Stream: Enable if a request is a file upload request.

          • Response time when the stream is turned off is limited to 30 seconds, and max. request size is limited to 10 MB.
          • Response time when the stream is turned on is limited to 5 minutes, and max. request size is limited to 100 MB.
        • Method: Select a method to request from the backend server.

        • URL path: Enter URL except for the domain to request from the backend server (URL path to call to endpoint).

          Note
          • Query string and header defined by resource path variable and request parameter can be used as parameters.
          • Parameters are defined using parentheses.

          apigw-myproducts-endpointurl

      • NAVER Cloud Platform service: Use services provided by NAVER Cloud Platform (e.g., Cloud Functions).

        • Service: Select the service.
        • Region: Select the Region where the service is supported.
        • Action: Select the action set for the service.
    • API key required: Select the API key use status.

      Note
      • If the API key required setting is not enabled, the product subscription method and usage plan are not applied.
      • To offer subscription in a protected (approval required) method or to apply request rate limits and request quotas, enable the API key required setting.
    • Authentication: Set authentication method.

      • NONE: Authentication not used.
      • IAM: Use IAM Authentication provided by NAVER Cloud Platform.
      • IAM + AUTHORIZATION: Use NAVER Cloud Platform's IAM user authentication feature and method-level authorization feature.
      • Use existing Authorizer. For more information, see Authorizer.
      Note

      * IAM Authentication authenticates users accessing API Gateway through NAVER Cloud's IAM service. When an API is called, IAM Authentication validates whether the user is qualified to make the API call.
      * IAM + AUTHORIZATION adds the authorization feature that grants permission to use APIs to user access authentication. Even after users are certified, the process includes an additional validation step to check if they have permission to perform specific API methods. Users are authenticated through IAM, but can only perform API actions if they have pre-registered permissions in IAM for each API method.

    • Validation: Select validation scope.

      • NONE: Validation is not conducted.
      • Query Strings & Headers: Conduct validation for query strings and headers. For more information on validation, see the API details defined in the Parameters tab.

Set method

To change method settings:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Resources] tab.
  6. Click the parent resource with the method to set from the Resource list.
  7. Click the method to set.
    • Or click the [View] button of the method from the method list of the parent resource.
  8. Click the [Settings] and [Parameters] tabs and set each item.
    • For information on the settings on the [Settings] tab, see Create method.
    • For information on the settings on the [Parameters] tab, see Define API details.

Delete method

To delete a method:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Resources] tab.
  6. Click the parent resource with the method you want to delete from the Resource list.
  7. Click the [Delete] button of the method you want to delete from the Method list.
  8. Click [Delete] in the Delete Method popup.

Define API details

You can define API details (request/response parameters). Defined API details are used to create Swagger UI.

To define API details:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Resources] tab.
  6. Click and select the resource method from the Resource list and click the [Parameters] tab of the details displayed on the right screen.
  7. Set request and response parameters.
    • Request component: Define details of requests.

      • Query string: Define the query string of requests. When defining the URL path to call the endpoint, it can be used as a variable like a resource path variable.

        • Name: Enter the query string name.
        • Description: Enter the description of the query string.
        • Variable type: Select query string variable type (string, boolean, integer, long, float, or double).
        • Array: If enabled, create multiple query strings of duplicate names.
        • Required: If enabled, include in validation.
        • To add an item, enter the setting item and click [Add].
        • To delete an existing item, click [Delete] for the item and click [Delete] in the Delete query string popup.
      • Header: Define the request header. When defining the URL path to call the endpoint, it can be used as a variable like a resource path variable.

        • Name: Enter header name.
        • Description: Enter the description of the header.
        • Variable type: Select header variable type (string, boolean, integer, long, float, or double).
        • Array: If enabled, it creates multiple headers with duplicate names.
        • Required: If enabled, include in validation.
        • To add an item, enter the setting item and click [Add].
        • To delete an existing item, click [Delete] for the item and click [Delete] in the Delete Header popup.
      • Form data: Define the request form data.

        • Name: Enter the name of the form data.
        • Description: Enter the description of the form data.
        • Variable type: Select form data variable type (string, boolean, integer, long, float, double, or file).
        • Array: If enabled, create multiple query strings of duplicate names.
        • Required: If enabled, include in validation.
        • To add an item, enter the setting item and click [Add].
        • To delete an existing item, click [Delete] for the item and click [Delete] in the Delete form data popup.
      • Body: Define the request body.

        • Name: Enter body name.
        • Description: Enter the description of the body.
        • Model: Define the body model. Body model uses the model defined in the [Models] tab of the API list. For more information, see Define the body model of requests and responses.
        • To define the request body, enter the setting items and click [Save].
        • To delete an existing item, click [Delete] for the item and click [Delete] in the Delete body popup.
      • Content type: Define the content type of the request body.

        • To add a content type, enter the request content type in the input field and click [Add].
        • To delete an existing item, click [Delete] of the item and click [Delete] in the Delete content type popup.
        Note

        In the case of application/x-www-form-urlencoded and multipart/form-data, create a request body using the defined form data. In the case of other content types, use the body.

    • Response component: Define details of response.

      • [Add]: create and define a new response code.
      • [Edit]: edit the defined response code.
      • [Delete]: delete a response code.
      • Header (if response code is selected): define a response header.
      • Body (if response code is selected): define a response body.
      • Content type: Define the content type of a response body.

Manage stage

APIs can be deployed and operated in different versions with stages. You can make settings such as stage-specific cache usage, throttling policies, IP ACLs, and content encoding to stabilize backend services.

The following describes the [Stages] tab menu:
apigw-myproducts-stage_ko

Component Description
Create stage Create stage
Delete stage Delete stage
Enable canary Before deploying API details to the stage, create a canary environment to enable features to test the operation environment
④ List of created stages List and path information of created stages.
⑤ Settings and information Setting items and information components displayed when selecting the stage name, root resource (/), resource, and method from the stage list.

The information displayed when selecting the stage name, root resource (/), resource, and method from the stage list is as follows:

  • When a stage name is selected
    apigw-myproducts-stage2_ko

    Component Description
    Invoke URL URL to call the deployed API.
    • Format: https://{product-id}.apigw.ntruss.com/{api-name}/{stage-name}
    • To save the address to the clipboard, click [Copy address].
    Settings Check stage settings.
    Export Export a stage.
    Deployment History Manage API versions deployed to the stage. Not displayed in canary environments.
    Usage Plans Controls the API usage. Not displayed in canary environments.
    Document Check stage information in Swagger format.
  • When a root resource (/) is selected
    apigw-myproducts-stage3_ko

    Component Description
    Invoke URL URL to call the deployed API.
    • Format: https://{product-id}.apigw.ntruss.com/{api-name}/{stage-name}
    • To save the address to the clipboard, click [Copy address].
  • When a resource path (name) is selected
    apigw-myproducts-stage4_ko

    Component Description
    Invoke URL URL to call the deployed API.
    • Format: https://{product-id}.apigw.ntruss.com/{api-name}/{stage-name}
    • To save the address to the clipboard, click [Copy address].
    ② Method list List of methods (in a card view type) of the API resource deployed on the stage.
    • [View]: View the method information of the corresponding stage.
  • When a method is selected
    apigw-myproducts-stage5_ko

    Component Description
    Invoke URL URL to call the deployed API.
    • Format: https://{product-id}.apigw.ntruss.com/{api-name}/{stage-name}
    • To save the address to the clipboard, click [Copy address].
    Target Endpoint domain's service name.
    Follow stage settings Run the API cache and throttling values according to the Stage settings.
    • Settings cannot be changed on this page.
    Set method Set the API cache and throttling value directly on the method. The following API Cache and Throttling items can be set after selecting an item.
    API Cache Set the API cache TTL.
    Throttling Protect the backend server by limiting the number of requests per second for each registered method.

Create Stage

To deploy the created and set APIs, a stage must be created first.

To create a stage:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API you want to create a stage for from the API list.
  5. Click the [Stages] tab.
  6. Click [Create stage].
  7. Enter the stage creation information and click [Create].
    • Stage name: Enter the stage name. The stage name is included in the call URL path of API Gateway.
    • Endpoint domain: Enter the backend server domain. Combined with the API's resource path, the API path to call into the backend server is formed.
      Note

      The API resource path that determines the endpoint domain prioritizes routing to static paths (Exact Match), and paths that include path variables (wildcards) are matched with the next priority.

    • Certificate name: Select Client Certificates. (The certificate expires 1 year from the certificate creation date.)
    • API cache: Set the cache. Selecting a setting displays the TTL item.
      • TTL: Enter seconds to retain cache.
    • Throttling: Protect the backend server by limiting the number of requests per second for each registered method.
    • IP ACL: Control the API request based on IPs.
    • Maintenance: Set all APIs to return defined status codes and responses.
    • Content encoding: Set the zip and encoding for data transferred in requests and responses.
  8. Click [OK] on the Create stage succeeded popup.
    • Once a stage is created, the defined API is deployed to the new stage.

Set Stage

To change stage settings:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API with the stage to set from the API list.
  5. Click the [Stages] tab.
  6. Click the stage name to set from the stage list.
  7. Click the [Settings] tab from the Details screen displayed on the right side of the stage list.
  8. Change the settings items and click [Save].
    • For more information on stage setting items, see Create stage.
    • If the TTL value of the API Cache is set, click [Initialize] and click [Delete] on the Initialize cache popup to initialize this value. Click [OK] on the Initialization succeeded popup.
  9. Click [Edit] in the Edit popup.
  10. Click [OK] in the Edit succeeded popup.

Delete Stage

To delete a stage:

Note

Deleted stage cannot be recovered.

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API with the stage you want to delete from the API list.
  5. Click the [Stages] tab.
  6. Click the stage name to delete from the stage list.
  7. Click [Delete stage].
  8. Enter the stage name you want to delete in the Delete popup and click [Delete].

Export a stage.

You can download the API deployed on the stage in Swagger JSON 2.0, Open API JSON 3.0, and Java SDK formats.

To download a deployed API Swagger file:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. Click the stage name you want to export from the stage list.
  7. Click the **[

]** tab from the Details screen displayed on the right side of the stage list.
8. Select the file format for export from the Platform item and click [Export].

  • If Java SDK is selected, set additional items if necessary.
Note

If you designate Operation ID to clearly identify the API operation by method,
you can quickly understand each method's role when exporting to Swagger/OpenAPI or SDKs, enhancing the efficiency of development and maintenance.
Examples: getUserList, createUser, deleteUser

Check and manage deployment history

Check the API deployment history of the stage, download the history, deploy the previous version, or delete the history.

To check and manage deployment history:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. Click the stage name to check the API deployment history from the stage list.
  7. Click the [Deployment History] tab from the Details screen displayed on the right side of the stage list.
  8. Check the deployment history, or download, deploy, or delete previous deployments.
    • Deployment date and time: Date and time the API was deployed to the stage (based on UTC).
    • Description: Description entered during API deployment.
    • Deployed stage: Display i-apigateway-check for items deployed to the current stage.
    • Export: Download the previous deployment in Swagger JSON 2.0 format.
    • Deploy: Deploy the previous deployment.
    • Delete: Delete the deployment history.

Change usage plans

You can set the stage's API basic request rate and request quota, as well as connect and manage the created usage plan in the Usage Plans menu.

To change a usage plan from a stage:

Note
  • Usage is counted based on the start of a day/month.
  • Usage is counted based on the response code of the endpoint.
  • The usage plan is only applied when the API key required setting is enabled. For more information on enabling the API key required setting, see Create Method.
  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. Click the stage name to change the usage plan from the stage list.
  7. Click the [Usage Plans] tab from the Details screen displayed on the right side of the stage list.
  8. Check the usage plan and edit it if necessary.
    • Default usage plan: Check and set the request rate and request quota. Click [Edit] to change settings.
      • Request rate: set the number of requests per second.
      • Request quota: set daily and monthly API usage.
      • Usage is counted based on the start of a day/month.
      • Usage is counted based on the response code of the endpoint.
    • [Connect usage plan]/[Disconnect]: connect or disconnect usage plans created in the Usage Plans menu.
    • List: Usage plan items connected to the corresponding stage.
    • Search: Enter the usage plan name to search, and click i-apigateway-find to search.
    • Sort: Set the number of usage plans to be displayed on a list page.
    • For more information on usage plans, see Usage plans.

Check Document

You can check the currently deployed API document on the stage.

To view API documents:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. Click the stage name to check the API document from the stage list.
  7. Click the [Document] tab from the Details screen displayed on the right side of the stage list.
  8. Check the content of the API document.
    • To check the deployed API content in Swagger UI format, click [Preview].

Enable canary and test

Before deploying edited API details to stage, create a canary environment and conduct an operation environment test.

To enable a canary:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. Click to select the stage name to enable canary from the stage list, and click [Enable canary].
    • The canary is enabled on the stage list as "Stage name+(canary)."
  7. Click the appropriate canary (stage name+(canary)) from the stage list.
  8. Check and set information by clicking the [Settings], [Export], and [Document] tabs on the details displayed on the right screen.
    • [Settings]: Canary settings.
    • [Export]: download the API deployed on the canary in Swagger JSON 2.0, Open API JSON 3.0, and Java SDK formats.
    • [Document]: check the API document deployed to the canary. To check the deployed API content in Swagger UI format, click [Preview].

Canary settings

To set an enabled canary:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. From the stage list, click the canary (stage name+(canary)) you want to set.
  7. Click the [Settings] tab from the Details screen displayed on the right screen.
  8. Change settings from the Settings screen and click [Save].
  • Endpoint domain: Set endpoint domains of canary.
  • Certificate name: Select Client Certificates. (The certificate expires 1 year from the certificate creation date.)
  • Distribution: Set how to distribute requests to the stage and the canary.
    • Percentage: Designate canary request execution percentage.
    • Condition: Execute a canary request if the request is identical to the header and query string.
  • API cache: Enable canary API cache using the stage's API cache. Unavailable if the stage API cache is disabled.
    • TTL: Enter seconds to retain cache.
  • Throttling: Protect the backend server by limiting the number of requests per second for each registered method.

Canary promotion

A canary with tests completed can be deployed to stage.

To deploy a canary to the stage:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. Click to select the canary (stage name+(canary)) to deploy from the stage list and click [Promote canary].
  7. Check the details in the Promote canary popup and click [Yes].
    • After the canary promotion, the canary is disabled and is deleted from the stage list.
    • To check deployment history, click the [Deployment History] tab displayed on the right screen after clicking a stage name. For more information, see Check and manage deployment history.

Disable canary

You can disable (delete) the enabled canary.

To disable a canary:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Stages] tab.
  6. Click to select the canary (stage name+(canary)) to disable from the stage list and click [Disable canary].
  7. Check the details in the Disable canary popup and click [Yes].
    • After disabling the canary, the canary is deleted from the stage list.

Define the gateway response

You can change the pre-defined API Gateway response settings.

Check and edit response

To check and change API Gateway responses:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the target API from the API list.
  5. Click the [Gateway Responses] tab.
  6. Click the response type from the Response list to check or change details.
    • Details component.
      • Status code: Currently defined response code.
      • Basic settings: Whether the response type is the default setting.
      • To edit the response code for the response type, click the [Edit] button of the Status Code item, modify the code (100 to 599), and then click [Save]. To cancel the editing, click [Cancel].
      • If changes are set, the Default setting item changes from Yes to No.
    • Response header component.
      • To add a response header, enter a header name and header value (variable or static), and click [Add].
      • The response header name can include any valid strings.
      • The response header value can be a valid demand parameter or a static value grouped with single quotation marks.
      • To delete the added response header, click the [Delete] button of the corresponding response header, and click [Delete] in the Delete response popup.
      • For more information on content variables available for response the header and response message, see Content variable.
    • Mapping template component.
      • The content mapping template can be designated for data return. A template is declared when Apache Velocity Template Language (VTL) is used.
      • To add a mapping template, click [Add], enter the content type and mapping template information in the Add Mapping Template popup, and click [Add].
      • To edit a mapping template, click and select a mapping template to edit from the list, and click [Edit]. Edit mapping template information on the Edit mapping template popup and click [Edit].
      • To delete a mapping template, click and select a mapping template to delete from the list, and click [Delete]. Click [Delete] in the Delete mapping template popup.
    • To reset changes to the default value, click and select the response type to reset from the list, and click [Reset]. Check the details in the Reset popup and click [Reset]. If changes are set, the Default Setting item changes from No to Yes.

Content variable

Response header and response messages can use the following content variables.

Content variable Description
${context.productName} Product name
${context.apiName} API name
${context.httpMethod} Method
${context.error.message} Error message strings
${context.error.messageString} Error message strings, "$context.error.message"
${context.error.responseType} Response type
${context.identity.accountId} AccessKey account ID (if IAM authentication is used)
${context.identity.apiKey} API key (if using API key)
${context.identity.sourceIp} Caller IP
${context.identity.user} Same as ${context.identity.accountId}
${context.identity.userAgent} User Agent
${context.path} URL path
${context.protocol} Call protocol (e.g., HTTP/1.1)
${context.requestId} Request ID
${context.requestTime} Number of milliseconds since January 1, 1970, 00:00:00 UTC
${context.resourcePath} Resource path
${context.methodCode} Endpoint method
${context.methodName} Endpoint method
${context.status} Response code
${context.stage} Stage name
${method.request.path.PARAM_NAME} Request path variable
${method.request.queryString.PARAM_NAME} Request query string
${method.request.header.PARAM_NAME} Request header

Define body model of request and response

You can define body models for use in API details.

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API for which you want to define the body model from the API list.
  5. Click the [Models] tab.
  6. When necessary, define a new model or edit and delete models.
    • To add a model, click [Add], enter information in the Add model popup, and click [Add].
      • Model name: Enter the name of the model to create.
      • Description: Enter the description of the model.
      • Schema: Use JSON schema when declaring a model.
        • [Schema] tab: Create a schema.
        • [Preview] tab: Preview the created schema action.
      • Composition examples.
        {
            "title": "Person",
            "type": "object",
                "properties": {
                    "firstName": {
                        "type": "string"
                    },
                    "lastName": {
                        "type": "string"
                    },
                    "age": {
                        "description": "Age in years",
                        "type": "integer",
                        "minimum": 0
                    }
                },
            "required": ["firstName", "lastName"]
        }
        
  • Click to select the model to edit from the list and click [Edit]. Edit model information on the Edit model popup and click [Edit].
  • Click to select the model to delete from the list and click [Delete]. Click [Delete] of the Delete popup.

Compose an overview of the API manual

An API manual overview can be created with Markdown grammar.

To create an API manual overview:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the target product from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API you want to create a manual for from the API list.
  5. Click the [Overview] tab.
  6. Click [Edit].
  7. Click the [Enter] tab.
  8. Write an overview using Markdown grammar in the input field and click [Save].
    • To preview the written contents, click the [Preview] tab.
    • You can check the created overview through Check catalog and edit it from the Catalog screen.

Deploy API

To deploy a registered API:

Note

To deploy an API, a stage must be created first.
For more information on how to create a stage, see Create stage.

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apis in the APIs column of the product whose API you want to deploy from the product list.
    • Clicking the API name in the APIs list of details moves the API to the selected API list screen.
  4. Click the API you want to deploy from the API list.
  5. Click [Deploy API].
  6. In the API deployment popup, set the API deployment information and click [Add].
    • Stage to deploy: Select the stage to deploy.
    • Description: Enter description of the deployment.
  7. Click [OK] in the API deployment succeeded popup.
    • An API can be deployed to a single stage multiple times, and it can be managed through Deployment History.

Call APIs

Deployed APIs can be called. Depending on the API settings, authentication is required.

API call without authentication

To call an API that does not require authentication, see the following examples:

curl -i -X GET https://uh7m0wgsis.apigw.ntruss.com/petStore/v1/pets

API call with API key

To call an API that requires an API key, see the following details and examples:

Header Description
x-ncp-apigw-api-key API Gateway key (primary key or secondary key).
Add only when an API key is required.
curl -i -X GET \
   -H "x-ncp-apigw-api-key:cstWXuw4wqp1EfuqDwZeMz5fh0epaTykRRRuy5Ra" \
 'https://uh7m0wgsis.apigw.ntruss.com/petStore/v1/pets'

API call with IAM authentication

To call an API that requires IAM authentication, see the following details and examples:

Note

If the API authentication method is set to IAM or IAM + AUTHORIZATION, IAM authentication is required when calling the API as follows. For more information on how to set the API authentication method, see Create method.

Header Description
x-ncp-apigw-api-key API Gateway key (primary key or secondary key).
Add only when an API key is required.
x-ncp-apigw-timestamp Time elapsed in milliseconds since January 1, 1970, 00:00:00 UTC
Request is considered invalid if the timestamp differs from the current time by more than 5 minutes.
x-ncp-iam-access-key Portal or Sub Account access key ID.
x-ncp-apigw-signature-v2 Signature signed by the secret key that matches the access key ID.
Uses the HMAC-SHA256 encryption algorithm.
curl -i -X GET \
   -H "x-ncp-apigw-timestamp:1505290625682" \
   -H "x-ncp-apigw-api-key:cstWXuw4wqp1EfuqDwZeMz5fh0epaTykRRRuy5Ra" \
   -H "x-ncp-iam-access-key:D78BB444D6D3C84CA38A" \
   -H "x-ncp-apigw-signature-v2:WTPItrmMIfLUk/UyUIyoQbA/z5hq9o3G8eQMolUzTEo=" \
 'https://uh7m0wgsis.apigw.ntruss.com/photos/puppy.jpg?query1=&query2'
  • Check access key ID and SecretKey.
    To check the access key ID, and SecretKey, see API authentication key.

  • Create signature.

    Requests StringToSign
    GET /photos/puppy.jpg?query1=&query2
    x-ncp-apigw-timestamp={timestamp}
    x-ncp-apigw-api-key={apiKey}
    x-ncp-iam-access-key={accesskey}
    x-ncp-apigw-signature-v2={signature}
    GET /photos/puppy.jpg?query1=&query2
    {timeStamp}
    {accessKey}
    Caution

    The x-ncp-apigw-timestamp value of the request headers and timestamp of StringToSign must be identical.

    Note
    • The URL used for the signature does not include domains.
    • Use \n for a newline character.

Create a StringToSign appropriate for your request, encrypt it with SecretKey and the HmacSHA256 algorithm, and encode it with Base64. This value is used as x-ncp-apigw-signature-v2.
The following are sample codes for each code type.

  • Java sample code

    public String makeSignature() {
      String space = " ";					// one space
      String newLine = "\n";					// new line
      String method = "GET";					// method
      String url = "/photos/puppy.jpg?query1=&query2";	// url (include query string)
      String timestamp = "{timestamp}";			// current timestamp (epoch)
      String accessKey = "{accessKey}";			// access key id (from portal or sub account)
      String secretKey = "{secretKey}";
    
      String message = new StringBuilder()
        .append(method)
        .append(space)
        .append(url)
        .append(newLine)
        .append(timestamp)
        .append(newLine)
        .append(accessKey)
        .toString();
    
      SecretKeySpec signingKey = new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256");
      Mac mac = Mac.getInstance("HmacSHA256");
      mac.init(signingKey);
    
      byte[] rawHmac = mac.doFinal(message.getBytes("UTF-8"));
      String encodeBase64String = Base64.getEncoder(rawHmac);
    
      return encodeBase64String;
    }
    
  • JavaScript sample code

    /*
    https://code.google.com/archive/p/crypto-js/
    https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/crypto-js/CryptoJS%20v3.1.2.zip
    */
    
    /*
    CryptoJS v3.1.2
    code.google.com/p/crypto-js
    (c) 2009-2013 by Jeff Mott. All rights reserved.
    code.google.com/p/crypto-js/wiki/License
    */
    <script type="text/javascript" src="./CryptoJS/rollups/hmac-sha256.js"></script>
    <script type="text/javascript" src="./CryptoJS/components/enc-base64.js"></script>
    
    function makeSignature() {
      var space = " ";				// one space
      var newLine = "\n";				// new line
      var method = "GET";				// method
      var url = "/photos/puppy.jpg?query1=&query2";	// url (include query string)
      var timestamp = "{timestamp}";			// current timestamp (epoch)
      var accessKey = "{accessKey}";			// access key id (from portal or sub account)
      var secretKey = "{secretKey}";			// secret key (from portal or sub account)
    
      var hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, secretKey);
      hmac.update(method);
      hmac.update(space);
      hmac.update(url);
      hmac.update(newLine);
      hmac.update(timestamp);
      hmac.update(newLine);
      hmac.update(accessKey);
    
      var hash = hmac.finalize();
    
      return hash.toString(CryptoJS.enc.Base64);
    }
    
  • Python3 sample code

    import hashlib
    import hmac
    import base64
    import time
    
    def	make_signature():
      timestamp = int(time.time() * 1000)
      timestamp = str(timestamp)
    
      access_key = "{accessKey}"				# access key id (from portal or sub account)
      secret_key = "{secretKey}"				# secret key (from portal or sub account)
      secret_key = bytes(secret_key, 'UTF-8')
    
      method = "GET"
      uri = "/photos/puppy.jpg?query1=&query2"
    
      message = method + " " + uri + "\n" + timestamp + "\n" + access_key
      message = bytes(message, 'UTF-8')
      signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
      return signingKey
    
  • Bash sample code

    function makeSignature() {
      nl=$'\\n'
    
      TIMESTAMP=$(echo $(($(date +%s%N)/1000000)))
      ACCESSKEY="{accessKey}"				# access key id (from portal or sub account)
      SECRETKEY="{secretKey}"				# secret key (from portal or sub account)
    
      METHOD="GET"
      URI="/photos/puppy.jpg?query1=&query2"
    
      SIG="$METHOD"' '"$URI"${nl}
      SIG+="$TIMESTAMP"${nl}
      SIG+="$ACCESSKEY"
    
      SIGNATURE=$(echo -n -e "$SIG"|iconv -t utf8 |openssl dgst -sha256 -hmac $SECRETKEY -binary|openssl enc -base64)
    }
    
  • Objective-C sample code

    #include <CommonCrypto/CommonDigest.h>
    #include <CommonCrypto/CommonHMAC.h>
    
    - (NSString*) makeSignature
    {
      NSString* space = @" ";
      NSString* newLine = @"\n";
      NSString* method = @"GET";
      NSString* url = @"/photos/puppy.jpg?query1=&query2";
      NSString* timestamp = @"{timestamp}";
      NSString* accessKey = @"{accessKey}";
      NSString* secretKey = @"{secretKey}";
    
      NSString* message = [[NSString alloc] init];
      message = [message stringByAppendingString:method];
      message = [message stringByAppendingString:space];
      message = [message stringByAppendingString:url];
      message = [message stringByAppendingString:newLine];
      message = [message stringByAppendingString:timestamp];
      message = [message stringByAppendingString:newLine];
      message = [message stringByAppendingString:accessKey];
    
      const char *cKey = [secretKey cStringUsingEncoding:NSASCIIStringEncoding];
      const char *cData = [message StringUsingEncoding:NSASCIIStringEncoding];
      unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];
      CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
      NSData *hash = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)];
    
      const uint8_t* input = (const uint8_t*)[hash bytes];
      NSInteger length = [theData length];
    
      static char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    
      NSMutableData* data = [NSMutableData dataWithLength:((length + 2) / 3) * 4];
      uint8_t* output = (uint8_t*)data.mutableBytes;
    
      NSInteger i;
      for (i=0; i < length; i += 3) {
    
        NSInteger value = 0;
        NSInteger j;
    
        for (j = i; j < (i + 3); j++) {
          value <<= 8;
    
          if (j < length) {
            value |= (0xFF & input[j]);
          }
        }
    
        NSInteger theIndex = (i / 3) * 4;
        output[theIndex + 0] = table[(value >> 18) & 0x3F];
        output[theIndex + 1] = table[(value >> 12) & 0x3F];
        output[theIndex + 2] = (i + 1) < length ? table[(value >> 6) & 0x3F] : '=';
        output[theIndex + 3] = (i + 2) < length ? table[(value >> 0) & 0x3F] : '=';
      }
    
      return [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
    }
    
  • C# sample code

      using System;
      using System.Text;
      using System.Security.Cryptography;
    
      class ApiGateway
      {
          static String MakeSignature() {
              String method = "GET";
              String space = " ";
              String url = "/photos/puppy.jpg?query1=&query2";
              String newLine = "\n";
              String timestamp = "{timestamp}";
              String accessKey = "{accessKey}";
              String secretKey = "{secretKey}";
              
              var message = new StringBuilder();
              message.Append(method);
              message.Append(space);
              message.Append(url);
              message.Append(newLine);
              message.Append(timestamp);
              message.Append(newLine);
              message.Append(accessKey);
              string result = message.ToString();
              
              String signature = string.Empty;
              byte[] byteSecretKey = Encoding.UTF8.GetBytes(secretKey);
              using (HMACSHA256 hmacSha256 = new HMACSHA256(byteSecretKey))
              {
                  Byte[] dataToHmac = System.Text.Encoding.UTF8.GetBytes(result);
                  signature = Convert.ToBase64String(hmacSha256.ComputeHash(dataToHmac));
              }
              
              return signature;
          }
      }
    
  • PHP sample code

      <?php
      function makeSignature() {
              $StringToSign = 'GET /photos/puppy.jpg?query1=&query2' . PHP_EOL . '{timestamp}' . PHP_EOL . '{accessKey}';
              $secret_key = '{secretKey}';
    
              $signature = base64_encode(hash_hmac('sha256', $StringToSign, $secret_key, true));
    
              return $signature;
      }
      ?>
    

Error code

The following are the types and descriptions of error codes that may occur when calling an API.

HttpStatusCode ErrorCode ErrorMessage Description
400 100 Bad Request Exception Request errors such as protocol (https) or encoding (UTF-8).
401 200 Authentication Failed Authentication failed.
401 210 Permission Denied Unauthorized.
403 230 Forbidden Unauthorized.
404 300 Not Found Exception Not found
429 400 Quota Exceeded Quota exceeded.
429 410 Throttle Limited Rate exceeded.
429 420 Rate Limited Rate exceeded.
413 430 Request Entity Too Large Request entity size limit exceeded.
415 440 Unsupported Media Type Unsupported media type.
503 500 Endpoint Error Endpoint connection error.
504 510 Endpoint Timeout Endpoint connection time limit exceeded.
503 520 Unknown Endpoint Domain Unknown or unset endpoint.
503 530 Connection Closed By Endpoint Endpoint connection closed.
500 900 Unexpected Error Error not handled as an exception.

Error response format

The following are error response types that can occur during an API call.

  • When content-type of request is application/xml

    <?xml version='1.0' encoding='UTF-8' ?>
    <Message>
        <error>
            <errorCode>210</errorCode>
            <message>Permission Denied</message>
        </error>
    </Message>
    
  • Others

    {
      "error":{
          "errorCode":"210",
          "message":"Permission Denied"
      }
    }
    

Manage documents.

There are 3 types of API documents. For more information on each document, see the appropriate user guides.

Check catalog

You can check the overview and the manual document of the posted API documentation. In the case of the overview, its contents can be edited.

Note
  • To view the catalog, you must first deploy the API to a stage before posting the stage. For more information on how to post an API, see Post APIs.
  • Catalogs posted and published by other users can be referred to and subscribed to. For more information, see the Published APIs user guides.

To check a catalog:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-view of the Catalog column of the product with the catalog to check from the product list.
  4. From the API list of the product, click the name of the API whose catalog you want to check, and check the information.
    • Overview: Overview of the API manual.
      • To edit, click [Edit], enter information in the input field of the [Input] tab, and click [Save].
      • To preview edited information, click the [Preview] tab.
    • API manual
      • To check the API manual contents in Swagger UI format, click the stage name or i-apigateway-view.

Post API

You can post the developed API so that other users can use it by referring to the API guide.

To post an API:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-publish in the Post column of the target product from the product list.
  4. Click the API name to post from the catalog list of the product and click [Post].
  5. When the Post succeeded popup is displayed, click [OK].

Connect API key to stage and manage

In the API keys menu, you can register the created API key to the stage, and set the usage status and API usage.

Connect API key

To connect an API key to a stage:

Note

To connect an API key to a stage, you must first create an API key. For more information, see the API keys user guide.

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apikeys in the API keys column of the target product from the product list.
  4. Click [Add my API key].
  5. Click and select an API key to connect from the Add my API key popup and click [Add].
    • After entering the API key name, click i-apigateway-find to quickly find the desired API key.
  6. Check whether the connected API key to the stage is added to the API key list screen.

The following describes the API key list after an API key is connected.
apigw-myproducts-apikeys_ko

Component Description
Add my API key Connect API key to a stage.
Change status Change the usage status of the API key for an API.
Usage Plans Change the usage plan for the API key.
④ Search bar Select the search condition, enter search keywords, and click i-apigateway-find to search.
⑤ Filter Sort the list based on the usage status of the API key.
⑥ Sort Set the number of API keys to display on each list page.
⑦ API key list API key item linked to Stage
  • API key ID: ID of the API key linked to the stage.
  • API key name: Name of the API key linked to the stage.
  • Primary key: Primary key of the API key linked to the stage.
  • Secondary key: Secondary key of the API key linked to the stage.
  • Status: Displays the current API key status (Requested, Approved, Rejected, Request rejected, or Request blocked).
  • Request date and time: Date and time of requesting API key and stage connection.
  • Change date and time: Date and time of changing the API key status.

Change API key status

You can change the usage status of the API key for the API.

To change the API key use status:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apikeys in the API keys column of the target product from the product list.
  4. Click to select the API key to change the status from the API key list and click [Change status].
  5. Select and change the Status from the Status popup and click [Save].
    • Requested: Status of an API key being requested.
    • Approved: Status of an API being available for call.
    • Rejected: Status of an approved API key being unavailable to call the API.
    • Request rejected: Status of an API key approval request being rejected.
    • Request blocked: Status of an API key approval request being blocked.

Change API key usage plan

To change an API key usage plan:

  1. On the NAVER Cloud Platform console, navigate to i_menu > Services > Application Services > API Gateway.
  2. Click the My Products menu.
  3. Click i-apigateway-apikeys in the API keys column of the target product from the product list.
  4. Click and select an API key to change its usage plan from the API key list and click [Usage plans].
  5. From the usage plans list screen, select the target API and click [Edit usage plan].
    • API: API name connected with API key.
    • Stage: Stage name connected with API key.
    • Usage plan: Usage plan name set to the stage.
    • Request date and time: Date and time of requesting API key and stage connection.
    • Change date and time: Date and time of changing the usage plan settings.
    • Daily call/request processing limit: Displays the number of daily calls and the daily request processing limit set in the usage plan.
    • Monthly call/request processing limit: Displays the number of monthly calls and the monthly request processing limit set in the usage plan.
  6. Select and change Usage Plan on the Edit usage plan popup and click [Save].
    • Default usage plan: API usage set on the Default usage plan item from the [Usage Plans] tab of the stage. For more information, see Change stage usage plan.
    • Usage plan connected to the stage: Displays the usage plan created in the Usage plans menu and connected in the [Usage Plans] tab of the corresponding stage. The number next to the usage plan is the number of connected stages.

Usage limit

Description Limit
Number of products to create. 60
Number of possible APIs to create per product. 20
Number of API keys to create. 500
Number of resources to create per API. 300
Number of stages to create per API. 10
Number of usage plans to create. 300
TTL settings. 1 to 3600 seconds
TTL settings (Stream APIs). No cache
API processing time. 600 seconds
Endpoint API processing time. 30 seconds
Endpoint API processing time (Stream APIs). 300 seconds
Request body. 10 MB
Request body (Stream APIs). 100MB