Skip to content
FlightStack Docs
Sign in Start free

Secrets & Variables API | FlightStack

FlightStack stores environment variables and secrets in one store, scoped by org, repo, or variable group. Secrets are encrypted at rest and never returned in plaintext after creation.

All endpoints under /secrets.

MethodPathPurpose
GET/secrets/variablesList variables. Filters: orgId=, repoId=, groupId=, scope=, includeInactive=.
POST/secrets/variablesCreate a variable.
PUT/secrets/variables/{id}Update a variable (key, value, isSecret, description, isActive).
DELETE/secrets/variables/{id}Delete a variable.
MethodPathPurpose
GET/secrets/groupsList variable groups. Query: orgId=, includeVariables=.
Terminal window
curl -X POST https://api.flightstack.voostack.com/secrets/variables \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"key": "API_BASE_URL",
"value": "https://api.example.com",
"isSecret": false,
"scope": "repository",
"repoId": "7d2a8c84-...",
"description": "Backend base URL for prod builds"
}'
FieldTypeNotes
keystringVariable name (uppercase + underscores recommended).
valuestringPlain text. For isSecret=true, sent over TLS and encrypted at rest.
isSecretboolMask in logs; not returned on subsequent GETs.
scopeorganization|repository|group|pipelineWhich level the variable applies to.
orgIdstringRequired when scope is organization or group.
repoIdstringRequired when scope is repository.
groupIdstringRequired when scope is group.
descriptionstringShown in the dashboard.

When a build runs, FlightStack composes variables in this order (later overrides earlier):

  1. Organization-scoped variables
  2. Variable group(s) attached to the pipeline
  3. Repository-scoped variables
  4. Pipeline-scoped variables
  5. Per-run overrides passed in POST /buildenvVariables

Secrets are injected as environment variables on the agent. Use the ${{ }} syntax in pipeline YAML to reference them — see variables docs.