---
title: "Query backends"
method: POST
path: "/api/iacStacks/backends"
tags: ["IaC Stacks"]
---

# Query backends

`POST /api/iacStacks/backends`

Query backend/crawler data with filtering and pagination

## Request body

- QueryBackendsRequest
  - `page` integer — Page number (1-indexed)
  - `pageSize` integer — Number of items per page
  - `pageNumber` integer — Page number (1-indexed) - v1 compatibility alias for page
  - `tablePageSize` integer — Number of items per page - v1 compatibility alias for pageSize
  - `screenFilters` ScreenFilters — Filters for querying stacks. Filter values are matched against stack properties. Some filters are mapped to nested fields internally: - providerIntegrationId → stackProviders.providerIntegrationId - providerType → stackProviders.providerType - providerAccountId → stackProviders.providerAccountId - vcsRepo → metadata.vcsRepo
    - `stateType` string[] — IAC type filter (terraform, cloudformation, pulumi, helm, k8s, opentofu, etc.)
    - `providerIntegrationId` string[] — Integration ID filter (maps to stackProviders.providerIntegrationId)
    - `providerType` string[] — Provider type filter - aws, gcp, azure, etc. (maps to stackProviders.providerType)
    - `providerAccountId` string[] — Provider account ID filter (maps to stackProviders.providerAccountId)
    - `stackAssetTypes` string[] — Asset type filter
    - `status` string[] — Stack status filter
    - `iacState` string[] — Stack sync state filter - synced, unsynced, drifted (handled via meta-index)
    - `vcsRepo` string[] — VCS repository filter (maps to metadata.vcsRepo)
    - `backendLocation` string[] — Backend location filter
    - `hasIntegratedProviders` boolean — Filter stacks with integrated providers
    - `hasNotIntegratedProviders` boolean — Filter stacks without integrated providers
  - `freeTextSearch` string — Free text search query

## Response `200`

Successful response

- QueryBackendsResponse
  - `hits` Backend[] — List of backends/crawlers
    - `id` string — Crawler ID
    - `type` 's3' | 'gcs' | 'azure-blob' | 'terraform-cloud' | 'gitlab' | 'github' — Backend type
    - `mainLocation` string — Primary storage location
    - `lastScan` string, date-time — Last scan timestamp
    - `isDeleted` boolean
    - `remoteIntegrationId` string — Associated integration ID
  - `aggs` object[] — Aggregations data
    - `key` string
    - `doc_count` integer
  - `total` integer — Total number of backends

## Other responses

- `400` — Bad Request Error
- `401` — Unauthorized 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)
