Secrets

A Secret stores named, typed secret material for later use by features that reference the Secret by ID.

Secret values are encrypted at rest and are write-only. API responses include metadata and configured value field names, but never include the stored secret values.

List Secrets

SDK Method

Secret.list()

Return Object

Secret[]

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Additional Arguments

Example Request

import Secret from 'files.com/lib/models/Secret';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const secrets = await Secret.list();
  for (const secret of secrets) {
    // Operate on secret
  }
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Show Secret

SDK Method

Secret.find()

Return Object

Secret

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDescription
id
int64
Required
Secret ID.

Example Request

import Secret from 'files.com/lib/models/Secret';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const secret = await Secret.find(id);
  // Operate on secret
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Create Secret

SDK Method

Secret.create()

Return Object

Secret

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDefaultDescription
name
string
Required
Secret name.
description
string
Internal description for your reference.
secret_type
string
Required
Secret type.
Possible values: basic, token, headers, certificate, key_value
metadata
object
Non-secret metadata for the Secret type.
workspace_id
int64
0Workspace ID. 0 means the default workspace.

Example Request

import Secret from 'files.com/lib/models/Secret';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const secret = await Secret.create({
    name: "Production API token",
    secret_type: "token",
  });
  // Operate on secret
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Update Secret

SDK Method

secret.update()

Return Object

Secret

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Method Arguments

ArgumentDescription
name
string
Secret name.
description
string
Internal description for your reference.
secret_type
string
Secret type.
Possible values: basic, token, headers, certificate, key_value
metadata
object
Non-secret metadata for the Secret type.

Example Request

import Secret from 'files.com/lib/models/Secret';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  // Find the secret object by its id.
  const secret = await Secret.find(id);
  await secret.update({
    name: "Production API token",
  });
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Delete Secret

SDK Method

secret.delete()

Return Object

No return value.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Example Request

import Secret from 'files.com/lib/models/Secret';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  // Find the secret object by its id.
  const secret = await Secret.find(id);
  await secret.delete();
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

The Secret Object

Some of the methods above return a Secret object. The attributes of this object are listed below.

AttributeDescription
id
int64
Secret ID.
workspace_id
int64
Workspace ID. 0 means the default workspace.
name
string
Secret name.
description
string
Internal description for your reference.
secret_type
string
Secret type.
Possible values: basic, token, headers, certificate, key_value
metadata
object
Non-secret metadata for the Secret type.
value_field_names
array(string)
Names of configured secret value fields. Secret values are never returned.
created_at
date-time
Secret create date/time.
updated_at
date-time
Secret update date/time.