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

Endpoint

GET/secrets

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

curl https://app.files.com/api/rest/v1/secrets.json \
  -H 'X-FilesAPI-Key: YOUR_API_KEY'

Example Response

[
  {
    "id": 1,
    "workspace_id": 1,
    "name": "Production API token",
    "description": "Used by production API integrations.",
    "secret_type": "token",
    "metadata": {
      "key": "example value"
    },
    "value_field_names": [
      "example"
    ],
    "created_at": "2000-01-01T01:00:00Z",
    "updated_at": "2000-01-01T01:00:00Z"
  }
]

Show Secret

Endpoint

GET/secrets/{id}

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.

Request Parameters

ParameterDescription
id
int64
Required
Secret ID.

Example Request

curl https://app.files.com/api/rest/v1/secrets/{id}.json \
  -H 'X-FilesAPI-Key: YOUR_API_KEY'

Example Response

{
  "id": 1,
  "workspace_id": 1,
  "name": "Production API token",
  "description": "Used by production API integrations.",
  "secret_type": "token",
  "metadata": {
    "key": "example value"
  },
  "value_field_names": [
    "example"
  ],
  "created_at": "2000-01-01T01:00:00Z",
  "updated_at": "2000-01-01T01:00:00Z"
}

Create Secret

Endpoint

POST/secrets

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.

Request Parameters

ParameterDefaultDescription
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

curl https://app.files.com/api/rest/v1/secrets.json \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{"name":"Production API token","description":"Used by production API integrations.","secret_type":"token","metadata":{"key":"example value"},"workspace_id":0}' \
  -H 'X-FilesAPI-Key: YOUR_API_KEY'

Example Response

{
  "id": 1,
  "workspace_id": 1,
  "name": "Production API token",
  "description": "Used by production API integrations.",
  "secret_type": "token",
  "metadata": {
    "key": "example value"
  },
  "value_field_names": [
    "example"
  ],
  "created_at": "2000-01-01T01:00:00Z",
  "updated_at": "2000-01-01T01:00:00Z"
}

Update Secret

Endpoint

PATCH/secrets/{id}

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.

Request Parameters

ParameterDescription
id
int64
Required
Secret ID.
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

curl https://app.files.com/api/rest/v1/secrets/{id}.json \
  -X PATCH \
  -H 'Content-Type: application/json' \
  -d '{"name":"Production API token","description":"Used by production API integrations.","secret_type":"token","metadata":{"key":"example value"}}' \
  -H 'X-FilesAPI-Key: YOUR_API_KEY'

Example Response

{
  "id": 1,
  "workspace_id": 1,
  "name": "Production API token",
  "description": "Used by production API integrations.",
  "secret_type": "token",
  "metadata": {
    "key": "example value"
  },
  "value_field_names": [
    "example"
  ],
  "created_at": "2000-01-01T01:00:00Z",
  "updated_at": "2000-01-01T01:00:00Z"
}

Delete Secret

Endpoint

DELETE/secrets/{id}

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.

Request Parameters

ParameterDescription
id
int64
Required
Secret ID.

Example Request

curl https://app.files.com/api/rest/v1/secrets/{id}.json \
  -X DELETE \
  -H 'X-FilesAPI-Key: YOUR_API_KEY'

The Secret Object

Some of the endpoints 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.

Example Secret Object

{
  "id": 1,
  "workspace_id": 1,
  "name": "Production API token",
  "description": "Used by production API integrations.",
  "secret_type": "token",
  "metadata": {
    "key": "example value"
  },
  "value_field_names": [
    "example"
  ],
  "created_at": "2000-01-01T01:00:00Z",
  "updated_at": "2000-01-01T01:00:00Z"
}