1 - Product

Overview

Provides an Application Programming Interface (API) that supports programmatic use of IaaS/PaaS products provided by SCP.

This guide provides a brief description of PRODUCT service and how to call API. The API is provided as a RESTful API, and it responds in JSON format.

Version

Deprecated versions with Not Before dates that have arrived or expired are no longer supported. We recommend using the latest version.

VersionStatusNot Before
1.0CURRENT-

OpenAPI URL

https://product.{environment}.samsungsdscloud.com

Environment and Region List

environmentregion
skr-west1
skr-east1
gkr-south1
gkr-south2
gkr-south3
ekr-west1
ekr-east1

API Version History

1.0

Initial API release for Product

Changes

  • [New] GET /product-categories - ListProductCategories API have been added.
  • [New] GET /product-categories/{category_id} - ShowProductCategory API have been added.
  • [New] GET /products - ListProducts API have been added.
  • [New] GET /products/{product_id} - ShowProduct API have been added.

1.1 - APIs

1.1.1 - List Product Categories

1.1.1.1 - 1.0

get /v1/product-categories

Description

List product categories

State ACTIVE (CURRENT)

VersionNot Before
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querylimit
optional
LIMIT
Example : 10
integerNone
querypage
optional
Page
Example : 1
integerNone
querydisplay_name
optional
Product Category Name
Example : Networking
array[any of [string, null]][]
querydisplay_name_ko
optional
Product Category Name
Example : Networking
array[any of [string, null]][]
queryis_exposed_menu
optional
Product Category Menu Exposed Status
Example : True
array[any of [boolean, null]][]
querycreated_by
optional
Created by
Example : 김삼성
any of [string, null]None
querymodified_by
optional
Modified by
Example : 김삼성
any of [string, null]None
querycreated_start_date
optional
Created start date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querycreated_end_date
optional
Created end date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querymodified_start_date
optional
Modified start date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querymodified_end_date
optional
Modified end date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querysort
optional
Sort
Example : created_at:asc
any of [string, null]None

Responses

HTTP CodeDescriptionSchema
200OKProductCategoryListResponse
400Bad RequestNone
401UnauthorizedNone
404Not FoundNone

Example HTTP request

Request path

/v1/product-categories

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = product 1.0"

Example HTTP response

Response 200

{
    "count": 5,
    "current_page": 1,
    "product_categories": [
        {
            "category_id": "NETWORKING",
            "created_at": "2024-01-01T00:00:00",
            "created_by": "5cada9f6afa049418c4f18c0c4859202",
            "display_name": "Networking",
            "display_name_ko": "Networking",
            "icon_file_id": "c1d5c1f63bf24f73b32c37f6f7b50310",
            "is_exposed_menu": "True",
            "modified_at": "2024-01-01T00:00:00",
            "modified_by": "5cada9f6afa049418c4f18c0c4859202",
            "seq": 9,
            "service_group_color_id": "ffff00"
        }
    ],
    "total_count": 5,
    "total_pages": 1
}

1.1.2 - List Products

1.1.2.1 - 1.0

get /v1/products

Description

List products.

State ACTIVE (CURRENT)

VersionNot Before
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querylimit
optional
LIMIT
Example : 10
integerNone
querypage
optional
Page
Example : 1
integerNone
queryproduct_category_id
optional
Product Category ID
Example : NETWORKING
array[any of [string, null]][]
queryproduct_id
optional
Product ID
Example : VPC
array[any of [string, null]][]
querydisplay_name
optional
Product name
Example : VPC
array[any of [string, null]][]
querydisplay_name_ko
optional
Product name
Example : VPC
array[any of [string, null]][]
querykind
optional
Product Kind
Example : PRODUCT
array[any of [string, null]][]
querycreated_start_date
optional
Created start date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querycreated_end_date
optional
Created end date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querymodified_start_date
optional
Modified start date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querymodified_end_date
optional
Modified end date
Example : 2024-01-01T00:00:00
any of [string (date-time), null]None
querysort
optional
Sort
Example : created_at:asc
any of [string, null]None

