Skip to main content
Version: Next

Workspace Secrets API

Workspace secrets are encrypted credentials managed by Easy BPM administrators. They can be referenced by AI and Agent Process configuration without exposing the underlying token to modelers or portal users.

The API never returns a secret value. It returns a masked token and a stable reference instead.

Access​

PermissionAccess
VIEW_SECRETSList workspace secret metadata.
MANAGE_SECRETSCreate, update, rotate, and delete workspace secrets.

Operations​

MethodPathSummary
GET/admin/secretslistSecrets
POST/admin/secretscreateSecret
DELETE/admin/secrets/{id}deleteSecret
PUT/admin/secrets/{id}updateSecret

List secrets​

curl -X GET "http://localhost:8080/admin/secrets" \
-H "Authorization: Bearer $TOKEN"

The response is an array of AICredentialResponseDto records.

Create a secret​

curl -X POST "http://localhost:8080/admin/secrets" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "customer-support-openai",
"providerId": "openai",
"credentialType": "API_KEY",
"token": "sk-live-redacted-example",
"description": "Used by the customer-support agent"
}'

The response includes an id, reference, and maskedToken, but never the submitted token. Use the returned reference in an AI or Agent Process provider configuration.

Update or rotate a secret​

curl -X PUT "http://localhost:8080/admin/secrets/3f3c7af7-34ae-4dd4-96e4-cbcba52c6b8f" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "customer-support-openai",
"providerId": "openai",
"credentialType": "API_KEY",
"token": "sk-live-new-redacted-example",
"description": "Rotated customer-support agent key",
"permissions": ["agent:customer-support"]
}'

Send token only when rotating the secret value.

Delete a secret​

curl -X DELETE "http://localhost:8080/admin/secrets/3f3c7af7-34ae-4dd4-96e4-cbcba52c6b8f" \
-H "Authorization: Bearer $TOKEN"

Deleting a secret does not remove the configurations that reference it; update those configurations before deletion.

See Permissions for role assignment and Keycloak and OIDC for Keycloak role mapping.