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)
}