Responses

HTTP CodeDescriptionSchema
200OKProductListResponse
400Bad RequestNone
401UnauthorizedNone

Example HTTP request

Request path

/v1/products

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = product 1.0"

Example HTTP response

Response 200

{
    "count": 5,
    "current_page": 1,
    "products": [
        {
            "created_at": "2024-01-01T00:00:00",
            "created_by": "5cada9f6afa049418c4f18c0c4859202",
            "display_name": "VPC",
            "display_name_ko": "VPC",
            "kind": "PRODUCT",
            "modified_at": "2024-01-01T00:00:00",
            "modified_by": "5cada9f6afa049418c4f18c0c4859202",
            "product_category_id": "NETWORKING",
            "product_category_name": "Networking",
            "product_id": "VPC"
        }
    ],
    "total_count": 5,
    "total_pages": 1
}

1.1.3 - Show Product

1.1.3.1 - 1.0

get /v1/products/{product_id}

Description

Show product.

State ACTIVE (CURRENT)

VersionNot Before
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathproduct_id
required
Product ID
Example : VPC
stringNone

Responses

HTTP CodeDescriptionSchema
200OKProductResponse
400Bad RequestNone
401UnauthorizedNone
404Not FoundNone

Example HTTP request

Request path

/v1/products/{product_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = product 1.0"

Example HTTP response

Response 200

{
    "created_at": "2024-01-01T00:00:00",
    "created_by": "5cada9f6afa049418c4f18c0c4859202",
    "display_name": "VPC",
    "display_name_ko": "VPC",
    "kind": "PRODUCT",
    "modified_at": "2024-01-01T00:00:00",
    "modified_by": "5cada9f6afa049418c4f18c0c4859202",
    "product_category_id": "NETWORKING",
    "product_category_name": "Networking",
    "product_id": "VPC"
}

1.1.4 - Show Product category

1.1.4.1 - 1.0

get /v1/product-categories/{category_id}

Description

Show product category.

State ACTIVE (CURRENT)

VersionNot Before
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathcategory_id
required
Product Category ID
Example : NETWORKING
stringNone

Responses

HTTP CodeDescriptionSchema
200OKProductCategoryResponse
400Bad RequestNone
401UnauthorizedNone
404Not FoundNone

Example HTTP request

Request path

/v1/product-categories/{category_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = product 1.0"

Example HTTP response

Response 200

{
    "category_id": "NETWORKING",
    "created_at": "2024-01-01T00:00:00",
    "created_by": "5cada9f6afa049418c4f18c0c4859202",
    "display_name": "Networking",
    "display_name_ko": "Networking",
    "icon_file_id": "c1d5c1f63bf24f73b32c37f6f7b50310",
    "is_exposed_menu": "True",
    "modified_at": "2024-01-01T00:00:00",
    "modified_by": "5cada9f6afa049418c4f18c0c4859202",
    "seq": 9,
    "service_group_color_id": "ffff00"
}

1.2 - Models

1.2.1 - ProductCategoryListResponse

NameDescriptionSchemaDefault
count
optional
Count
Example : 5
any of [integer, null]
current_page
optional
Current page
Example : 1
any of [integer, null]
product_categories
optional
Product Categories
array[ProductCategoryResponse]
total_count
optional
Total count
Example : 5
any of [integer, null]
total_pages
optional
Total pages
Example : 1
any of [integer, null]

1.2.2 - ProductCategoryResponse

NameDescriptionSchemaDefault
category_id
optional
Product Category ID
Example : NETWORKING
any of [string, null]
created_at
optional
Created date
Example : 2024-01-01T00:00:00
string (date-time)
created_by
optional
Created by
Example : 5cada9f6afa049418c4f18c0c4859202
string
display_name
optional
Product Category Name
Example : Networking
Pattern : [a-zA-Z0-9_\-()\s]{2,30}$
any of [string, null]
display_name_ko
optional
Product Category Name
Example : Networking
Pattern : ^[가-힣a-zA-Z0-9_\-()\s]{2,30}$
any of [string, null]
icon_file_id
optional
Icon File ID
Example : c1d5c1f63bf24f73b32c37f6f7b50310
any of [string, null]
is_exposed_menu
optional
Product Category Menu Exposed Status
Example : True
any of [boolean, null]
modified_at
optional
Modified date
Example : 2024-01-01T00:00:00
string (date-time)
modified_by
optional
Modified by
Example : 5cada9f6afa049418c4f18c0c4859202
string
seq
optional
Seq
Example : 9
any of [integer, null]
service_group_color_id
optional
Service Group Color
Example : ffff00
any of [string, null]

1.2.3 - ProductListResponse

NameDescriptionSchemaDefault
count
optional
Count
Example : 5
any of [integer, null]
current_page
optional
Current page
Example : 1
any of [integer, null]
products
optional
Products
array[ProductResponse]
total_count
optional
Total count
Example : 5
any of [integer, null]
total_pages
optional
Total pages
Example : 1
any of [integer, null]

1.2.4 - ProductResponse

NameDescriptionSchemaDefault
created_at
required
Created date
Example : 2024-01-01T00:00:00
string (date-time)
created_by
required
Created by
Example : 5cada9f6afa049418c4f18c0c4859202
string
display_name
optional
Product name
Example : VPC
any of [string, null]
display_name_ko
optional
Product name
Example : VPC
any of [string, null]
kind
optional
Product Kind
Example : PRODUCT
string
modified_at
required
Modified date
Example : 2024-01-01T00:00:00
string (date-time)
modified_by
required
Modified by
Example : 5cada9f6afa049418c4f18c0c4859202
string
product_category_id
optional
Product Category ID
Example : NETWORKING
any of [string, null]
product_category_name
optional
Product Category Name
Example : Networking
any of [string, null]
product_id
optional
Product ID
Example : VPC
any of [string, null]

2 - STS

Overview

Provides an Application Programming Interface (API) that supports programmatic use of IaaS/PaaS products provided by SCP.

This guide provides a brief description of STS service and how to call API. The API is provided as a RESTful API, and it responds in JSON format.

Version

Deprecated versions with Not Before dates that have arrived or expired are no longer supported. We recommend using the latest version.

VersionStatusNot Before
1.1CURRENT-
1.0DEPRECATED20260531

OpenAPI URL

https://sts.{environment}.samsungsdscloud.com

Environment and Region List

environmentregion
skr-west1
skr-east1
gkr-south1
gkr-south2
gkr-south3
ekr-west1
ekr-east1

API Version History

1.2

STS has been updated to version 1.2.

Changes

  • No changes from version 1.1

1.1

STS has been updated to version 1.1.

Changes

  • [New] POST /sts/1.1/authenticate-token-with-context - Authenticate sts token and return context
  • [New] POST /sts/1.1/role-keystone-token - Get Keystone token for assumed role

1.0

STS has been updated to version 1.0.

Changes

  • [New] POST /sts/1.0/assume-role - Acquire temporary role credential
  • [New] POST /sts/1.0/assume-role-with-saml - Acquire temporary role credential from SAML Assertion
  • [New] POST /sts/1.0/object-store-authorization - Create new Signature based on Session Token

2.1 - APIs

2.1.1 - Acquire temporary role credential

2.1.1.1 - 1.1

post /v1/assume-role

Description

Acquire temporary role credential

State ACTIVE (CURRENT)

VersionNot Before
1.1-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

StsAssumeRoleRequest

Responses

HTTP CodeDescriptionSchema
200OKStsAssumeRoleResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/assume-role

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = sts 1.1"

Request body

{
    "duration_seconds": 900,
    "role_indicator": "qa2:afd580f490394896a6bceabf77683c6bd:role_name",
    "role_session_name": ""
}

Example HTTP response

Response 200

{
    "assumed_role_user": {
        "assumed_role_id": "",
        "srn": ""
    },
    "credentials": {
        "access_key_id": "",
        "expiration": "2024-01-15T10:30:00.000Z",
        "secret_access_key": "",
        "session_token": ""
    }
}

2.1.1.2 - 1.0

post /v1/assume-role

Description

Acquire temporary role credential

State ACTIVE (DEPRECATED)

Deprecated versions with Not Before dates that have arrived or expired are no longer supported. We recommend using the latest version.

VersionNot Before
1.020260531

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

StsAssumeRoleRequest

Responses

HTTP CodeDescriptionSchema
200OKStsAssumeRoleResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/assume-role

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = sts 1.0"

Request body

{
    "duration_seconds": 900,
    "role_indicator": "qa2:afd580f490394896a6bceabf77683c6bd:role_name",
    "role_session_name": ""
}

Example HTTP response

Response 200

{
    "assumed_role_user": {
        "assumed_role_id": "",
        "srn": ""
    },
    "credentials": {
        "access_key_id": "",
        "expiration": "2024-01-15T10:30:00.000Z",
        "secret_access_key": "",
        "session_token": ""
    }
}

2.1.2 - Acquire temporary role credential from SAML Assertion

2.1.2.1 - 1.1

post /v1/assume-role-with-saml

Description

Acquire temporary role credential from SAML Assertion

State ACTIVE (CURRENT)

VersionNot Before
1.1-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

StsAssumeRoleWithSAMLRequest

Responses

HTTP CodeDescriptionSchema
200OKStsAssumeRoleWithSAMLResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/assume-role-with-saml

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = sts 1.1"

Request body

{
    "duration_seconds": 900,
    "principal_indicator": "qa2:afd580f490394896a6bceabf77683c6bd:principal_name",
    "role_indicator": "qa2:afd580f490394896a6bceabf77683c6bd:role_name",
    "saml_assertion": ""
}

Example HTTP response

Response 200

{
    "assumed_role_user": {
        "assumed_role_id": "",
        "srn": ""
    },
    "audience": "",
    "credentials": {
        "access_key_id": "",
        "expiration": "2024-01-15T10:30:00.000Z",
        "secret_access_key": "",
        "session_token": ""
    },
    "issuer": "",
    "subject": "",
    "subject_type": ""
}

2.1.2.2 - 1.0

post /v1/assume-role-with-saml

Description

Acquire temporary role credential from SAML Assertion

State ACTIVE (DEPRECATED)

Deprecated versions with Not Before dates that have arrived or expired are no longer supported. We recommend using the latest version.

VersionNot Before
1.020260531

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

StsAssumeRoleWithSAMLRequest

Responses

HTTP CodeDescriptionSchema
200OKStsAssumeRoleWithSAMLResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/assume-role-with-saml

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = sts 1.0"

Request body

{
    "duration_seconds": 900,
    "principal_indicator": "qa2:afd580f490394896a6bceabf77683c6bd:principal_name",
    "role_indicator": "qa2:afd580f490394896a6bceabf77683c6bd:role_name",
    "saml_assertion": ""
}

Example HTTP response

Response 200

{
    "assumed_role_user": {
        "assumed_role_id": "",
        "srn": ""
    },
    "audience": "",
    "credentials": {
        "access_key_id": "",
        "expiration": "2024-01-15T10:30:00.000Z",
        "secret_access_key": "",
        "session_token": ""
    },
    "issuer": "",
    "subject": "",
    "subject_type": ""
}

2.1.3 - Create new Signature based on Session Token

2.1.3.1 - 1.1

post /v1/object-store-authorization

Description

Create new Signature based on Session Token

State ACTIVE (CURRENT)

VersionNot Before
1.1-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

StsObjectStoreAuthRequest

Responses

HTTP CodeDescriptionSchema
200OKStsObjectStoreAuthResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone

Example HTTP request

Request path

/v1/object-store-authorization

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = sts 1.1"

Request body

{
    "method": "",
    "region": "kr-west1",
    "service": "s3",
    "url": "",
    "x_amz_content_sha256": "",
    "x_amz_date": ""
}

Example HTTP response

Response 200

{
    "Authorization": ""
}

2.1.3.2 - 1.0

post /v1/object-store-authorization

Description

Create new Signature based on Session Token

State ACTIVE (DEPRECATED)

Deprecated versions with Not Before dates that have arrived or expired are no longer supported. We recommend using the latest version.

VersionNot Before
1.020260531

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

StsObjectStoreAuthRequest

Responses

HTTP CodeDescriptionSchema
200OKStsObjectStoreAuthResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone

Example HTTP request

Request path

/v1/object-store-authorization

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = sts 1.0"

Request body

{
    "method": "",
    "region": "kr-west1",
    "service": "s3",
    "url": "",
    "x_amz_content_sha256": "",
    "x_amz_date": ""
}

Example HTTP response

Response 200

{
    "Authorization": ""
}

2.2 - Models

2.2.1 - StsAssumedRoleUser

NameDescriptionSchemaDefault
assumed_role_id
required
Assumed Role ID
Example :
string
srn
required
Temporary Credentials SRN
Example :
string

2.2.2 - StsAssumeRoleRequest

NameDescriptionSchemaDefault
duration_seconds
optional
Duration of seconds of the role session
Example : 900
integer900
role_indicator
required
Identifier of the role to assume. [offering:account_id:role_name]
Example : qa2:afd580f490394896a6bceabf77683c6bd:role_name
Pattern : ^[^:]+:[^:]+:[^:]+$
Minimum length : 32
string
role_session_name
required
Role Session Name
Example :
Minimum length : 1
Maximum length : 64
string

2.2.3 - StsAssumeRoleResponse

NameDescriptionSchemaDefault
assumed_role_user
required
Assumed Role ID
StsAssumedRoleUser
credentials
required
Temporary Credentials
StsCredentials

2.2.4 - StsAssumeRoleWithSAMLRequest

NameDescriptionSchemaDefault
duration_seconds
optional
Duration of seconds of the role session
Example : 900
integer900
principal_indicator
required
SAML Provider Indicator
Example : qa2:afd580f490394896a6bceabf77683c6bd:principal_name
Pattern : ^[^:]+:[^:]+:[^:]+$
Minimum length : 32
string
role_indicator
required
Identifier of the role to assume. [offering:account_id:role_name]
Example : qa2:afd580f490394896a6bceabf77683c6bd:role_name
Pattern : ^[^:]+:[^:]+:[^:]+$
Minimum length : 32
string
saml_assertion
required
SAML Assertion
Example :
Minimum length : 1
string

2.2.5 - StsAssumeRoleWithSAMLResponse

NameDescriptionSchemaDefault
assumed_role_user
required
Assumed Role ID
StsAssumedRoleUser
audience
required
Recipient Value
Example :
string
credentials
required
Temporary Credentials
StsCredentials
issuer
required
Issuer Value
Example :
string
subject
required
Name ID Value
Example :
string
subject_type
required
Name ID Format
Example :
string

2.2.6 - StsCredentials

NameDescriptionSchemaDefault
access_key_id
required
Temporary Access Key ID
Example :
string
expiration
required
Temporary Credentials Expiration
Example :
string (date-time)
secret_access_key
required
Secret Access Key
Example :
string
session_token
required
Token that user must pass to use temporary credentials
Example :
string

2.2.7 - StsObjectStoreAuthRequest

NameDescriptionSchemaDefault
method
required
HTTP Method
Example :
Minimum length : 1
string
region
optional
Region
Example : kr-west1
stringkr-west1
service
optional
Service
Example : s3
strings3
url
required
The URL of the request
Example :
Minimum length : 1
string
x_amz_content_sha256
required
AMZ Content SHA256
Example :
Minimum length : 1
string
x_amz_date
required
AMZ Date
Example :
Minimum length : 1
string

2.2.8 - StsObjectStoreAuthResponse

NameDescriptionSchemaDefault
Authorization
required
Authorization Header
Example :
string