> ## 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.

# Bulk Export Folders XLSX

> Export video timestamps, transcriptions, and translations for multiple folders as a multi-sheet XLSX spreadsheet

Returns an XLSX spreadsheet with one sheet per order/language combination for all orders in the specified folders. Each sheet contains segment data (timecodes, source transcription, translated text).

The spreadsheet contains the following columns per sheet:

| Column            | Description                                                 |
| ----------------- | ----------------------------------------------------------- |
| SR NO             | Sequential row number                                       |
| TCR               | Timecode (start timestamp)                                  |
| SPEAKER           | Speaker name                                                |
| DIALOGUES         | Source transcription text                                   |
| *Target Language* | Translated text (column header is the target language code) |

Sheet names follow the pattern `{OrderName} - {targetLanguage}` (max 31 characters).

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api-integration.ollang.com/integration/folder/export-xlsx" \
    -H "X-Api-Key: <your-api-key>" \
    -H "Content-Type: application/json" \
    -d '{
      "folderIds": ["60b8d6f1e1b9b1d8c6c0d8e1"],
      "targetLanguages": ["tr", "en"]
    }' \
    --output bulk_export.xlsx
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api-integration.ollang.com/integration/folder/export-xlsx",
    {
      method: "POST",
      headers: {
        "X-Api-Key": "<your-api-key>",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        folderIds: ["60b8d6f1e1b9b1d8c6c0d8e1"],
        targetLanguages: ["tr", "en"],
      }),
    },
  );

  const blob = await response.blob();
  const url = URL.createObjectURL(blob);
  // Download or process the XLSX file
  ```

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

  response = requests.post(
      "https://api-integration.ollang.com/integration/folder/export-xlsx",
      headers={
          "X-Api-Key": "<your-api-key>",
          "Content-Type": "application/json",
      },
      json={
          "folderIds": ["60b8d6f1e1b9b1d8c6c0d8e1"],
          "targetLanguages": ["tr", "en"],
      },
  )

  with open("bulk_export.xlsx", "wb") as f:
      f.write(response.content)
  ```
</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

## Body Parameters

<ParamField body="folderIds" type="string[]" required>
  Array of folder IDs containing the orders to export.
</ParamField>

<ParamField body="targetLanguages" type="string[]" required>
  Array of target language codes to include in the export.
</ParamField>

## Response

The response is a binary XLSX file download. The response headers include:

* `Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
* `Content-Disposition: attachment; filename="bulk_export_{date}.xlsx"`

<ResponseExample>
  ```text 200 theme={null}
  Binary XLSX file (multi-sheet spreadsheet with segment data)
  ```

  ```json 400 theme={null}
  {
    "statusCode": 400,
    "message": [
      "each value in folderIds must be a string",
      "folderIds should not be empty"
    ],
    "error": "Bad Request"
  }
  ```

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

  ```json 500 theme={null}
  {
    "statusCode": 500,
    "message": "No segment data found for the given folders and target languages."
  }
  ```
</ResponseExample>
