Skip to content

Create Secret

Deprecated
client.secrets.create(SecretCreateParams { key, value, description } body, RequestOptionsoptions?): CloudSecret { id, account_id, cloud_secret_path, 7 more }
POST/v5/sgp/secrets

Create an account-level secret.

The secret value is stored in the cloud provider’s secret store. SGP only stores metadata (key name, description, audit info). The value is never returned by any API. Returns 409 if a secret with the same key already exists.

ParametersExpand Collapse
body: SecretCreateParams { key, value, description }
key: string

Secret name (e.g. openai-api-key). Must be lowercase alphanumeric with hyphens (no dots or underscores), so it maps 1:1 to a valid secret name on every cloud backend (AWS / Azure Key Vault / GCP Secret Manager).

maxLength90
minLength1
value: string

The secret value to store

minLength1
description?: string

Optional human-readable description

ReturnsExpand Collapse
CloudSecret { id, account_id, cloud_secret_path, 7 more }

API response model for a secret. Never includes the secret value.

id: string

The unique identifier of the entity.

account_id: string

The ID of the account that owns the given entity.

cloud_secret_path: string

Full path in the cloud secret store.

created_at: string

The date and time when the entity was created in ISO format.

formatdate-time
created_by: Identity { id, type, object }

The identity that created the entity.

id: string
type: "user" | "service_account"
One of the following:
"user"
"service_account"
object?: "identity"
key: string

Secret name, e.g. OPENAI_API_KEY.

description?: string

Optional human-readable description of the secret.

object?: "sgp_cloud_secret"
updated_at?: string

Timestamp of last update.

formatdate-time
updated_by?: string

User who last updated the secret.

Create Secret

import SGPClient from 'scale-gp';

const client = new SGPClient({
  accountID: 'My Account ID',
  apiKey: process.env['SGP_API_KEY'], // This is the default and can be omitted
});

const cloudSecret = await client.secrets.create({ key: 'key', value: 'x' });

console.log(cloudSecret.id);
{
  "id": "id",
  "account_id": "account_id",
  "cloud_secret_path": "cloud_secret_path",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "key": "key",
  "description": "description",
  "object": "sgp_cloud_secret",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "updated_by": "updated_by"
}
Returns Examples
{
  "id": "id",
  "account_id": "account_id",
  "cloud_secret_path": "cloud_secret_path",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "key": "key",
  "description": "description",
  "object": "sgp_cloud_secret",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "updated_by": "updated_by"
}