> ## 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.

# Resolve comment thread

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

Marks a comment thread as resolved. Any editor of the app can resolve any thread. Resolving a thread that's already resolved records the new time.

Resolved threads are left out of [List comments](/api-reference/list-comments) unless you set `include_resolved`. Reopen one with [Reopen comment thread](/api-reference/reopen-comment-thread). Anyone with the app open in the builder sees the change right away.

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}/resolve
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}/resolve:
    post:
      summary: Resolve comment thread
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Marks a comment thread as resolved. Any editor of the app can resolve
        any thread. Resolving a thread that's already resolved records the new
        time.


        Resolved threads are left out of [List
        comments](/api-reference/list-comments) unless you set
        `include_resolved`. Reopen one with [Reopen comment
        thread](/api-reference/reopen-comment-thread). Anyone with the app open
        in the builder sees the change right away.


        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: >-
        resolve_app_comment_thread_api_apps__app_id__comments_threads__thread_id__resolve_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 thread is resolved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResolvedThread'
        '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:
    ResolvedThread:
      properties:
        resolved_at:
          type: string
          format: date-time
          title: Resolved At
          description: When the thread was resolved, in UTC.
          example: '2026-10-05T09:14:22.512000Z'
      type: object
      required:
        - resolved_at
      title: ResolvedThread
  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.