Skip to content

POST /api/v1/browser returns a folder's name in title, and its real title in description #36757

Description

@jdcmsd

Problem Statement

For folder results, the Site Browser endpoint (POST /api/v1/browser) mislabels two
fields relative to the Folder resource (GET /api/v1/folder/...):

  • browser item title → the folder name/slug (e.g. headless-and-sdks)
  • browser item description → the folder's actual title (e.g. Headless and SDKs)

The Folder resource returns the same object with title set to the real title and
no description. So the two endpoints disagree on what title means for the same
folder. Any consumer that reads browser.title as a display label gets the URL
slug instead of the human title.

Steps to Reproduce

Pick any folder whose title differs from its name (create one if needed: folder
name headless-and-sdks, title Headless and SDKs).

Image

1. Folder resource — title is correct:

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://{host}/api/v1/folder/sitename/{siteId}/uri/docs/build/headless-and-sdks" \
  | jq '.entity | {name, title, description}'
{ "name": "headless-and-sdks", "title": "Headless and SDKs", "description": null }

2. Browser endpoint — title is the name; real title hides in description:

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -X POST "https://{host}/api/v1/browser" \
  -d '{"hostFolderId":"{parentFolderInode}","showFolders":true,"showFiles":false}' \
  | jq '.entity.list[] | select(.name=="headless-and-sdks") | {name, title, description}'
{ "name": "headless-and-sdks", "title": "headless-and-sdks", "description": "Headless and SDKs" }

Acceptance Criteria

browser item title should equal the folder's title (Headless and SDKs), matching
the Folder resource. description should carry the folder description (or be omitted),
not the title.

dotCMS Version

dotcms-core 26.07.27-01 (July 27, 2026 12:44 PM)

Severity

Low - Minor issue or cosmetic

Links

NA

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status
    New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions