Workflows

Workspaces

List Workspaces

post

Lists all Workspaces with Filtering and Sorting Options. Supports VCS Providers Integration.

Authorizations
AuthorizationstringRequired

JWT authentication token

Query parameters
pageintegerOptionalDefault: 0
pageSizeinteger · min: 1OptionalDefault: 25
Body
Responses
200

List of Workspaces Retrieved Successfully

application/json
post
/workspaces/search

Delete a workspace

delete

Deletes a specific workspace and its associated data

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Example: 0e01b22c-7f4b-5e0f-b1c1-faff031977f8Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Responses
200

Workspace deleted successfully

application/json
delete
/workspaces/{workspaceId}

Update Workspace Labels

put

Updates Labels for a specific Workspace

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Example: 0e01b22c-7f4b-5e0f-b1c1-faff031977f8Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Body
labelsstring[]Required

List of labels to assign to the workspace

Responses
200

Workspace Labels Updated Successfully

application/json
put
/workspaces/{workspaceId}/labels

List Workspace Runs

post

Lists all Runs for a specific Workspace

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Example: 0e01b22c-7f4b-5e0f-b1c1-faff031977f8Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Query parameters
pageintegerOptionalDefault: 0
pageSizeinteger · min: 1OptionalDefault: 25
Body
Responses
200

List of Workspace Runs Retrieved Successfully

application/json
post
/workspaces/{workspaceId}/runs/search

List Run Resources

post

Lists Resources Affected by a Run

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
runIdstringRequired

Unique identifier of the Run

Example: 684aac91c3f9b3880d3ece51Pattern: ^[0-9a-fA-F]{24}$
workspaceIdstringRequired

Unique identifier of the Workspace

Example: 0e01b22c-7f4b-5e0f-b1c1-faff031977f8Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Query parameters
pageintegerOptionalDefault: 0
pageSizeinteger · min: 1OptionalDefault: 25
Body
Responses
200

Run resources retrieved successfully

application/json
Responseone of
or
post
/workspaces/{workspaceId}/runs/{runId}/resources/search

List run changed code

post

Lists code changes grouped by folders with file metadata

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
runIdstringRequired

Unique identifier of the run

Example: 684aac91c3f9b3880d3ece51Pattern: ^[0-9a-fA-F]{24}$
workspaceIdstringRequired

Unique identifier of the Workspace

Example: 0e01b22c-7f4b-5e0f-b1c1-faff031977f8Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Query parameters
pageintegerOptionalDefault: 0
pageSizeinteger · min: 1OptionalDefault: 25
Body
Responses
200

Run changed code retrieved successfully

application/json
post
/workspaces/{workspaceId}/runs/{runId}/changed-files-code/search

Guardrails

List Guardrail Rules

post

Returns a list of guardrails rules based on filter criteria

Authorizations
AuthorizationstringRequired

JWT authentication token

Query parameters
pageintegerOptionalDefault: 0
pageSizeinteger · min: 1OptionalDefault: 25
Body
Responses
200

List of guardrail rules retrieved successfully

application/json
post
/guardrails/search

Create a new Guardrail Rule

post

Creates a new guardrail rule with optional notification setup

Authorizations
AuthorizationstringRequired

JWT authentication token

Body
Responses
200

Guardrail Rule Created Successfully

application/json
post
/guardrails

Update a Guardrail Rule

patch

Updates an existing Guardrail Rule and its Notifications

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
ruleIdstringRequired

Unique identifier of the Guardrail Rule

Example: 684aac91c3f9b3880d3ece51Pattern: ^[0-9a-fA-F]{24}$
Body
Responses
200

Guardrail Rule Updated Successfully

application/json
patch
/guardrails/{ruleId}

Delete a Guardrail Rule

delete

Deletes a Guardrail Rule and its Associated Notification

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
ruleIdstringRequired

Unique identifier of the Guardrail Rule

