# List all folders

You can fetch a list of all folders for organizing content by making a GET request to `https://api.intercom.io/folders`.
Requires the `read_articles_scope` or `read_write_articles_scope` OAuth scope.

Endpoint: GET /folders
Version: 2.17
Security: bearerAuth

## Query parameters:

  - `page` (integer)
    The page number

  - `per_page` (integer)
    Number of results per page

  - `parent_folder_id` (integer)
    Filter folders by parent folder ID. Use this to list only direct children of a specific folder.

## Header parameters:

  - `Intercom-Version` (string)

## Response 200 fields (application/json):

  - `type` (string)
    Enum: "list"

  - `data` (array)
    The folders on this page. Unlike when you retrieve a single folder, the keys `description`, `emoji` and `parent_folder_id` are omitted when they are `null`.

  - `data.id` (integer)
    The unique identifier for the folder
    Example: 6

  - `data.name` (string)
    The name of the folder. Returned HTML-escaped, for example `&` as `&amp;`.
    Example: Product Documentation

  - `data.description` (string)
    The description of the folder
    Example: Internal product documentation

  - `data.emoji` (string)
    An emoji associated with the folder
    Example: 📚

  - `data.parent_folder_id` (integer)
    The ID of the parent folder, or null if this is a root folder
    Example: null

  - `data.content_count` (integer)
    The number of content items in this folder
    Example: 5

  - `data.created_at` (integer)
    The time when the folder was created (seconds)
    Example: 1672928359

  - `data.updated_at` (integer)
    The time when the folder was last updated (seconds)
    Example: 1672928610

  - `total_count` (integer)
    Total number of folders
    Example: 2

  - `pages` (object)
    The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.

Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.

  - `pages.type` (string)
    Enum: "pages"

  - `pages.page` (integer)
    Example: 1

  - `pages.next` (string)
    A link to the next page of results. Omitted or `null` on the last page, depending on the list. Some lists never include `next` or `prev`, so compare `page` with `total_pages` to tell whether more pages remain.

  - `pages.prev` (string)
    A link to the previous page of results. Omitted on the first page.

  - `pages.per_page` (integer)
    Example: 50

  - `pages.total_pages` (integer)
    Example: 1

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (any, required)
    A string indicating the kind of error, used to further qualify the HTTP response code. A few request validation errors send an HTTP status code as an integer here instead, for example `422`.
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

