---
title: "List Workspaces"
method: POST
path: "/workspaces/search"
tags: ["Workspaces"]
---

# List Workspaces

`POST /workspaces/search`

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

## Query parameters

- `page` integer
- `pageSize` integer

## Request body

- ListWorkspacesRequest
  - `projection` string[] — Fields to include in the response
  - `searchValue` string — Value to search for across searchable fields
  - `filters` object — Filters for workspaces
    - `workspaceName` string[] — Filter by workspace name
    - `repositories` string[] — Filter by repositories
    - `ciTool` RunnerTypeEnum[] — Filter by CI tool
    - `labels` string[] — Filter by labels
    - `status` WorkspaceRunStatusEnum[] — Filter by last run status
    - `isManagedWorkflow` boolean — Filter by whether the workflow is managed
    - `vcsType` VcsTypeEnum[] — Filter by version control system type
    - `poolId` string[] — Filter by runner pool ID
    - `$or` WorkspaceFilters — Filters for workspaces
      - `workspaceName` string[] — Filter by workspace name
      - `repositories` string[] — Filter by repositories
      - `ciTool` RunnerTypeEnum[] — Filter by CI tool
      - `labels` string[] — Filter by labels
      - `status` WorkspaceRunStatusEnum[] — Filter by last run status
      - `isManagedWorkflow` boolean — Filter by whether the workflow is managed
      - `vcsType` VcsTypeEnum[] — Filter by version control system type
      - `poolId` string[] — Filter by runner pool ID
  - `sort` WorkspaceSortField
    - `lastRunTime` SortConfig
      - `order` -1 | 1 — Sort order (-1 for descending, 1 for ascending)
    - `workspaceName` SortConfig
      - `order` -1 | 1 — Sort order (-1 for descending, 1 for ascending)
    - `repository` SortConfig
      - `order` -1 | 1 — Sort order (-1 for descending, 1 for ascending)
    - `terraformVersion` SortConfig
      - `order` -1 | 1 — Sort order (-1 for descending, 1 for ascending)
    - `lastRunStatus` SortConfig
      - `order` -1 | 1 — Sort order (-1 for descending, 1 for ascending)
    - `ciTool` SortConfig
      - `order` -1 | 1 — Sort order (-1 for descending, 1 for ascending)
    - `runs` SortConfig
      - `order` -1 | 1 — Sort order (-1 for descending, 1 for ascending)

## Response `200`

List of Workspaces Retrieved Successfully

- Workspace[]
  - `id` string — Unique identifier
  - `accountId` string — Account ID
  - `createdAt` string, date-time — Timestamp when the workspace was created
  - `updatedAt` string, date-time — Timestamp when the workspace was last updated
  - `workspaceId` string — Workspace ID
  - `workspaceName` string — Name of the workspace
  - `repo` string — Repository name
  - `repoUrl` string — Repository URL
  - `vcsType` 'github' | 'gitlab' | 'bitbucket' | 'codecommit' | 'azuredevops' — The type of version control system
  - `runnerType` 'github-actions' | 'gitlab-pipelines' | 'bitbucket-pipelines' | 'azure-pipelines' | 'jenkins' | 'semaphore' | 'atlantis' | 'env0' | 'firefly' | 'unrecognized' — The type of CI/CD runner or pipeline system
  - `lastRunStatus` 'pending' | 'running' | 'success' | 'failed' | 'canceled' | 'initializing' | 'queued' | 'planning' | 'planning_destroy' | 'applying' | 'destroying' | 'ready_for_apply' | 'ready_for_destroy' | 'destroyed' | 'destroy_plan_completed' | 'destroy_plan_failed' | 'destroy_failed' | 'discarded' | 'canceling_init' | 'canceling_plan' | 'canceling_planning_destroy' | 'canceling_apply' | 'canceling_destroy' | 'canceled_init' | 'canceled_plan' | 'canceled_planning_destroy' | 'canceled_apply' | 'canceled_destroy' | 'init_error' | 'plan_success' | 'plan_error' | 'apply_error' | 'apply_success' | 'blocked' | 'Acknowledged' | 'plan_no_changes' | 'apply_no_changes' | 'runner_failure' — The status of a workspace run
  - `lastApplyTime` string, date-time — Timestamp of the last apply
  - `lastPlanTime` string, date-time — Timestamp of the last plan
  - `lastRunTime` string, date-time — Timestamp of the last run
  - `iacType` string — Type of Infrastructure as Code
  - `iacTypeVersion` string — Version of the IaC tool
  - `backendSummary` object — Summary of backend configuration
    - `backendType` string — Type of backend
    - `backendConfig` object — Backend configuration
    - `iacStackId` string — ID of the IaC stack
    - `managedResourceCount` integer — Number of managed resources
  - `labels` string[] — Labels associated with the workspace
  - `poolId` string, uuid — UUID of the runner pool associated with the workspace
  - `runsCount` integer — Number of runs
  - `isWorkflowManaged` boolean — Whether the workflow is managed by the system
  - `guardrails` string[] — List of guardrails
  - `oidcAuthentication` boolean, nullable — OIDC authentication setting. If null, inherits from parent project.
  - `isRemote` boolean — Whether this workspace uses the internal remote backend for state management

## Other responses

- `400` — Bad Request Error
- `401` — Unauthorized Error
- `403` — Insufficient permissions
- `404` — Not Found Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/firefly/apis/api-gateway.md) · [All operations](https://skmtc.net/firefly/apis/api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/firefly/api-gateway/revisions/eea119b4113f/schema)