Example: 684aac91c3f9b3880d3ece51Pattern: ^[0-9a-fA-F]{24}$
Responses
200

Guardrail Rule Deleted Successfully

application/json
delete
/guardrails/{ruleId}

Projects

Create a project

post

Creates a new project

Authorizations
AuthorizationstringRequired

JWT authentication token

Body
Responses
post
/runners/projects

Get a project

get

Retrieves a single project by ID

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired

Unique identifier of the project to retrieve

Responses
200

Project retrieved successfully

application/json
get
/runners/projects/{projectId}

Update a project

patch

Updates an existing project

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired

Unique identifier of the project to update

Body
Responses
200

Project updated successfully

application/json
patch
/runners/projects/{projectId}

Delete a project

delete

Deletes a project and all its associated workspaces

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired

Unique identifier of the project to delete

Responses
delete
/runners/projects/{projectId}

No content

List projects in flat structure

get

Retrieves all projects with pagination support

Authorizations
AuthorizationstringRequired

JWT authentication token

Query parameters
pageSizeinteger · min: 1OptionalDefault: 25
offsetintegerOptional

The offset of the items to return

Default: 0
maxDepthinteger · max: 5Optional

Maximum depth of the project tree to return

Responses
200

Projects retrieved successfully in flat list format

application/json
get
/runners/projects/list

List projects in tree structure

get

Retrieves all projects in a hierarchical tree format

Authorizations
AuthorizationstringRequired

JWT authentication token

Query parameters
searchQuerystringOptional

Search query

variableSetIdstringOptional

Filter projects by variable set ID

consumedOnlybooleanOptional

When used with variableSetId, only return projects that consume the variable set

Responses
200

Projects retrieved successfully in tree format

application/json
get
/runners/projects/tree

List members of a project

get

Retrieves all members of a specified project

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired

Unique identifier of the project

Responses
200

Members retrieved successfully

application/json
get
/runners/projects/{projectId}/members

Add members to a project

post

Adds new members to a specified project

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired

Unique identifier of the project

Bodyobject[]
userIdstringRequired

ID of the user

rolestring · enumRequired

Role of the user in the project

Possible values:
Responses
post
/runners/projects/{projectId}/members

Remove members from a project

delete

Deletes specified members from a project

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired

Unique identifier of the project

Bodystring[]
string[]Optional

User IDs of the members to remove

Responses
delete
/runners/projects/{projectId}/members

No content

List workspaces of a project

get

Retrieves all workspaces of a specified project

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired

Unique identifier of the project

Query parameters
searchQuerystringOptional

Search query

pageSizeinteger · min: 1OptionalDefault: 25
offsetintegerOptional

The offset of the items to return

Default: 0
Responses
200

Workspaces retrieved successfully

application/json
get
/runners/projects/{projectId}/workspaces

List all project labels

get

Retrieves all available project labels for the account

Authorizations
AuthorizationstringRequired

JWT authentication token

Responses
200

Project labels retrieved successfully

application/json
Responsestring[]

List of project labels

get
/runners/projects/labels

Variables Management

Project Variables

List variables for a project

get
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired
Responses
200

List of project variables

application/json
get
/runners/variables/projects/{projectId}
200

List of project variables

Upsert variables within a project (create or update)

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired
Body
Responses
200

Variables upserted within project

application/json
post
/runners/variables/projects/{projectId}/variables
200

Variables upserted within project

Delete variables from a project

delete
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired
Body
variableKeysstring[] · min: 1Required

Array of variable keys to delete

Responses
delete
/runners/variables/projects/{projectId}/variables
204

Variables deleted from project

No content

Workspace Variables

List variables for a workspace

get
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired
Query parameters
pageSizeintegerOptional
offsetintegerOptional
Responses
200

List of workspace variables

application/json
get
/runners/variables/workspaces/{workspaceId}/variables
200

List of workspace variables

