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

# Create comment screenshot link

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns a signed link to a thread's screenshot that works for one year, for pasting somewhere that outlives the one-hour links in [List comments](/api-reference/list-comments). Each call creates a new link, and a link can't be revoked before it expires.

The link opens the screenshot for anyone who has it, so share it only where that's fine.

This is limited to 120 requests per minute per app, shared by every other comments endpoint. A signed-in session has its own limit, and every personal access token for the workspace shares one. Some workspaces have a different limit. Every request that counts against the limit gets `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` (Unix time in seconds) headers, and a `429` also gets `Retry-After` in seconds. If the limiter itself is unavailable, requests go through without these headers.

<Note>Call this as an editor of the app, with a personal access token sent as a Bearer token or from a signed-in session. Viewers in the app's workspace, read-only tokens, and workspace API keys are refused.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/apps/{app_id}/comments/threads/{thread_id}/chat-screenshot-url
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/comments/threads/{thread_id}/chat-screenshot-url:
    post:
      summary: Create comment screenshot link
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns a signed link to a thread's screenshot that works for one year,
        for pasting somewhere that outlives the one-hour links in [List
        comments](/api-reference/list-comments). Each call creates a new link,
        and a link can't be revoked before it expires.


        The link opens the screenshot for anyone who has it, so share it only
        where that's fine.


        This is limited to 120 requests per minute per app, shared by every
        other comments endpoint. A signed-in session has its own limit, and
        every personal access token for the workspace shares one. Some
        workspaces have a different limit. Every request that counts against the
        limit gets `X-RateLimit-Limit`, `X-RateLimit-Remaining` and
        `X-RateLimit-Reset` (Unix time in seconds) headers, and a `429` also
        gets `Retry-After` in seconds. If the limiter itself is unavailable,
        requests go through without these headers.


        <Note>Call this as an editor of the app, with a personal access token
        sent as a Bearer token or from a signed-in session. Viewers in the app's
        workspace, read-only tokens, and workspace API keys are refused.</Note>
      operationId: >-
        create_chat_screenshot_url_api_apps__app_id__comments_threads__thread_id__chat_screenshot_url_post
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app.
            title: App Id
          description: ID of the app.
          example: 6820f3a4e7b91d003c45a1f2
        - name: thread_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the comment thread, from `thread.id` in [List
              comments](/api-reference/list-comments) called with the same
              `branch_id`.
            title: Thread Id
          description: >-
            ID of the comment thread, from `thread.id` in [List
            comments](/api-reference/list-comments) called with the same
            `branch_id`.
          example: 68e2b7c1d4f0a9001c3e5a17
        - name: branch_id
          in: query
          required: false
          schema:
            type: string
            description: >-
              ID of the branch to work on, as returned by [List
              branches](/api-reference/list-branches). Omit it to work on the
              app's main branch.
            title: Branch Id
          description: >-
            ID of the branch to work on, as returned by [List
            branches](/api-reference/list-branches). Omit it to work on the
            app's main branch.
          example: 68f1a2b3c4d5e6f708192a3b
      responses:
        '200':
          description: The link, or `null` when there's no screenshot.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreenshotLink'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have editor access to this app, you're a viewer in the
            app's workspace, the app is blocked, or your token is read-only or a
            workspace API key.
        '404':
          description: >-
            App or comment thread not found, or no branch you can see has this
            `branch_id`. A thread is found only with the `branch_id` it was
            created on, or with no `branch_id` for a thread on main.
        '409':
          description: Your workspace requires an unlocked SSO session.
        '429':
          description: >-
            Rate limit exceeded. Wait the number of seconds in `Retry-After`
            before retrying.
      security:
        - PersonalAccessTokenAuth:
            - full_access
components:
  schemas:
    ScreenshotLink:
      properties:
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
          description: >-
            Signed link to the thread's screenshot, valid for one year, or
            `null` when the thread has no screenshot.
          example: >-
            https://static.base44.com/images/private/6820f3a4e7b91d003c45a1f2/4b1e9c2a7_shot.png?token=eyJhbGciOi
      type: object
      required:
        - url
      title: ScreenshotLink
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: >-
        Personal access token, sent as `Authorization: Bearer <token>`. Each
        operation lists the permission it needs: `read_only` or `full_access`. A
        full-access token can call every operation. A read-only token can call
        only the operations that list `read_only`; anything else returns 403
        `read_only_credential_route_not_allowed`.

````

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