Import resource from Swagger

Prev Next

Available in Classic and VPC

Import a resource from Swagger with a specified API.

Request

The following describes the request format for the endpoint. The request format is as follows:

Method URI
POST /api/v1/products/{product-id}/apis/{api-id}/resources/import

Request headers

For information about the headers common to all API Gateway APIs, see API Gateway request headers.

Request path parameters

You can use the following path parameters with your request:

Field Type Required Description
product-id String Required Product ID that the API belongs to
api-id String Required API ID

Request syntax

The request syntax is as follows.

{
    "importValidateType" : "FAIL_ON_WARN",
    "swagger" : "swagger"
}

Request body

The following describes the request body.

Field Type Required Description
importValidateType String Optional Actions when a warning occurs
  • FAIL_ON_WARN | IGNORE_WARN
    • FAIL_ON_WARN: Fail on warning
    • IGNORE_WARN: Ignore warning
swagger String Required Full value of Swagger to import

Request example

The following is a sample request.

curl --location --request POST 'https://apigateway.apigw.ntruss.com/api/v1/products/***ksk9***/apis/***51hs***/resources/import' \
--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 '{
    "importValidateType": "IGNORE_WARN",
    "swagger": "{\n  \"openapi\" : \"3.0.1\",\n  \"info\" : {\n    \"title\" : \"3-0openapi\",\n    \"description\" : \"<br/>https://***038m***.apigw.ntruss.com/3-0openapi/v1\",\n    \"version\" : \"2024-04-25T10:08:52Z\"\n  },\n  \"servers\" : [ {\n    \"url\" : \"https://***038m***.apigw.ntruss.com/3-0openapi/v1\"\n  } ],\n (omitted)  \"x-original-swagger-version\" : \"2.0\"\n}"
}'

Response

The following describes the response format.

Response syntax

The response syntax is as follows.

{
    "errorMessages" : [ "errorMessages" ],
    "warnMessages" : [ "warnMessages" ],
    "success" : true,
    "resourceList" : [ {
        "corsMaxAge" : "corsMaxAge",
        "resourceId" : "resourceId",
        "corsAllowMethods" : "corsAllowMethods",
        "methods" : [ {
            "methodName" : "ANY",
            "methodCode" : "methodCode"
        } ],
        "corsAllowOrigin" : "corsAllowOrigin",
        "resourcePath" : "resourcePath",
        "corsAllowCredentials" : "corsAllowCredentials",
        "corsExposeHeaders" : "corsExposeHeaders",
        "apiId" : "apiId",
        "corsAllowHeaders" : "corsAllowHeaders"
    } ]
}

Response status codes

For information about the HTTP status codes common to all API Gateway APIs, see API Gateway response status codes.

Response example

The following is a sample response.

{
    "success": true,
    "warnMessages": [],
    "errorMessages": [],
    "resourceList": [
        {
            "methods": [
                {
                    "methodCode": "0001",
                    "methodName": "GET"
                }
            ],
            "resourceId": "***i8xy***",
            "resourcePath": "/{domainCode}"
        },
        {
            "methods": [
                {
                    "methodCode": "0006",
                    "methodName": "OPTIONS"
                }
            ],
            "resourceId": "***3pbq***",
            "resourcePath": "/ncp",
            "corsAllowOrigin": "*",
            "corsAllowMethods": "GET,POST,HEAD",
            "corsAllowHeaders": "content-type,x-ncp-apigw-api-key,x-ncp-apigw-timestamp,x-ncp-iam-access-key,x-ncp-apigw-signature-v1,x-ncp-apigw-signature-v2",
            "corsAllowCredentials": "",
            "corsMaxAge": "",
            "corsExposeHeaders": ""
        },
// (Omitted)
    ]
}
```<p class="platform-info type-classic/vpc">Available in Classic and VPC</p>
Import a resource from Swagger with a specified API.

## Request <a name="요청"></a>
The following describes the request format for the endpoint. The request format is as follows:

| Method | URI |
| :--- | :--- |
| POST | /api/v1/products/{product-id}/apis/{api-id}/resources/import |

### Request headers <a name="요청헤더"></a>
For headers common to API Gateway, see [API Gateway common request headers](/docs/en/ai-application-service-apigateway#요청헤더).

### Request path parameters <a name="요청경로파라미터"></a>
The following describes the parameters.

| Field | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| `product-id` | String | Required | Product ID that the API belongs to<ul><li>0 - 10 characters</li><li>Check through [View product list](/docs/en/apigateway-product-getproductlist)</li></ul> |
| `api-id` | String | Required | API ID<ul><li>0 - 10 characters</li><li>Check through [View API](/docs/en/apigateway-api-apis)</li></ul> |

### Request syntax <a name="요청구문"></a>
The request syntax is as follows.

```JSON
{
    "importValidateType" : "FAIL_ON_WARN",
    "swagger" : "swagger"
}

