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

# List issues

> Lists issues visible to the bearer token's organization, ordered by `createdAt` descending and then `id` descending.



## OpenAPI

````yaml GET /api/v1/issues
openapi: 3.1.0
info:
  title: Lucent API
  description: >-
    HTTP APIs for Lucent. The Data API reads Lucent data and updates issue
    status. The Ingest API receives rrweb batches from the @lucenthq/sdk browser
    package and custom integrations built on top of the same contract.
  license:
    name: MIT
  version: 0.1.0
servers:
  - url: https://app.lucenthq.com
    description: Production app
security: []
paths:
  /api/v1/issues:
    get:
      summary: List issues
      description: >-
        Lists issues visible to the bearer token's organization, ordered by
        `createdAt` descending and then `id` descending.
      operationId: listIssues
      parameters:
        - $ref: '#/components/parameters/LimitIssues'
        - $ref: '#/components/parameters/Cursor'
        - name: status
          in: query
          required: false
          description: Filter issues by status.
          schema:
            $ref: '#/components/schemas/IssueStatus'
      responses:
        '200':
          description: Issues page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIssuesResponse'
        '400':
          $ref: '#/components/responses/DataBadRequest'
        '401':
          $ref: '#/components/responses/DataUnauthorized'
        '429':
          $ref: '#/components/responses/DataRateLimited'
      security:
        - lucentBearer: []
components:
  parameters:
    LimitIssues:
      name: limit
      in: query
      required: false
      description: Maximum issues to return.
      schema:
        type: integer
        minimum: 1
        maximum: 200
        default: 25
    Cursor:
      name: cursor
      in: query
      required: false
      description: >-
        Opaque pagination cursor returned as `nextCursor` from the previous
        page.
      schema:
        type: string
  schemas:
    IssueStatus:
      type: string
      enum:
        - unresolved
        - ticket_created
        - transient
        - resolved
    ListIssuesResponse:
      type: object
      required:
        - issues
        - nextCursor
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/IssueSummary'
        nextCursor:
          type: string
          nullable: true
    IssueSummary:
      type: object
      required:
        - id
        - title
        - description
        - status
        - priority
        - previewUrl
        - createdAt
        - sessionCount
      properties:
        id:
          type: string
          format: uuid
        title:
          type: string
        description:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/IssueStatus'
        priority:
          $ref: '#/components/schemas/IssuePriority'
        previewUrl:
          type: string
          nullable: true
        createdAt:
          type: string
          format: date-time
        sessionCount:
          type: integer
          minimum: 0
        ticketProvider:
          type: string
          nullable: true
        ticketUrl:
          type: string
          nullable: true
        ticketIdentifier:
          type: string
          nullable: true
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
    IssuePriority:
      type: string
      enum:
        - low
        - medium
        - high
        - critical
  responses:
    DataBadRequest:
      description: Invalid request parameter or body.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    DataUnauthorized:
      description: Missing, malformed, revoked, or unknown bearer token.
      headers:
        WWW-Authenticate:
          description: Bearer challenge with the required scope.
          schema:
            type: string
            example: Bearer scope="read:lucent"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    DataRateLimited:
      description: >-
        Rate limit exceeded. Reads allow 300 requests per minute; writes allow
        60 requests per minute.
      headers:
        Retry-After:
          description: Seconds until the rate limit resets.
          schema:
            type: integer
            minimum: 1
        X-RateLimit-Limit:
          description: Limit for the current window.
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Remaining requests in the current window.
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Unix timestamp when the current window resets.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    lucentBearer:
      type: http
      scheme: bearer
      description: >-
        API keys prefixed with `luc_api_` or OAuth access tokens prefixed with
        `luc_oat_`. Legacy static keys prefixed with `luc_mcp_` continue to
        work.

````