Upsert variables within a workspace (create or update)

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired
Body
Responses
200

Variables upserted within workspace

application/json
post
/runners/variables/workspaces/{workspaceId}/variables
200

Variables upserted within workspace

Delete variables from a workspace

delete
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired
Body
variableIdsstring[] · min: 1Required

Array of variable IDs to delete

Responses
delete
/runners/variables/workspaces/{workspaceId}/variables
204

Variables deleted from workspace

No content

Variable Sets

List variable sets

get
Authorizations
AuthorizationstringRequired

JWT authentication token

Query parameters
searchQuerystringOptional
pageSizeintegerOptional
offsetintegerOptional
Responses
200

List of variable sets

application/json
get
/runners/variables/variable-sets
200

List of variable sets

Create a new variable set

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Body
namestringRequired

Name of the variable set

descriptionstringOptional

Description of the variable set

labelsstring[]Optional

Labels to assign to the variable set

parentsstring[]Optional

Parent variable set IDs

Responses
post
/runners/variables/variable-sets

Get a variable set

get
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
variableSetIdstringRequired
Responses
200

Variable set

application/json
get
/runners/variables/variable-sets/{variableSetId}

Update a variable set

put
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
variableSetIdstringRequired
Body
namestringOptional

Name of the variable set

descriptionstringOptional

Description of the variable set

labelsstring[]Optional

Labels to assign to the variable set

parentsstring[]Optional

Parent variable set IDs

Responses
200

Variable set updated successfully

application/json
put
/runners/variables/variable-sets/{variableSetId}

Delete a variable set

delete
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
variableSetIdstringRequired
Responses
delete
/runners/variables/variable-sets/{variableSetId}

No content

List variables in a variable set

get
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
variableSetIdstringRequired
Query parameters
pageintegerOptionalDefault: 0
pageSizeinteger · min: 1OptionalDefault: 25
Responses
200

List of variables in variable set

application/json
get
/runners/variables/variable-sets/{variableSetId}/variables
200

List of variables in variable set

Upsert variables within a variable set (create or update)

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
variableSetIdstringRequired
Body
Responses
200

Variables upserted within variable set

application/json
post
/runners/variables/variable-sets/{variableSetId}/variables
200

Variables upserted within variable set

Delete variables from a variable set

delete
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
variableSetIdstringRequired
Body
variableIdsstring[] · min: 1Required

Array of variable IDs to delete

Responses
delete
/runners/variables/variable-sets/{variableSetId}/variables
204

Variables deleted from variable set

No content

Variable Set Operations

Attach a variable set to a project

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired
variableSetIdstringRequired
Body
consumebooleanRequired

Whether to consume the variable set values

Default: true
Responses
post
/runners/variables/projects/{projectId}/variable-sets/{variableSetId}/attach
204

Variable set attached to project

No content

Detach a variable set from a project

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
projectIdstringRequired
variableSetIdstringRequired
Responses
post
/runners/variables/projects/{projectId}/variable-sets/{variableSetId}/detach
204

Variable set detached from project

No content

Bind a variable set to a workspace

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired
variableSetIdstringRequired
Responses
post
/runners/variables/workspaces/{workspaceId}/variable-sets/{variableSetId}/bind
204

Variable set bound to workspace

No content

Unbind a variable set from a workspace

post
Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired
variableSetIdstringRequired
Responses
post
/runners/variables/workspaces/{workspaceId}/variable-sets/{variableSetId}/unbind
204

Variable set unbound from workspace

No content

Runners Workspaces

Create a new workspace

post

Creates a new workspace with the provided configuration

Authorizations
AuthorizationstringRequired

JWT authentication token

Body
runnerTypestringRequired

Type of runner (e.g., firefly_runners)

Example: firefly_runners
iacTypestringRequired

Infrastructure as Code type

Example: terraform
workspaceNamestringRequired

Unique workspace name