Request body

The following describes the request body.

Field Type Required Description
importValidateType String Optional Actions when a warning occurs
  • FAIL_ON_WARN | IGNORE_WARN
    • FAIL_ON_WARN: Fail on warning
    • IGNORE_WARN: Ignore warning
swagger String Required Full value of Swagger to import

Request example

The following is a sample request.

curl --location --request POST 'https://apigateway.apigw.ntruss.com/api/v1/products/***ksk9***/apis/***51hs***/resources/import' \
--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 '{
    "importValidateType": "IGNORE_WARN",
    "swagger": "{\n  \"openapi\" : \"3.0.1\",\n  \"info\" : {\n    \"title\" : \"3-0openapi\",\n    \"description\" : \"<br/>https://***038m***.apigw.ntruss.com/3-0openapi/v1\",\n    \"version\" : \"2024-04-25T10:08:52Z\"\n  },\n  \"servers\" : [ {\n    \"url\" : \"https://***038m***.apigw.ntruss.com/3-0openapi/v1\"\n  } ],\n (omitted)  \"x-original-swagger-version\" : \"2.0\"\n}"
}'

Response

The following describes the response format.

Response syntax

The response syntax is as follows.

{
    "errorMessages" : [ "errorMessages" ],
    "warnMessages" : [ "warnMessages" ],
    "success" : true,
    "resourceList" : [ {
        "corsMaxAge" : "corsMaxAge",
        "resourceId" : "resourceId",
        "corsAllowMethods" : "corsAllowMethods",
        "methods" : [ {
            "methodName" : "ANY",
            "methodCode" : "methodCode"
        } ],
        "corsAllowOrigin" : "corsAllowOrigin",
        "resourcePath" : "resourcePath",
        "corsAllowCredentials" : "corsAllowCredentials",
        "corsExposeHeaders" : "corsExposeHeaders",
        "apiId" : "apiId",
        "corsAllowHeaders" : "corsAllowHeaders"
    } ]
}

Response status codes

For response status codes common to API Gateway, see API Gateway API response status codes.

Response example

The following is a sample response.

