> 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.md).

# Lecture

Lectures are the individual timed events in an organization (i.e. Sessions on the agenda)

### Lecture Data

```javascript
{
    "backgroundImage":null,
    "customData":{
        "data":[
            {
                "id":"B2ulKb4421KiWpuR4fPz",
                "type":"TranslatedTextData",
                "value":{
                    "DE_DE":"Mein Untertitel",
                    "EN_US":"Very Punny"
                }
            }
        ]
    },
    "description":{
        "DE_DE":"Sehr *Abstrakt*",
        "EN_US":"Very *abstract*"
    },
    "descriptionHtml":{
        "DE_DE":"<div class=\"msg_div\">\n<p class=\"msg_p\">Sehr <strong class=\"msg_strong\">Abstrakt<\/strong><\/p>\n<\/div>",
        "EN_US":"<div class=\"msg_div\">\n<p class=\"msg_p\">Very <strong class=\"msg_strong\">abstract<\/strong><\/p>\n<\/div>"
    },
    "format":"work",
    "isHighlight":true,
    "isMain":false,
    "isPublic": true,
    "isPublished": true,
    "languageOther":{},
    "languages":[
        "RUS"
    ],
    "lectureId":"G337ySpYCDEQy9qtIdMg",
    "main":[],
    "mtime":1540299331270,
    "name":{
        "DE_DE":"Workshop Titel",
        "EN_US":"Workshop title"
    },
    "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": []
    },
    "period":{
        "duration":60,
        "end":1540300500000,
        "isTimed":true,
        "periodType":"TIME",
        "start":1540296900000
    },
    "roomId":null,
    "speakerRole":{
        "GTOD9d0P9IJQGI5f8DeZ":"MODERATOR"
    },
    "speakers":[
        "8f7dBiIGtWOttptVLagH",
        "GTOD9d0P9IJQGI5f8DeZ"
    ],
    "tags":[
        "top"
    ],
    "topics":[
        "fin"
    ],
    "video": {
        "videoType": "VIMEO",
        "url": "https://vimeo.com/344517194",
        "size": {
            "width": 640,
            "height": 480
        },
        "vimeoId": "344517194",
        "thumbnail": "https://i.vimeocdn.com/video/794021636.webp"
    },
    "vendors": [
        "ZaZOqly9jKfdzHVYZdOw",
    ],
}
```

#### General Data

* `backgroundImage` (optional string): Serving URL of the background image
* `customData` (object): Extension data for custom fields
* `description` (translated text): Abstract of the lecture&#x20;
* `descriptionHtml` (translated text): Injection-safe HTML code of the description. Only non-empty when markdown processing for the description is explicitly turned on.
* `lectureId` (identifier): Unique identifier for the lecture
* `format` (optional string): Lecture format
* `isHighlight` (boolean): Whether the lecture is marked as a highlight lecture
* `mtime` (integer): Last modification time of the record
* `name` (translated text): Title of the lecture
* `partCollection` (object): Files (slide deck and misc files) and data about sub-sessions if there are any.
* `roomId` (optional string): Room identifier. The room with this id is where the lecture takes place.
* `tags` (array of strings): Tags of the lecture (for filtering the schedule)
* `topics` (array of strings): The topics of the lecture

#### Time and duration

* `period`(object): The time interval of the lecture. Contains the following keys:
  * `duration` (number): The duration in minutes&#x20;
  * &#x20;`end` (integer): UTC timestamp of the start of the lecture
  * &#x20;`isTimed` (boolean): Always `true` for lecture
  * `periodType` (string): Always `"TIME"` for lecture
  * &#x20;`start` (integer): UTC timestamp of the start of the lecture&#x20;

#### Speakers

Each speaker has a unique identifier, see the [Speaker](/public/json-api/speaker.md) section for more details.

* `speakers` (array of strings): List of speaker identifiers. This includes e.g. presenters.
* `speakerRole` (object): Map speaker identifiers to special roles as strings. Currently, the only available role is `MODERATOR` for the presenter of a lecture.

#### Languages

Usually, a single language is assigned to the lecture. However, it can contain multiple values e.g. if there is translation provided.

* `languages` (array of strings): List of languages that the lecture is available at.
* `languageOther` (translated text): Label to use if "other language" is listed under languages.

Available language codes are a subset of ISO 639-3 together with `OTHER`. Currently supported are:

* `OTHER`: Free text field    &#x20;
* `RUS`: Russian
* `DEU`: German
* `FRA`: French
* `ENG`: English
* `TUR`: Turkish
* `ITA`: Italian
* `SPA`: Spanish
* `UKR`: Ukrainian
* `POL`: Polish
* `NLD`: Dutch

It should be clarified that the languages supported here are independent of the overall content languagues for the event ([Locales and Text](/public/json-api/general/locales-and-text.md)) as individual lectures can be held in a wider range of languages.  Support for additional languages can be added upon request if needed.

#### Video

The `video` field is only returned with authenticated API requests. The `video.url` sub-field is a iframe-embeddable video player for the lecture video stream.

#### Associated partners (Sponsors & Exhibitors)

The `vendors` field contains a list of vendor identifiers that are associated to this lecture. Currently this will always return at most one id, but in the future we will allow multiple associated partners.