Example: my-workspace
descriptionstringOptional

Workspace description

Example: Production environment workspace
labelsstring[]Optional

Labels assigned to the workspace

Example: ["production","terraform"]
vcsIdstringRequired

VCS integration ID

Example: 5fd126f5744410407fbc552f
repostringRequired

Repository name

Example: infralight/appiac
defaultBranchstringRequired

Default branch

Example: main
vcsTypestringRequired

VCS type (github, gitlab, etc.)

Example: github
workDirstringRequired

Working directory path

Example: terraform/production
consumedVariableSetsstring[]Optional

Array of variable set IDs that this workspace consumes

Example: ["var-set-1","var-set-2"]
projectstring | nullableOptional

Project ID or null for global access

terraformVariablesobjectOptional

Cleaned by deleteMockArrays

terraformSensitiveVariablesobjectOptional

Cleaned by deleteMockArrays

providersCredentialsobjectOptional

Cleaned by deleteMockArrays

runnerEnvironmentobjectOptional

Cleaned by deleteMockArrays

Responses
post
/runners/workspaces

List all workspace labels

get

Retrieves all available workspace labels for the account

Authorizations
AuthorizationstringRequired

JWT authentication token

Responses
200

Workspace labels retrieved successfully

application/json
Responsestring[]

List of workspace labels

get
/runners/workspaces/labels

Get workspace details

get

Retrieves details for a specific workspace

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Responses
200

Workspace details retrieved successfully

application/json
get
/runners/workspaces/{workspaceId}

Deploy workspace

post

Deploys a workspace by running plan or apply tasks based on the provided task type

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Body
taskTypestring · enumRequired

The type of task to run (plan or apply)

Possible values:
cmdArgumentsstringOptional

Additional command line arguments

Responses
200

Workspace deployed successfully

application/json
post
/runners/workspaces/{workspaceId}

Update a workspace

put

Updates an existing workspace with the provided configuration

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Body
namestringOptional

Workspace name

Example: my-workspace
descriptionstringOptional

Workspace description

Example: Production environment workspace
labelsstring[]Optional

Labels assigned to the workspace

Example: ["production","terraform"]
vcsIntegrationIdstringOptional

VCS integration ID

Example: 5fd126f5744410407fbc552f
repositorystringOptional

Repository name

Example: infralight/appiac
defaultBranchstringOptional

Default branch

Example: main
vcsstringOptional

VCS type (github, gitlab, etc.)

Example: github
workingDirectorystringOptional

Working directory path

Example: terraform/production
runnerTypestringOptional

Type of runner (e.g., firefly_runners)

Example: firefly_runners
cronExecutionPatternstringOptional

Cron pattern for scheduled executions

Example: 0 2 * * *
parentIdstring | nullableOptional

Project ID or null for global access

Responses
200

Workspace updated successfully

application/json
put
/runners/workspaces/{workspaceId}

Delete a workspace

delete

Deletes a specific workspace and optionally destroys its infrastructure resources

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Query parameters
destroybooleanOptional

Whether to destroy infrastructure resources before deleting the workspace

Default: false
descriptionstringOptional

Optional description for the deletion operation

Responses
200

Workspace deleted successfully

application/json
delete
/runners/workspaces/{workspaceId}

Destroy workspace infrastructure resources

post

Initiates a destroy task to clean up cloud infrastructure resources managed by this workspace. This does not delete the workspace entity itself.

Authorizations
AuthorizationstringRequired

JWT authentication token

Path parameters
workspaceIdstringRequired

Unique identifier of the workspace

Body

Request to run a task on workspace infrastructure

descriptionstringOptional

Optional description for the task

Example: Running infrastructure task
cmdArgumentsstringOptional

Optional command line arguments for the task

Example: -auto-approve
Responses
200

Destroy task initiated successfully

application/json
post
/runners/workspaces/{workspaceId}/tasks/destroy

Last updated

Was this helpful?