Skip to main content

API Keys

Create a dedicated key for your backup runner.

import "time"

expires := time.Now().AddDate(0, 3, 0).UTC().Format(time.RFC3339)

keyResp, err := client.CreateAPIKey(backup.APIKeyCreateRequest{
Name: "nightly-postgres-backup",
WorkspaceID: workspaceID,
Scopes: []string{
backup.ScopeBackupWrite,
backup.ScopeSnapshotsRead,
},
ExpiresAt: expires,
})
if err != nil {
log.Fatal(err)
}

plain := keyResp.Plaintext() // store this securely; returned once
log.Printf("NEW API KEY (store now): %s", plain)

List API keysโ€‹

keys, err := client.ListAPIKeys()
if err != nil {
log.Fatal(err)
}
for _, k := range keys {
log.Printf("apiKeyId=%s name=%s status=%s", k.APIKeyID, k.Name, k.Status)
}

Revoke an API keyโ€‹

err := client.DeleteAPIKey("add-your-api-key-id")
if err != nil {
log.Fatal(err)
}