Variables

sfp server API reference for Variables: 7 endpoints.

POST/sfp/api/variables

Upserts a project- or environment-scoped variable. Omit environmentName for a project-scoped value; supply it for an environment-scoped override.

Set isSecret: true to encrypt the value at rest — secret values are never returned by list/get and are only decrypted at workflow runtime.

Authentication: Requires Owner role.

Authorization

access-token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X POST "https://example.com/sfp/api/variables" \  -H "Content-Type: application/json" \  -d '{    "repositoryIdentifier": "flxbl-io/sf-core",    "key": "POOL_NAME",    "value": "string"  }'
Empty
GET/sfp/api/variables

Lists project-scoped variables, or — when environmentName is provided — the environment-scoped variables for that environment. Secret values are masked.

Authentication: Requires Owner or Member role.

Authorization

access-token
AuthorizationBearer <token>

In: header

Query Parameters

repositoryIdentifier*string

Repository identifier (owner/repo)

environmentName?string

Environment name. When provided, returns environment-scoped variables for that environment.

Response Body

curl -X GET "https://example.com/sfp/api/variables?repositoryIdentifier=flxbl-io%2Fsf-core"
Empty
DELETE/sfp/api/variables

Permanently deletes a variable and any encrypted secret value. Authentication: Requires Owner role.

Authorization

access-token
AuthorizationBearer <token>

In: header

Query Parameters

repositoryIdentifier*string
key*string
environmentName?string

Response Body

curl -X DELETE "https://example.com/sfp/api/variables?repositoryIdentifier=string&key=string"
Empty
GET/sfp/api/variables/effective

Returns the resolved set of variables a workflow would see, annotated with where each value comes from (project or environment) and whether an environment value overrides a project one. Secret values are not included — only their keys. Use this to show inherited vs overridden variables.

Authentication: Requires Owner or Member role.

Authorization

access-token
AuthorizationBearer <token>

In: header

Query Parameters

repositoryIdentifier*string

Repository identifier (owner/repo)

environmentName?string

Environment name. When provided, returns environment-scoped variables for that environment.

Response Body

curl -X GET "https://example.com/sfp/api/variables/effective?repositoryIdentifier=flxbl-io%2Fsf-core"
Empty
GET/sfp/api/variables/lookup

Returns one variable. Secret values are masked. Authentication: Requires Owner or Member role.

Authorization

access-token
AuthorizationBearer <token>

In: header

Query Parameters

repositoryIdentifier*string
key*string
environmentName?string

Response Body

curl -X GET "https://example.com/sfp/api/variables/lookup?repositoryIdentifier=string&key=string"
Empty
DELETE/sfp/api/variables/all

Removes the variable from the project scope AND every environment override for the repository, in one atomic operation. Encrypted secret values are removed too.

Authentication: Requires Owner role.

Authorization

access-token
AuthorizationBearer <token>

In: header

Query Parameters

repositoryIdentifier*string
key*string

Response Body

curl -X DELETE "https://example.com/sfp/api/variables/all?repositoryIdentifier=string&key=string"
Empty
GET/sfp/api/flows/internal/variables/{taskExecutionId}

Returns the effective variables for the execution scope (environment overrides project), with secret values decrypted for immediate use by the worker.

Path Parameters

taskExecutionId*string

Task execution id of the running workflow

Response Body

curl -X GET "https://example.com/sfp/api/flows/internal/variables/string"
Empty