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 (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/secret"
)

secretIterator, err := secret.List(files_sdk.SecretListParams{})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

for secretIterator.Next() {
    secret := secretIterator.secret()
}
err = secretIterator.Err()
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

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.

SecretFindParams Fields

FieldDescription
Id
int64
Required
Secret ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/secret"
)

secret, err := secret.Find(files_sdk.SecretFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

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.

SecretCreateParams Fields

FieldDefaultDescription
Name
string
Required
Secret name.
Description
string
Internal description for your reference.
SecretType
string
Required
Secret type.
Possible values: basic, token, headers, certificate, key_value
Metadata
object
Non-secret metadata for the Secret type.
WorkspaceId
int64
0Workspace ID. 0 means the default workspace.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/secret"
)

secret, err := secret.Create(files_sdk.SecretCreateParams{
  Name: "Production API token",
  SecretType: "token"
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

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.

SecretUpdateParams Fields

FieldDescription
Id
int64
Required
Secret ID.
Name
string
Secret name.
Description
string
Internal description for your reference.
SecretType
string
Secret type.
Possible values: basic, token, headers, certificate, key_value
Metadata
object
Non-secret metadata for the Secret type.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/secret"
)

secret, err := secret.Update(files_sdk.SecretUpdateParams{
  Id: 1,
  Name: "Production API token"
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

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.

SecretDeleteParams Fields

FieldDescription
Id
int64
Required
Secret ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/secret"
)

err := secret.Delete(files_sdk.SecretDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Println("Response Error Occurred (" + respErr.Type + "): " + respErr.ErrorMessage)
    } else {
        fmt.Printf("Unexpected Error: %s\n", err.Error())
    }
}

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.
WorkspaceId
int64
Workspace ID. 0 means the default workspace.
Name
string
Secret name.
Description
string
Internal description for your reference.
SecretType
string
Secret type.
Possible values: basic, token, headers, certificate, key_value
Metadata
object
Non-secret metadata for the Secret type.
ValueFieldNames
array(string)
Names of configured secret value fields. Secret values are never returned.
CreatedAt
date-time
Secret create date/time.
UpdatedAt
date-time
Secret update date/time.