> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.ollang.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Folder Documents

> List the guideline, glossary, and character-list documents attached to a folder

Returns the folder-level documents attached to a folder: guidelines, guideline glossaries, and character lists. These documents apply to every project inside the folder, so they are the API equivalent of the **Guidelines** panel on a folder in the dashboard.

Only the three folder-level document types are returned. Source files attached to individual projects are not included.

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api-integration.ollang.com/integration/folder/60b8d6f1e1b9b1d8c6c0d8e1/docs" \
    -H "X-Api-Key: <your-api-key>"
  ```

  ```javascript JavaScript theme={null}
  const folderId = "60b8d6f1e1b9b1d8c6c0d8e1";

  const response = await fetch(
    `https://api-integration.ollang.com/integration/folder/${folderId}/docs`,
    {
      method: "GET",
      headers: {
        "X-Api-Key": "<your-api-key>",
      },
    },
  );

  const docs = await response.json();
  console.log(`${docs.length} folder documents`);
  ```

  ```python Python theme={null}
  import requests

  folder_id = "60b8d6f1e1b9b1d8c6c0d8e1"

  response = requests.get(
      f"https://api-integration.ollang.com/integration/folder/{folder_id}/docs",
      headers={"X-Api-Key": "<your-api-key>"},
  )

  for doc in response.json():
      print(doc["type"], doc["name"])
  ```

  ```php PHP theme={null}
  $folderId = '60b8d6f1e1b9b1d8c6c0d8e1';

  $curl = curl_init();

  curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api-integration.ollang.com/integration/folder/{$folderId}/docs",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER => array(
          'X-Api-Key: <your-api-key>'
      ),
  ));

  $response = curl_exec($curl);
  $docs = json_decode($response, true);
  curl_close($curl);

  echo "Folder documents: " . count($docs);
  ```

  ```go Go theme={null}
  package main

  import (
      "encoding/json"
      "fmt"
      "io"
      "net/http"
  )

  func main() {
      folderID := "60b8d6f1e1b9b1d8c6c0d8e1"
      url := "https://api-integration.ollang.com/integration/folder/" + folderID + "/docs"

      req, _ := http.NewRequest("GET", url, nil)
      req.Header.Set("X-Api-Key", "<your-api-key>")

      client := &http.Client{}
      resp, _ := client.Do(req)
      defer resp.Body.Close()

      body, _ := io.ReadAll(resp.Body)

      var docs []map[string]interface{}
      json.Unmarshal(body, &docs)

      fmt.Println("Folder documents:", len(docs))
  }
  ```

  ```java Java theme={null}
  String folderId = "60b8d6f1e1b9b1d8c6c0d8e1";

  HttpResponse<String> response = Unirest
    .get("https://api-integration.ollang.com/integration/folder/" + folderId + "/docs")
    .header("X-Api-Key", "<your-api-key>")
    .asString();

  JSONArray docs = new JSONArray(response.getBody());
  System.out.println("Folder documents: " + docs.length());
  ```
</RequestExample>

## Authorizations

This endpoint requires API key authentication. Include your API key in the request header:

* **Header name**: `X-Api-Key`
* **Header value**: Your API key from the Ollang dashboard
* **Format**: `X-Api-Key: your-api-key-here`

You can obtain your API key from your [Ollang dashboard](https://lab.ollang.com).

## Path Parameters

<ParamField path="folderId" type="string" required>
  The unique identifier of the folder. Retrieve folder IDs with [Retrieve All
  Folders](/apis/ollang-api-reference/retrieve-all-folders).
</ParamField>

## Response

An array of folder document objects.

<ResponseField name="id" type="string">
  Unique identifier of the document. Pass this to [Remove Folder
  Document](/apis/ollang-api-reference/delete-folder-document) to detach it.
</ResponseField>

<ResponseField name="name" type="string">
  Display name of the document.
</ResponseField>

<ResponseField name="type" type="string">
  One of `guideline`, `guideline_glossary`, or `character_list`.
</ResponseField>

<ResponseField name="url" type="string">
  Location of the stored document.
</ResponseField>

<ResponseField name="size" type="number">
  Size of the document in bytes. May be `null` for documents attached without a
  size.
</ResponseField>

<ResponseField name="sourceLanguage" type="string">
  Language of the document, when one was supplied at attach time. `null`
  otherwise.
</ResponseField>

<ResponseField name="folderId" type="string">
  Identifier of the folder the document belongs to.
</ResponseField>

<ResponseField name="clientId" type="string">
  Identifier of the account that owns the document.
</ResponseField>

<ResponseField name="createdAt" type="string">
  When the document was attached, in ISO 8601 format.
</ResponseField>

<ResponseField name="updatedAt" type="string">
  When the document was last updated, in ISO 8601 format.
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "id": "60b8d6f1e1b9b1d8c6c0d8f1",
      "name": "Brand guideline v3",
      "type": "guideline",
      "url": "https://ollang-docs.s3.eu-central-1.amazonaws.com/60b8d6f1e1b9b1d8c6c0d8e5/brand-guideline-v3.pdf",
      "size": 481203,
      "sourceLanguage": "en",
      "folderId": "60b8d6f1e1b9b1d8c6c0d8e1",
      "clientId": "60b8d6f1e1b9b1d8c6c0d8e5",
      "createdAt": "2026-09-02T10:14:22.511Z",
      "updatedAt": "2026-09-02T10:14:22.511Z"
    },
    {
      "id": "60b8d6f1e1b9b1d8c6c0d8f2",
      "name": "Product terminology",
      "type": "guideline_glossary",
      "url": "https://ollang-docs.s3.eu-central-1.amazonaws.com/60b8d6f1e1b9b1d8c6c0d8e5/product-terminology.xlsx",
      "size": 20418,
      "sourceLanguage": "en",
      "folderId": "60b8d6f1e1b9b1d8c6c0d8e1",
      "clientId": "60b8d6f1e1b9b1d8c6c0d8e5",
      "createdAt": "2026-09-02T10:16:03.882Z",
      "updatedAt": "2026-09-02T10:16:03.882Z"
    }
  ]
  ```

  ```json 401 theme={null}
  {
    "error": "Unauthorized",
    "message": "Invalid or missing API key",
    "code": "UNAUTHORIZED"
  }
  ```

  ```json 404 theme={null}
  {
    "statusCode": 404,
    "message": "Folder not found",
    "error": "Not Found"
  }
  ```
</ResponseExample>
