> For the complete documentation index, see [llms.txt](https://talque.gitbook.io/public/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://talque.gitbook.io/public/json-api/lecture/files.md).

# Files

Lectures can have files associated to them. This is primarily the slide deck, but may include other auxiliary files like fonts or images. This is complicated by sub-sessions (lecture parts), where a single time slot in the schedule (lecture) is shared by multiple speakers each with their own slides. The available files are listed in the `partCollection` field of the lecture json output, which is of the form

```javascript
    "partCollection": {
        "adminDeck": null,
        "customData": {
          "data": []
        },
        "deck": {
            "fileId": "3lKgbfKXaO4x3CFus5md",
            "fileType": "BINARY",
            "mimeType": "PDF",
            "name": "slide-deck-for-publication.pdf",
            "size": 96170,
            "url": "https://event.talque.com:80/api/v1/file/org/AXkXpGsPRCYot59BKKNQ/file/3lKgbfKXaO4x3CFus5md",
        },        
        "files": [],
        "parts": []
    }
```

The keys relevant for files are

* `deck`: Slide deck for publication, null if none provided
* `adminDeck`: For internal use only, this are the slides that are projected during the talk but not intended for distribution, null if none provided
* `files`: Array of auxiliary files

Each file has an internal id, some metadata, and a download url. The download is authenticated with your API key. That is, to download you need to perform a HTTP GET with `X-TQ-CLIENT-ID` and `X-TQ-SECRET` headers as described in [Authentication](/public/webhooks/authentication.md).

If there are sub-sessions, then the `parts` field will be an non-empty array. Each entry will have its own `deck`, `adminDeck`, and `files` fields to contain the files for that  particular sub-session.&#x20;
