Skip to content
Start here

Duplicate Secret

client.secretsStore.stores.secrets.duplicate(stringstoreId, stringsecretId, SecretDuplicateParams { account_id, name, scopes, comment } params, RequestOptionsoptions?): SecretDuplicateResponse { id, created, modified, 5 more }
POST/accounts/{account_id}/secrets_store/stores/{store_id}/secrets/{secret_id}/duplicate

Duplicates the secret, keeping the value

Security

API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Secrets Store Write
ParametersExpand Collapse
storeId: string

Store Identifier

maxLength32
secretId: string

Secret identifier tag.

maxLength32
params: SecretDuplicateParams { account_id, name, scopes, comment }
account_id: string

Path param: Account Identifier

maxLength32
name: string

Body param: The name of the secret

scopes: Array<string>

Body param: The list of services that can use this secret.

comment?: string

Body param: Freeform text describing the secret

ReturnsExpand Collapse
SecretDuplicateResponse { id, created, modified, 5 more }
id: string

Secret identifier tag.

maxLength32
created: string

Whenthe secret was created.

formatdate-time
modified: string

When the secret was modified.

formatdate-time
name: string

The name of the secret

status: "pending" | "active" | "deleted"
One of the following:
"pending"
"active"
"deleted"
store_id: string

Store Identifier

maxLength32
comment?: string

Freeform text describing the secret

scopes?: Array<string>

The list of services that can use this secret.

Duplicate Secret

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted
  apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted
});

const response = await client.secretsStore.stores.secrets.duplicate(
  '023e105f4ecef8ad9ca31a8372d0c353',
  '3fd85f74b32742f1bff64a85009dda07',
  {
    account_id: '985e105f4ecef8ad9ca31a8372d0c353',
    name: 'MY_API_KEY',
    scopes: ['workers', 'ai_gateway', 'dex', 'access'],
  },
);

console.log(response.id);
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "3fd85f74b32742f1bff64a85009dda07",
    "created": "2023-09-21T18:56:32.624632Z",
    "modified": "2023-09-21T18:56:32.624632Z",
    "name": "MY_API_KEY",
    "status": "pending",
    "store_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "comment": "info about my secret",
    "scopes": [
      "workers",
      "ai_gateway",
      "dex",
      "access"
    ]
  },
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000,
    "total_pages": 100
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "3fd85f74b32742f1bff64a85009dda07",
    "created": "2023-09-21T18:56:32.624632Z",
    "modified": "2023-09-21T18:56:32.624632Z",
    "name": "MY_API_KEY",
    "status": "pending",
    "store_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "comment": "info about my secret",
    "scopes": [
      "workers",
      "ai_gateway",
      "dex",
      "access"
    ]
  },
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000,
    "total_pages": 100
  }
}