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

Returns the app's open comment threads with all their comments, newest first. Set include_resolved to true to include resolved threads too.

Each branch has its own comment threads. Set branch_id to work with a branch's threads. Leave it out for main's. Merging or deleting a branch deletes its threads, so treat a merged branch's threads as gone.

Threads are ordered by when they were created, newest first. A page holds up to limit threads, 500 by default. While has_more is true, request the next page with cursor set to next_cursor and the same branch_id, and nothing else beside them. A cursor works for 24 hours, only on this app and branch. A thread created after you start paging shows up on a fresh first page, not in later pages.

Screenshot links in the response work for one hour. Call this again for fresh ones, or use Create comment screenshot link for a link that lasts a year.

This is limited to 600 requests per minute per app, shared by List comments and List mentionable users. 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. A read-only token works here. Workspace API keys aren't accepted.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

get/api/apps/{app_id}/comments

Request

  • Base URL
    https://app.base44.com
  • URL
    https://app.base44.com/api/apps/{app_id}/comments
  • Auth
    HTTP bearer

Path parameters

app_idstring required

ID of the app.

Query parameters

include_resolvedboolean

Set to true to include resolved threads. Defaults to false.

limitinteger

Threads per page, 1 to 500. Defaults to 500.

cursorstring

next_cursor from the previous page. Send it on its own: it carries include_resolved and limit, so sending either beside it returns a 400.

branch_idstring

ID of the branch to work on, as returned by List branches. Omit it to work on the app's main branch.

Response

One page of the app's comment threads, newest first.

has_moreboolean required

Whether more threads follow this page.

next_cursorstring nullable required

Pass as cursor to get the next page. null on the last page.

Example response

{
  "items": [
    {
      "comment": {
        "content": "Make this button match the header color.",
        "created_date": "2026-10-05T09:14:22.512000Z",
        "id": "68e2b7c4d4f0a9001c3e5a1c",
        "reactions": {},
        "sender_id": "6820f41be7b91d003c45a20a",
        "sender_name": "Dana Levi"
      },
      "reactor_names": {},
      "replies": [],
      "thread": {
        "anchor": {
          "element_tag": "button",
          "source_location": "pages/Pricing.jsx:42:8"
        },
        "created_date": "2026-10-05T09:14:22.512000Z",
        "id": "68e2b7c1d4f0a9001c3e5a17",
        "last_activity_at": "2026-10-05T09:14:22.512000Z",
        "message_count": 0,
        "page_path": "/pricing",
        "unread": true
      }
    }
  ],
  "next_cursor": "gAAAAABn7vJ0q2kX"
}

Changes

    • breaking

      query request parameter cursor list-of-types was narrowed by removing types null

    • breaking

      query request parameter include_resolved list-of-types was narrowed by removing types null

    • breaking

      query request parameter limit list-of-types was narrowed by removing types null

    • breaking

      for the query request parameter include_resolved, the type changed from no type to boolean

    • breaking

      for the query request parameter limit, the type changed from no type to integer

    • warning

      for the query request parameter limit, the max was set to 500.00

    • warning

      for the query request parameter limit, the min was set to 1.00

    • info

      added the new optional query request parameter branch_id

    • info

      for the query request parameter cursor, the type was generalized from no type to string

    • info

      the endpoint scheme security PersonalAccessTokenAuth was added to the API