set_secret
Create or update a secret. Reference it from Gherkin as {{secret:NAME}}. The value is encrypted before storage and can never be read back — it's decrypted only server-side when a run or generation is dispatched.
Request
PUT /api/v1/ops/projects/{project}/secrets/{name}
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
project | path | string | yes | The project's public id. |
name | path | string | yes | The secret name ([A-Za-z_][A-Za-z0-9_]*). |
value | body | string | yes | The value. Must be non-empty. |
- cURL
- CLI
- MCP
curl -X PUT -H "Authorization: Bearer $TESTVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value": "sk_live_…"}' \
"$TESTVIBE_SERVER/api/v1/ops/projects/$PROJECT/secrets/MAILSLURP_API_KEY"
testvibe secrets set MAILSLURP_API_KEY sk_live_…
Tool set_secret — required name and value, optional project.
Response
{ "ok": true, "name": "MAILSLURP_API_KEY" }
Errors
| HTTP | When |
|---|---|
400 invalid_request | Invalid environment name, or empty value. |
404 not_found | No such project in this workspace. |
409 secrets_unavailable | The server has no secret-protection key configured (self-hosted misconfiguration). |