---
title: "List floorplan assets correlated with their chat thread"
method: GET
path: "/v1/admin/floorplan-review/floorplans"
tags: ["Admin Floorplan Review"]
---

# List floorplan assets correlated with their chat thread

`GET /v1/admin/floorplan-review/floorplans`

## Query parameters

- `limit` integer
- `cursor` string
- `direction` 'after' | 'before'
- `from` unknown
- `to` unknown
- `q` string
- `humanTags` string[], required
- `tagMode` 'any' | 'all'
- `benchmark` 'anyFailure' | 'unscored' | 'check'
- `benchmarkCheck` string
- `review` 'reviewed' | 'unreviewed'
- `reviewerStatus` 'pass' | 'fail' | 'none'
- `flag` 'flagged' | 'unflagged'
- `origin` 'generated' | 'drawn' | 'uploaded' | 'recognized'
- `feedback` 'positive' | 'negative' | 'none'

## Response `200`

Floorplan reviews retrieved successfully

- FloorplanReviewPaginatedApiResponseDto
  - `success` boolean, required — Indicates if the request was successful
  - `message` string, required — Human readable message
  - `data` object[], required — Array of data items
    - `assetId` string, uuid, required — Floorplan asset ID
    - `name` string, required — Floorplan asset name
    - `thumbnailUrl` string, uri, required — Floorplan thumbnail URL
    - `createdAt` unknown, required
    - `chatThreadId` string, uuid, nullable, required — Chat thread ID that generated the floorplan, null if no thread is associated
    - `projectId` string, uuid, nullable, required — Project ID associated with the floorplan, null if no thread is associated
    - `userId` string, uuid, nullable, required — User ID that generated the floorplan, null if no thread is associated
    - `userEmail` string, nullable, required — Email of the user that generated the floorplan, null if no thread is associated
    - `userName` string, nullable, required — Display name of the user that generated the floorplan
    - `floorOrigins` string[], required — Each floor's origin, ordered by level (ground floor first); legacy nulls coalesced to generated
    - `floorCount` integer, required — Number of floors in the generated floorplan
    - `humanEvaluation` object, nullable, required — Human reviewer summary; null when no eval row exists yet for this asset
      - `reviewerStatus` 'pass' | 'fail', nullable, required
      - `flagged` boolean, required
      - `notes` string, required
      - `tags` string[], required
    - `currentBenchmark` object, nullable — Current benchmark summary; null or absent when no benchmark row exists for this asset
      - `runId` string, uuid, required
      - `runAt` unknown, required
      - `generatorVersion` string, nullable, required
      - `metrics` object, required
      - `hardFailCount` integer, required
      - `hardConstraintTotal` integer, required
      - `score` integer, nullable, required
      - `failedMetricKeys` string[], required
      - `passesAll` boolean, required
    - `feedback` object, nullable, required — Thread-level user chat feedback counts; null when the asset has no chat thread or no feedback
      - `positiveCount` integer, required
      - `negativeCount` integer, required
  - `meta` object, required — Pagination metadata
    - `hasNext` boolean, required — Whether there are more items after current set
    - `hasPrevious` boolean, required — Whether there are items before current set
    - `nextCursor` string, nullable, required — Cursor for next page
    - `prevCursor` string, nullable, required — Cursor for previous page
    - `totalCount` integer, required — Total matching floorplan review count
  - `timestamp` string, date-time, required — Timestamp of the response

---

[API](https://skmtc.dev/maket/apis/virtual-architect-api.md) · [All operations](https://skmtc.dev/maket/apis/virtual-architect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/maket/virtual-architect-api/revisions/b712097baa9c/schema)
