Create Secret

Prev Next

Available in VPC

Create a secret.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /api/v1/secrets

Request headers

For information about the headers common to all Secret Manager APIs, see Secret Manager request headers.

Request body

You can include the following data in the body of your request:

Field Type Required Description
secretName String Required Secret name
  • Enter 3 to 15 characters using a combination of English letters, numbers, and the special characters "-" and "_".
  • The string must begin with an English letter.
memo String Optional Secret description (byte)
  • 0-1000
secretValue Object Required Secret value object
secretValue.value String Required Secret value
secretValue.rotationTargets Array Required List of secret values to be rotated
secretType String Required Secret type
  • BASIC: Default secret type (valid value)
autoRotationYN String Required Whether to rotate automatically
  • Y | N (default)
    • Y: Rotate automatically
    • N: Not rotate automatically
autoRotationPeriod Integer Conditional Secret automatic rotation cycle (day)
  • 1-730 (default: 90)
  • Required if autoRotationYN is Y
triggerId String Conditional Trigger ID
protectionKeyType String Required Protection key type
  • DEFAULT (default) | USER_MANAGED_KEY
    • DEFAULT: Default key
    • USER_MANAGED_KEY: User managed key
kmsKeyTag String Conditional KMS key tag

Request example

The request example is as follows:

curl --location --request POST 'https://secretmanager.apigw.ntruss.com/api/v1/secrets' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{
    "secretName": "test-***",
    "memo": "Secret Manager Description",
    "secretValue": {
        "value": "{\"abc\":\"cba\"}",
        "rotationTargets": [
            "abc"
        ]
    },
    "secretType": "BASIC",
    "autoRotationYN": "Y",
    "autoRotationPeriod": 90,
    "triggerId": "*****",
    "protectionKeyType": "USER_MANAGED_KEY",
    "kmsKeyTag": "*****a8e99ef1ba49b9c190a0cb4f6fb20cff86dd3a3017fd6ee05aea8b*****"
}'

Response

This section describes the response format.

Response body

The response body includes the following data:

Field Type Required Description
code String - Response code
data Object - Response result
data.secretId String - Secret ID
data.secretName String - Secret name
data.secretStatus String - Secret status
  • ENABLE | DISABLE | REVOKE | ROTATING | DESTROYED
    • ENABLE: Available
    • DISABLE: Suspended
    • REVOKE: Scheduled for deletion
    • ROTATING: Rotation in progress
    • DESTROYED: Finally deleted
data.secretType String - Secret type
  • BASIC (valid value)
data.memo String - Secret description
data.region String - Area code
data.registerDate Integer - Secret creation date and time (millisecond)
  • Unix timestamp format
data.autoRotationYN String - Whether to rotate automatically
  • Y | N
    • Y: Rotate automatically
    • N: Not rotate automatically
data.autoRotationPeriod Integer - Secret automatic rotation cycle (day)
  • Displayed if autoRotationYN is Y
data.nextRotationDate Integer - Next rotation date and time (millisecond)
  • Unix timestamp format
  • Displayed if autoRotationYN is Y
data.rotationPhase String - Current rotation phase
  • NONE | ROTATING | ROTATION_FAILED
    • NONE: No rotation execution history or rotation terminated (normal)
    • ROTATING: Rotation in progress
    • ROTATION_FAILED: Rotation failed
data.trigger Object - Information of the trigger
data.trigger.id String - Trigger ID
data.trigger.name String - Trigger name
data.trigger.url String - Trigger URL
data.trigger.recentlyExecutedAction String - Recently executed action
  • Displayed if there is a history of actual actions taken
data.protectionKey Object - Protection key information
data.protectionKey.type String - Protection key type
  • DEFAULT | USER_MANAGED_KEY
    • DEFAULT: Default key
    • USER_MANAGED_KEY: User managed key
data.protectionKey.kmsKeyTag String - KMS key tag
data.protectionKey.kmsKeyName String - KMS key name

Response status codes

For information about the HTTP status codes common to all Secret Manager APIs, see Secret Manager response status codes.

Response example

The response example is as follows:

{
    "code": "SUCCESS",
    "data": {
        "secretId": "*****687685109842348f7358629bca2a6b2491e8c2352718e7d312b183*****",
        "secretName": "test-***",
        "secretStatus": "ENABLE",
        "secretType": "BASIC",
        "memo": "Secret Manager Description",
        "region": "KR",
        "registerDate": 1753065580243,
        "autoRotationYN": "Y",
        "autoRotationPeriod": 90,
        "nextRotationDate": 1760842800000,
        "rotationPhase": "NONE",
        "trigger": {
            "id": "*****",
            "name": "test",
            "url": "https://console.ncloud.com/vpcCloudFunctions/trigger/detail/test"
        },
        "protectionKey": {
            "type": "USER_MANAGED_KEY",
            "kmsKeyTag": "*****a8e99ef1ba49b9c190a0cb4f6fb20cff86dd3a3017fd6ee05aea8b*****",
            "kmsKeyName": "test-***"
        }
    }
}