---
title: "Retrieve the complete list of folders in your workspace. Use this endpoint to see the entire folder hierarchy - including subfolders and
unassigned profiles."
method: GET
path: "/folders"
tags: ["Folder"]
---

# Retrieve the complete list of folders in your workspace. Use this endpoint to see the entire folder hierarchy - including subfolders and
unassigned profiles.

`GET /folders`

## Response `200`

OK.

- ListFoldersResponse
  - `folders` FolderResponse[], required — List of top-level folders, each folder may contain nested folders and cloud profiles.
    - `id` string, uuid, required — A unique identifier of the folder.
    - `name` string, required — The name of the folder.
    - `lastModifiedAt` string, date-time, required — Timestamp of the last modification.
    - `lastModifiedBy` string, required — Name of the user who last modified the folder.
    - `createdAt` string, date-time, required — Timestamp of the creation.
    - `createdBy` string, required — Name of the user who created the folder.
    - `profiles` ProfilePreview[], required — List of profiles in the current folder.
      - `id` string, uuid, required — A unique identifier of the profile
      - `name` string, required — The name of the profile
      - `tags` string[], required — Profile tags
      - `proxy` ProxyChoice, required
        - `value` 'none' | 'http' | 'socks5' | 'ssh', required — Proxy connection settings of the profiles. Possible values: 'none': Direct connection without any proxy. 'http': Use a HTTP proxy for upstream communication. 'socks5': Use a SOCKS5 proxy for upstream communication. 'ssh': Use an SSH connection for upstream communication. Basically a SOCKS5 proxy created at the given SSH host.
        - `extra` Server — Represents a server connection. It can be used as a proxy server connection as well.
          - `host` string, required — Gets or sets the hostname where the service is provided from.
          - `port` integer, required — Gets or sets the port where the service is provided from.
          - `id` string, nullable — Gets or sets the identity information provided for the service. This could be a custom id or username or anything which identifies a resource on the remote service. Use it as a proxy username. This field is optional.
          - `secret` string, nullable — Gets or sets the shared secret between the client and the service provider. Use it as a proxy password. This field is optional.
      - `createdAt` string, date-time, required — Date when the profile was created.
      - `device` Device, required
        - `type` string, required — Type of the device. Possible values are: 'desktop', 'mobile'.
        - `name` string, nullable — Name of the device. This is only available for mobile profiles.
      - `os` Os, required
        - `family` string, required — Specifies the operating system family. Possible values are 'windows', 'macos', 'linux', 'android', 'ios'.
        - `version` string, required — The specific version of the OS. For example it helps you determine the exact version of the macOS.
        - `platform` string, required — The OS's platform, indicating the processor architecture (e.g., 64-bit, 32-bit)
      - `browser` Browser, required
        - `product` string, required — Product of the browser. Possible values are 'chrome', 'firefox', 'edge', 'safari'.
        - `major` integer, required — Major version of the browser.
        - `version` string, required — Exact version of the browser.
      - `language` string, required — A language or a comma-separated list of languages for the profile. ISO 639-1 language and optionally ISO 3166-1 region code.
      - `status` StatusResponse, required — Status information about the profile
        - `lifetimeState` 'created' | 'starting' | 'running' | 'terminating' | 'terminated' | 'locked' | 'loading' | 'unknown', required — Represents the lifetime states of a profile, indicating which actions can be performed with the associated browser engine at each state. Possible values are: - Created: Profile is created; the associated browser engine is not started. - Starting: The associated browser engine is starting. - Running: The associated browser engine is currently running. - Terminating: The associated browser engine is in the process of terminating. - Terminated: The associated browser engine is not running but has been started at least once. - Locked: The profile is currently being used by another user. - Loading: The profile data or the browser engine is syncing with the cloud storage. - Unknown: State of the profile is undefined.
      - `storage` 'local' | 'cloud'
      - `folderId` string, uuid, nullable — A unique identifier of the containing folder, or empty (00000000-0000-0000-0000-000000000000) if not in a folder. This will always be empty for locally stored profiles, as only cloud profiles can be added to folders.
    - `shareAccesses` ShareAccess[], required — List of users accessing this folder.
      - `user` User, required
        - `id` string, uuid, required — Unique identifier of the user.
        - `name` string, required — Dispaly name of the user.
        - `email` string, required — Email address of the user.
      - `role` GroupRole, required
        - `id` string, uuid, required — Unique identifier of the role.
        - `name` string, required — Name of the role.
        - `description` string, required — Description of the role.
      - `sharedAt` string, date-time, required — Timestamp when the acess was granted to the user.
  - `profiles` ProfilePreview[], required — List of profiles not associated with any folder. This includes both cloud and local profiles.
    - `id` string, uuid, required — A unique identifier of the profile
    - `name` string, required — The name of the profile
    - `tags` string[], required — Profile tags
    - `proxy` ProxyChoice, required
      - `value` 'none' | 'http' | 'socks5' | 'ssh', required — Proxy connection settings of the profiles. Possible values: 'none': Direct connection without any proxy. 'http': Use a HTTP proxy for upstream communication. 'socks5': Use a SOCKS5 proxy for upstream communication. 'ssh': Use an SSH connection for upstream communication. Basically a SOCKS5 proxy created at the given SSH host.
      - `extra` Server — Represents a server connection. It can be used as a proxy server connection as well.
        - `host` string, required — Gets or sets the hostname where the service is provided from.
        - `port` integer, required — Gets or sets the port where the service is provided from.
        - `id` string, nullable — Gets or sets the identity information provided for the service. This could be a custom id or username or anything which identifies a resource on the remote service. Use it as a proxy username. This field is optional.
        - `secret` string, nullable — Gets or sets the shared secret between the client and the service provider. Use it as a proxy password. This field is optional.
    - `createdAt` string, date-time, required — Date when the profile was created.
    - `device` Device, required
      - `type` string, required — Type of the device. Possible values are: 'desktop', 'mobile'.
      - `name` string, nullable — Name of the device. This is only available for mobile profiles.
    - `os` Os, required
      - `family` string, required — Specifies the operating system family. Possible values are 'windows', 'macos', 'linux', 'android', 'ios'.
      - `version` string, required — The specific version of the OS. For example it helps you determine the exact version of the macOS.
      - `platform` string, required — The OS's platform, indicating the processor architecture (e.g., 64-bit, 32-bit)
    - `browser` Browser, required
      - `product` string, required — Product of the browser. Possible values are 'chrome', 'firefox', 'edge', 'safari'.
      - `major` integer, required — Major version of the browser.
      - `version` string, required — Exact version of the browser.
    - `language` string, required — A language or a comma-separated list of languages for the profile. ISO 639-1 language and optionally ISO 3166-1 region code.
    - `status` StatusResponse, required — Status information about the profile
      - `lifetimeState` 'created' | 'starting' | 'running' | 'terminating' | 'terminated' | 'locked' | 'loading' | 'unknown', required — Represents the lifetime states of a profile, indicating which actions can be performed with the associated browser engine at each state. Possible values are: - Created: Profile is created; the associated browser engine is not started. - Starting: The associated browser engine is starting. - Running: The associated browser engine is currently running. - Terminating: The associated browser engine is in the process of terminating. - Terminated: The associated browser engine is not running but has been started at least once. - Locked: The profile is currently being used by another user. - Loading: The profile data or the browser engine is syncing with the cloud storage. - Unknown: State of the profile is undefined.
    - `storage` 'local' | 'cloud'
    - `folderId` string, uuid, nullable — A unique identifier of the containing folder, or empty (00000000-0000-0000-0000-000000000000) if not in a folder. This will always be empty for locally stored profiles, as only cloud profiles can be added to folders.

## Other responses

- `default` — Error

---

[API](https://skmtc.net/kameleo-io/apis/kameleo-local-api.md) · [All operations](https://skmtc.net/kameleo-io/apis/kameleo-local-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kameleo-io/kameleo-local-api/versions/dc959e78ce25/schema)