{
    "success": true,
    "warnMessages": [],
    "errorMessages": [],
    "resourceList": [
        {
            "methods": [
                {
                    "methodCode": "0001",
                    "methodName": "GET"
                }
            ],
            "resourceId": "***i8xy***",
            "resourcePath": "/{domainCode}"
        },
        {
            "methods": [
                {
                    "methodCode": "0006",
                    "methodName": "OPTIONS"
                }
            ],
            "resourceId": "***3pbq***",
            "resourcePath": "/ncp",
            "corsAllowOrigin": "*",
            "corsAllowMethods": "GET,POST,HEAD",
            "corsAllowHeaders": "content-type,x-ncp-apigw-api-key,x-ncp-apigw-timestamp,x-ncp-iam-access-key,x-ncp-apigw-signature-v1,x-ncp-apigw-signature-v2",
            "corsAllowCredentials": "",
            "corsMaxAge": "",
            "corsExposeHeaders": ""
        },
// (Omitted)
    ]
}
```            }
            ],
            "resourceId": "***i8xy***",
            "resourcePath": "/{domainCode}"
        },
        {
            "methods": [
                {
                    "methodCode": "0006",
                    "methodName": "OPTIONS"
                }
            ],
            "resourceId": "***3pbq***",
            "resourcePath": "/ncp",
            "corsAllowOrigin": "*",
            "corsAllowMethods": "GET,POST,HEAD",
            "corsAllowHeaders": "content-type,x-ncp-apigw-api-key,x-ncp-apigw-timestamp,x-ncp-iam-access-key,x-ncp-apigw-signature-v1,x-ncp-apigw-signature-v2",
            "corsAllowCredentials": "",
            "corsMaxAge": "",
            "corsExposeHeaders": ""
        },
// (Omitted)
    ]
}

{
"importValidateType" : "FAIL_ON_WARN",
"swagger" : "swagger"
}


### Request body <a name="요청바디"></a>
The following describes the request body.

| Field | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| `importValidateType` | String | Optional | Actions when a warning occurs <ul><li>`FAIL_ON_WARN` \| `IGNORE_WARN`<ul><li>`FAIL_ON_WARN`: Fail on warning</li><li>`IGNORE_WARN`: Ignore warning</li></ul></li></ul> |
| `swagger` | String | Required | Full value of Swagger to import |

### Request example <a name="요청예시"></a>
The following is a sample request.

```cURL
curl --location --request POST 'https://apigateway.apigw.ntruss.com/api/v1/products/***ksk9***/apis/***51hs***/resources/import' \
--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 '{
    "importValidateType": "IGNORE_WARN",
    "swagger": "{\n  \"openapi\" : \"3.0.1\",\n  \"info\" : {\n    \"title\" : \"3-0openapi\",\n    \"description\" : \"<br/>https://***038m***.apigw.ntruss.com/3-0openapi/v1\",\n    \"version\" : \"2024-04-25T10:08:52Z\"\n  },\n  \"servers\" : [ {\n    \"url\" : \"https://***038m***.apigw.ntruss.com/3-0openapi/v1\"\n  } ],\n (omitted)  \"x-original-swagger-version\" : \"2.0\"\n}"
}'

Response

The following describes the response format.

Response syntax

The response syntax is as follows.

{
    "errorMessages" : [ "errorMessages" ],
    "warnMessages" : [ "warnMessages" ],
    "success" : true,
    "resourceList" : [ {
        "corsMaxAge" : "corsMaxAge",
        "resourceId" : "resourceId",
        "corsAllowMethods" : "corsAllowMethods",
        "methods" : [ {
            "methodName" : "ANY",
            "methodCode" : "methodCode"
        } ],
        "corsAllowOrigin" : "corsAllowOrigin",
        "resourcePath" : "resourcePath",
        "corsAllowCredentials" : "corsAllowCredentials",
        "corsExposeHeaders" : "corsExposeHeaders",
        "apiId" : "apiId",
        "corsAllowHeaders" : "corsAllowHeaders"
    } ]
}

Response status codes

For response status codes common to API Gateway, see API Gateway API response status codes.

Response example

The following is a sample response.

{
    "success": true,
    "warnMessages": [],
    "errorMessages": [],
    "resourceList": [
        {
            "methods": [
                {
                    "methodCode": "0001",
                    "methodName": "GET"
                }
            ],
            "resourceId": "***i8xy***",
            "resourcePath": "/{domainCode}"
        },
        {
            "methods": [
                {
                    "methodCode": "0006",
                    "methodName": "OPTIONS"
                }
            ],
            "resourceId": "***3pbq***",
            "resourcePath": "/ncp",
            "corsAllowOrigin": "*",
            "corsAllowMethods": "GET,POST,HEAD",
            "corsAllowHeaders": "content-type,x-ncp-apigw-api-key,x-ncp-apigw-timestamp,x-ncp-iam-access-key,x-ncp-apigw-signature-v1,x-ncp-apigw-signature-v2",
            "corsAllowCredentials": "",
            "corsMaxAge": "",
            "corsExposeHeaders": ""
        },
// (Omitted)
    ]
}