> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flightlinehq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Reviews

> List the organization's reviews, newest first, cursor-paginated.

Returns at most ``limit`` reviews ordered by ``(created_at DESC, id DESC)``.
When more reviews remain, ``next_cursor`` is set; pass it back as the
``cursor`` query param for the next page. The list is org-scoped (the
handler filters by the caller's org AND the session is RLS-bound), so other
organizations' reviews never appear. Sandbox reviews appear with
``sandbox: true``.



## OpenAPI

````yaml /api-reference/openapi.json get /reviews
openapi: 3.1.0
info:
  description: >-
    Submit loan packages for automated quality-control review and retrieve
    results. Authenticate every request with your organization's API key:
    `Authorization: Bearer <key>`.
  title: Flightline Public API
  version: '2026-05-30'
servers:
  - url: https://api.flightlinehq.com/v1
security: []
paths:
  /reviews:
    get:
      tags:
        - reviews
      summary: List Reviews
      description: >-
        List the organization's reviews, newest first, cursor-paginated.


        Returns at most ``limit`` reviews ordered by ``(created_at DESC, id
        DESC)``.

        When more reviews remain, ``next_cursor`` is set; pass it back as the

        ``cursor`` query param for the next page. The list is org-scoped (the

        handler filters by the caller's org AND the session is RLS-bound), so
        other

        organizations' reviews never appear. Sandbox reviews appear with

        ``sandbox: true``.
      operationId: list_reviews_reviews_get
      parameters:
        - description: Maximum reviews to return (1-100).
          in: query
          name: limit
          required: false
          schema:
            default: 20
            description: Maximum reviews to return (1-100).
            maximum: 100
            minimum: 1
            title: Limit
            type: integer
        - description: >-
            Opaque pagination cursor from a previous response's 'next_cursor'.
            Omit for the first page.
          in: query
          name: cursor
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Opaque pagination cursor from a previous response's 'next_cursor'.
              Omit for the first page.
            title: Cursor
        - in: header
          name: authorization
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
        - in: header
          name: X-Api-Key
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Api-Key
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReviewList'
          description: Successful Response
        '401':
          content:
            application/json:
              example:
                error:
                  code: missing_api_key
                  message: 'Missing API key. Send ''Authorization: Bearer <key>''.'
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: Stable, machine-readable error code (branch on this).
                        type: string
                      message:
                        description: >-
                          Human-readable, safe explanation (do not branch on
                          this).
                        type: string
                    required:
                      - code
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Missing, invalid, or revoked API key.
        '422':
          content:
            application/json:
              example:
                error:
                  code: invalid_request
                  message: >-
                    The 'cursor' parameter is malformed. Pass back a
                    'next_cursor' value from a previous response verbatim.
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: Stable, machine-readable error code (branch on this).
                        type: string
                      message:
                        description: >-
                          Human-readable, safe explanation (do not branch on
                          this).
                        type: string
                    required:
                      - code
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Invalid 'limit' or 'cursor' query parameter.
components:
  schemas:
    ReviewList:
      additionalProperties: false
      description: >-
        The ``GET /reviews`` response: a cursor-paginated page of reviews.


        Reviews are returned newest first (stable order over

        ``(created_at DESC, id DESC)``). ``next_cursor`` is an opaque token:
        when

        non-null, pass it back as the ``cursor`` query param to fetch the next

        page; when null, this is the last page. Cursors are opaque by contract;

        treat them as a black box and do not parse them.
      example:
        data:
          - created_at: '2026-05-30T17:00:00Z'
            document_count: 3
            label: Smith refinance
            reference_id: LN-2026-04-8812
            report_available: true
            review_id: 9b2c1f3a-4d5e-6789-abcd-ef0123456789
            review_type: mortgage_v1
            sandbox: false
            status: completed
            updated_at: '2026-05-30T17:05:00Z'
        next_cursor: MjAyNi0wNS0zMFQxNzowMDowMCswMDowMHw5YjJjMWYzYQ==
      properties:
        data:
          default: []
          description: This page of reviews, newest first.
          items:
            $ref: '#/components/schemas/ReviewResource'
          title: Data
          type: array
        next_cursor:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Opaque cursor for the next page. Pass it back as the ``cursor``
            query param to continue; null when there are no more reviews.
          examples:
            - MjAyNi0wNS0zMFQxNzowMDowMCswMDowMHw5YjJjMWYzYQ==
          title: Next Cursor
      title: ReviewList
      type: object
    ReviewResource:
      additionalProperties: false
      description: |-
        A review, as seen by the customer.

        Returned by ``POST /reviews`` (201) and ``GET /reviews/{id}``.
      example:
        created_at: '2026-05-30T17:00:00Z'
        document_count: 3
        label: Smith refinance
        reference_id: LN-2026-04-8812
        report_available: false
        review_id: 9b2c1f3a-4d5e-6789-abcd-ef0123456789
        review_type: mortgage_v1
        sandbox: false
        status: processing
        updated_at: '2026-05-30T17:00:05Z'
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        document_count:
          default: 0
          description: Number of documents ingested.
          title: Document Count
          type: integer
        label:
          anyOf:
            - type: string
            - type: 'null'
          title: Label
        reference_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reference Id
        report_available:
          default: false
          description: True once the report is released and retrievable.
          title: Report Available
          type: boolean
        review_id:
          description: Flightline's identifier for this review.
          format: uuid
          title: Review Id
          type: string
        review_type:
          title: Review Type
          type: string
        sandbox:
          default: false
          description: >-
            True for sandbox (test-mode) reviews: canned results, no real
            analysis.
          title: Sandbox
          type: boolean
        status:
          $ref: '#/components/schemas/PublicReviewStatus'
        updated_at:
          format: date-time
          title: Updated At
          type: string
      required:
        - review_id
        - status
        - review_type
        - created_at
        - updated_at
      title: ReviewResource
      type: object
    PublicReviewStatus:
      description: >-
        Customer-facing review lifecycle.


        A deliberately coarse projection of the internal ``CaseStatus``.
        Internal

        states that are not meaningful to a customer (e.g. the admin-release
        gate

        ``pending_review``, the publication-blocker state) collapse to

        ``processing`` so we never surface internal workflow detail or

        verdict-adjacent signal before the publication gate passes.
      enum:
        - queued
        - awaiting_documents
        - processing
        - completed
        - failed
      title: PublicReviewStatus
      type: string

````