{
    "info": {
        "description": "External API for reading lectures.",
        "title": "Talque Lecture API",
        "version": "1.0.0"
    },
    "paths": {
        "/api/v1/lecture/read": {
            "post": {
                "summary": "Read lectures by ID",
                "description": "Looks up one or more lectures by their IDs.",
                "parameters": [
                    {
                        "name": "X-TQ-CLIENT-ID",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The API client ID for authentication."
                    },
                    {
                        "name": "X-TQ-SECRET",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The API client secret for authentication."
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgId": {
                                        "type": "string",
                                        "description": "The unique identifier of the organization."
                                    },
                                    "lectureIdList": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "List of lecture IDs to look up."
                                    }
                                },
                                "required": [
                                    "orgId",
                                    "lectureIdList"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Lookup completed (individual lectures may still be not found)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "orgId": {
                                            "type": "string",
                                            "description": "The unique identifier of the organization."
                                        },
                                        "lectureById": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "success": {
                                                        "type": "boolean",
                                                        "description": "Whether the lecture was found."
                                                    },
                                                    "reason": {
                                                        "type": "string",
                                                        "description": "Machine-readable result code."
                                                    },
                                                    "model": {
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "properties": {
                                                            "lectureId": {
                                                                "type": "string",
                                                                "description": "The unique identifier of the lecture."
                                                            },
                                                            "isPublished": {
                                                                "type": "boolean",
                                                                "description": "Whether the lecture is visible to the public."
                                                            },
                                                            "isPublic": {
                                                                "type": "boolean",
                                                                "description": "Whether the lecture is open to all."
                                                            },
                                                            "mtime": {
                                                                "type": "integer",
                                                                "description": "Last modification time of the lecture (milliseconds since epoch)."
                                                            },
                                                            "name": {
                                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                                "type": "object",
                                                                "properties": {
                                                                    "DE_DE": {
                                                                        "type": "string"
                                                                    },
                                                                    "EN_US": {
                                                                        "type": "string"
                                                                    },
                                                                    "FR_FR": {
                                                                        "type": "string"
                                                                    },
                                                                    "ES_ES": {
                                                                        "type": "string"
                                                                    },
                                                                    "PT_PT": {
                                                                        "type": "string"
                                                                    },
                                                                    "ZH_CN": {
                                                                        "type": "string"
                                                                    },
                                                                    "UK_UA": {
                                                                        "type": "string"
                                                                    },
                                                                    "AR_EG": {
                                                                        "type": "string"
                                                                    },
                                                                    "RU_RU": {
                                                                        "type": "string"
                                                                    },
                                                                    "FA_IR": {
                                                                        "type": "string"
                                                                    },
                                                                    "NL_NL": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "additionalProperties": false,
                                                                "description": "The lecture title."
                                                            },
                                                            "description": {
                                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                                "type": "object",
                                                                "properties": {
                                                                    "DE_DE": {
                                                                        "type": "string"
                                                                    },
                                                                    "EN_US": {
                                                                        "type": "string"
                                                                    },
                                                                    "FR_FR": {
                                                                        "type": "string"
                                                                    },
                                                                    "ES_ES": {
                                                                        "type": "string"
                                                                    },
                                                                    "PT_PT": {
                                                                        "type": "string"
                                                                    },
                                                                    "ZH_CN": {
                                                                        "type": "string"
                                                                    },
                                                                    "UK_UA": {
                                                                        "type": "string"
                                                                    },
                                                                    "AR_EG": {
                                                                        "type": "string"
                                                                    },
                                                                    "RU_RU": {
                                                                        "type": "string"
                                                                    },
                                                                    "FA_IR": {
                                                                        "type": "string"
                                                                    },
                                                                    "NL_NL": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "additionalProperties": false,
                                                                "description": "The lecture abstract."
                                                            },
                                                            "descriptionHtml": {
                                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                                "type": [
                                                                    "object",
                                                                    "null"
                                                                ],
                                                                "properties": {
                                                                    "DE_DE": {
                                                                        "type": "string"
                                                                    },
                                                                    "EN_US": {
                                                                        "type": "string"
                                                                    },
                                                                    "FR_FR": {
                                                                        "type": "string"
                                                                    },
                                                                    "ES_ES": {
                                                                        "type": "string"
                                                                    },
                                                                    "PT_PT": {
                                                                        "type": "string"
                                                                    },
                                                                    "ZH_CN": {
                                                                        "type": "string"
                                                                    },
                                                                    "UK_UA": {
                                                                        "type": "string"
                                                                    },
                                                                    "AR_EG": {
                                                                        "type": "string"
                                                                    },
                                                                    "RU_RU": {
                                                                        "type": "string"
                                                                    },
                                                                    "FA_IR": {
                                                                        "type": "string"
                                                                    },
                                                                    "NL_NL": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "additionalProperties": false,
                                                                "description": "HTML-rendered description (translated)."
                                                            },
                                                            "period": {
                                                                "type": [
                                                                    "object",
                                                                    "null"
                                                                ],
                                                                "description": "Time period with start and end."
                                                            },
                                                            "roomId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "The assigned room ID."
                                                            },
                                                            "isBlocker": {
                                                                "type": "boolean",
                                                                "description": "Whether the lecture blocks the room slot."
                                                            },
                                                            "format": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Lecture format (e.g. \"talk\", \"workshop\")."
                                                            },
                                                            "topics": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Topic tags."
                                                            },
                                                            "customData": {
                                                                "type": "object",
                                                                "description": "Custom field data."
                                                            },
                                                            "tags": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Organization tags."
                                                            },
                                                            "isHighlight": {
                                                                "type": "boolean",
                                                                "description": "Whether the lecture is highlighted in the schedule."
                                                            },
                                                            "languages": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Presentation languages."
                                                            },
                                                            "speakers": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "List of speaker profile IDs."
                                                            },
                                                            "speakerRoles": {
                                                                "type": "object",
                                                                "description": "Map of profileId to role."
                                                            },
                                                            "extId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Optional external identifier."
                                                            },
                                                            "vendors": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Associated vendor IDs."
                                                            },
                                                            "course": {
                                                                "type": "string",
                                                                "description": "Course or stream classification."
                                                            },
                                                            "capacity": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ],
                                                                "description": "Maximum attendance."
                                                            },
                                                            "main": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Parent event IDs."
                                                            },
                                                            "isMain": {
                                                                "type": "boolean",
                                                                "description": "Whether this is a main event."
                                                            },
                                                            "surveys": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Associated survey IDs."
                                                            }
                                                        },
                                                        "required": [
                                                            "lectureId",
                                                            "isPublished",
                                                            "isPublic",
                                                            "mtime",
                                                            "name",
                                                            "description",
                                                            "isBlocker",
                                                            "topics",
                                                            "customData",
                                                            "tags",
                                                            "isHighlight",
                                                            "languages",
                                                            "speakers",
                                                            "speakerRoles",
                                                            "vendors",
                                                            "course",
                                                            "main",
                                                            "isMain",
                                                            "surveys"
                                                        ],
                                                        "description": "The lecture data, or null if not found."
                                                    }
                                                },
                                                "required": [
                                                    "success",
                                                    "reason",
                                                    "model"
                                                ]
                                            },
                                            "description": "Map from lecture ID to its result."
                                        }
                                    },
                                    "required": [
                                        "orgId",
                                        "lectureById"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request (e.g., missing or invalid fields)"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Organization not found"
                    }
                }
            }
        },
        "/api/v1/lecture/list": {
            "post": {
                "summary": "List lectures in an organization",
                "description": "Returns lectures filtered by tags with optional pagination.",
                "parameters": [
                    {
                        "name": "X-TQ-CLIENT-ID",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The API client ID for authentication."
                    },
                    {
                        "name": "X-TQ-SECRET",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The API client secret for authentication."
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgId": {
                                        "type": "string",
                                        "description": "The unique identifier of the organization."
                                    },
                                    "tags": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Filter lectures by tags."
                                    },
                                    "limit": {
                                        "type": "integer",
                                        "description": "Maximum number of lectures to return."
                                    },
                                    "cursor": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Pagination cursor from a previous response."
                                    }
                                },
                                "required": [
                                    "orgId",
                                    "tags"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "List of lectures",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "orgId": {
                                            "type": "string",
                                            "description": "The unique identifier of the organization."
                                        },
                                        "lectures": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "lectureId": {
                                                        "type": "string",
                                                        "description": "The unique identifier of the lecture."
                                                    },
                                                    "isPublished": {
                                                        "type": "boolean",
                                                        "description": "Whether the lecture is visible to the public."
                                                    },
                                                    "isPublic": {
                                                        "type": "boolean",
                                                        "description": "Whether the lecture is open to all."
                                                    },
                                                    "mtime": {
                                                        "type": "integer",
                                                        "description": "Last modification time of the lecture (milliseconds since epoch)."
                                                    },
                                                    "name": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "type": "object",
                                                        "properties": {
                                                            "DE_DE": {
                                                                "type": "string"
                                                            },
                                                            "EN_US": {
                                                                "type": "string"
                                                            },
                                                            "FR_FR": {
                                                                "type": "string"
                                                            },
                                                            "ES_ES": {
                                                                "type": "string"
                                                            },
                                                            "PT_PT": {
                                                                "type": "string"
                                                            },
                                                            "ZH_CN": {
                                                                "type": "string"
                                                            },
                                                            "UK_UA": {
                                                                "type": "string"
                                                            },
                                                            "AR_EG": {
                                                                "type": "string"
                                                            },
                                                            "RU_RU": {
                                                                "type": "string"
                                                            },
                                                            "FA_IR": {
                                                                "type": "string"
                                                            },
                                                            "NL_NL": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "description": "The lecture title."
                                                    },
                                                    "description": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "type": "object",
                                                        "properties": {
                                                            "DE_DE": {
                                                                "type": "string"
                                                            },
                                                            "EN_US": {
                                                                "type": "string"
                                                            },
                                                            "FR_FR": {
                                                                "type": "string"
                                                            },
                                                            "ES_ES": {
                                                                "type": "string"
                                                            },
                                                            "PT_PT": {
                                                                "type": "string"
                                                            },
                                                            "ZH_CN": {
                                                                "type": "string"
                                                            },
                                                            "UK_UA": {
                                                                "type": "string"
                                                            },
                                                            "AR_EG": {
                                                                "type": "string"
                                                            },
                                                            "RU_RU": {
                                                                "type": "string"
                                                            },
                                                            "FA_IR": {
                                                                "type": "string"
                                                            },
                                                            "NL_NL": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "description": "The lecture abstract."
                                                    },
                                                    "descriptionHtml": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "properties": {
                                                            "DE_DE": {
                                                                "type": "string"
                                                            },
                                                            "EN_US": {
                                                                "type": "string"
                                                            },
                                                            "FR_FR": {
                                                                "type": "string"
                                                            },
                                                            "ES_ES": {
                                                                "type": "string"
                                                            },
                                                            "PT_PT": {
                                                                "type": "string"
                                                            },
                                                            "ZH_CN": {
                                                                "type": "string"
                                                            },
                                                            "UK_UA": {
                                                                "type": "string"
                                                            },
                                                            "AR_EG": {
                                                                "type": "string"
                                                            },
                                                            "RU_RU": {
                                                                "type": "string"
                                                            },
                                                            "FA_IR": {
                                                                "type": "string"
                                                            },
                                                            "NL_NL": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "description": "HTML-rendered description (translated)."
                                                    },
                                                    "period": {
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "description": "Time period with start and end."
                                                    },
                                                    "roomId": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "The assigned room ID."
                                                    },
                                                    "isBlocker": {
                                                        "type": "boolean",
                                                        "description": "Whether the lecture blocks the room slot."
                                                    },
                                                    "format": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "Lecture format (e.g. \"talk\", \"workshop\")."
                                                    },
                                                    "topics": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Topic tags."
                                                    },
                                                    "customData": {
                                                        "type": "object",
                                                        "description": "Custom field data."
                                                    },
                                                    "tags": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Organization tags."
                                                    },
                                                    "isHighlight": {
                                                        "type": "boolean",
                                                        "description": "Whether the lecture is highlighted in the schedule."
                                                    },
                                                    "languages": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Presentation languages."
                                                    },
                                                    "speakers": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "List of speaker profile IDs."
                                                    },
                                                    "speakerRoles": {
                                                        "type": "object",
                                                        "description": "Map of profileId to role."
                                                    },
                                                    "extId": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "Optional external identifier."
                                                    },
                                                    "vendors": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Associated vendor IDs."
                                                    },
                                                    "course": {
                                                        "type": "string",
                                                        "description": "Course or stream classification."
                                                    },
                                                    "capacity": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ],
                                                        "description": "Maximum attendance."
                                                    },
                                                    "main": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Parent event IDs."
                                                    },
                                                    "isMain": {
                                                        "type": "boolean",
                                                        "description": "Whether this is a main event."
                                                    },
                                                    "surveys": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Associated survey IDs."
                                                    }
                                                },
                                                "required": [
                                                    "lectureId",
                                                    "isPublished",
                                                    "isPublic",
                                                    "mtime",
                                                    "name",
                                                    "description",
                                                    "isBlocker",
                                                    "topics",
                                                    "customData",
                                                    "tags",
                                                    "isHighlight",
                                                    "languages",
                                                    "speakers",
                                                    "speakerRoles",
                                                    "vendors",
                                                    "course",
                                                    "main",
                                                    "isMain",
                                                    "surveys"
                                                ]
                                            },
                                            "description": "Lectures in the organization matching the filter."
                                        },
                                        "cursor": {
                                            "type": [
                                                "string",
                                                "null"
                                            ],
                                            "description": "Pagination cursor for the next page."
                                        },
                                        "more": {
                                            "type": "boolean",
                                            "description": "Whether there are more lectures to fetch."
                                        }
                                    },
                                    "required": [
                                        "orgId",
                                        "lectures",
                                        "more"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request (e.g., missing or invalid fields)"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Organization not found"
                    }
                }
            }
        }
    },
    "openapi": "3.0.3"
}