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

# List the workspace's client report links, live first — never their URLs

> Requires a token with the `reports:write` permission.



## OpenAPI

````yaml /openapi.json get /api/v1/report-links
openapi: 3.0.0
info:
  description: >-
    Every request carries `Authorization: Bearer utmk_…`. The token fixes the
    workspace; no request names one. Every operation declares `x-permission`,
    the token permission it requires.
  title: UTMKit API
  version: '1'
servers:
  - url: https://app.utmkit.co
    variables: {}
security:
  - bearer: []
tags: []
paths:
  /api/v1/report-links:
    get:
      tags:
        - reports
      summary: List the workspace's client report links, live first — never their URLs
      description: Requires a token with the `reports:write` permission.
      operationId: UtmBuilderWeb.API.V1.ReportLinkController.index
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportLinkList'
          description: Report links
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error
      callbacks: {}
components:
  schemas:
    ReportLinkList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ReportLink'
          type: array
      title: ReportLinkList
      type: object
    Error:
      description: Every refusal. `code` is the closed set of FR-019.
      properties:
        error:
          properties:
            code:
              enum:
                - unauthenticated
                - subscription_required
                - subscription_ended
                - missing_permission
                - role_forbids
                - plan_forbids
                - rate_limited
                - governance_refused
                - scanner_refused
                - limit_reached
                - duplicate_link
                - not_found
                - invalid_input
              type: string
            details:
              additionalProperties: true
              description: field → messages, on invalid_input
              nullable: true
              type: object
            message:
              type: string
            permission:
              nullable: true
              type: string
            retry_after_seconds:
              nullable: true
              type: integer
          required:
            - code
            - message
          type: object
      required:
        - error
      title: Error
      type: object
    ReportLink:
      description: >-
        A client report link (#418). Its URL is returned once, at creation, and
        is never stored.
      properties:
        created_at:
          format: date-time
          type: string
        host:
          description: The domain the report is served on
          type: string
        id:
          type: integer
        revoked_at:
          format: date-time
          nullable: true
          type: string
        state:
          enum:
            - live
            - revoked
          type: string
      title: ReportLink
      type: object
  securitySchemes:
    bearer:
      description: utmk_<lookup><secret>, minted on /tokens
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.