{
    "info": {
        "description": "External API for reading speakers.",
        "title": "Talque Speaker API",
        "version": "1.0.0"
    },
    "paths": {
        "/api/v1/speaker/read": {
            "post": {
                "summary": "Read speakers by ID",
                "description": "Looks up one or more speakers by their profile 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."
                                    },
                                    "speakerIdList": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "List of speaker profile IDs to look up."
                                    }
                                },
                                "required": [
                                    "orgId",
                                    "speakerIdList"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Lookup completed (individual speakers may still be not found)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "orgId": {
                                            "type": "string",
                                            "description": "The unique identifier of the organization."
                                        },
                                        "speakerById": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "success": {
                                                        "type": "boolean",
                                                        "description": "Whether the speaker was found."
                                                    },
                                                    "reason": {
                                                        "type": "string",
                                                        "description": "Machine-readable result code."
                                                    },
                                                    "model": {
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "properties": {
                                                            "profileId": {
                                                                "type": "string",
                                                                "description": "Unique profile identifier."
                                                            },
                                                            "isPublished": {
                                                                "type": "boolean",
                                                                "description": "Whether the profile is visible to the public."
                                                            },
                                                            "isPhony": {
                                                                "type": "boolean",
                                                                "description": "Whether the profile is a placeholder."
                                                            },
                                                            "firstName": {
                                                                "type": "string",
                                                                "description": "First name."
                                                            },
                                                            "lastName": {
                                                                "type": "string",
                                                                "description": "Last name."
                                                            },
                                                            "jobTitle": {
                                                                "$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": "Job title."
                                                            },
                                                            "companyName": {
                                                                "$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": "Company name."
                                                            },
                                                            "location": {
                                                                "$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": "Location description."
                                                            },
                                                            "country": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "ISO country code."
                                                            },
                                                            "photo": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "URL of profile photo."
                                                            },
                                                            "photoMedium": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "URL of medium-sized profile photo."
                                                            },
                                                            "isRegistered": {
                                                                "type": "boolean",
                                                                "description": "Whether the profile has a registered account."
                                                            },
                                                            "badges": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Badge IDs."
                                                            },
                                                            "category": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Primary category."
                                                            },
                                                            "categories": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "All categories."
                                                            },
                                                            "topics": {
                                                                "type": "array",
                                                                "description": "Topic tags."
                                                            },
                                                            "keywords": {
                                                                "type": "array",
                                                                "description": "Keyword tags."
                                                            },
                                                            "seeking": {
                                                                "type": "array",
                                                                "description": "Seeking tags."
                                                            },
                                                            "mtime": {
                                                                "type": "integer",
                                                                "description": "Last modification time (milliseconds since epoch)."
                                                            },
                                                            "isSpeaker": {
                                                                "type": "boolean",
                                                                "description": "Whether the profile is a speaker."
                                                            },
                                                            "isParticipant": {
                                                                "type": "boolean",
                                                                "description": "Whether the profile is a participant."
                                                            },
                                                            "isLocal": {
                                                                "type": "boolean",
                                                                "description": "Whether this is a local profile."
                                                            },
                                                            "bio": {
                                                                "$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": "Biography."
                                                            },
                                                            "bioIsMarkdown": {
                                                                "type": "boolean",
                                                                "description": "Whether the bio uses markdown."
                                                            },
                                                            "bioHtml": {
                                                                "type": [
                                                                    "object",
                                                                    "null"
                                                                ],
                                                                "description": "Rendered HTML biography."
                                                            },
                                                            "customData": {
                                                                "type": "object",
                                                                "description": "Custom field data."
                                                            },
                                                            "extId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "External identifier."
                                                            },
                                                            "social": {
                                                                "type": "array",
                                                                "description": "Social links."
                                                            },
                                                            "manualOrder": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ],
                                                                "description": "Optional sort order for speakers. Lower values appear first; null means no preference (sorts last)."
                                                            }
                                                        },
                                                        "required": [
                                                            "profileId",
                                                            "isPublished",
                                                            "isPhony",
                                                            "firstName",
                                                            "lastName",
                                                            "jobTitle",
                                                            "companyName",
                                                            "location",
                                                            "isRegistered",
                                                            "badges",
                                                            "categories",
                                                            "topics",
                                                            "keywords",
                                                            "seeking",
                                                            "mtime",
                                                            "isSpeaker",
                                                            "isParticipant",
                                                            "isLocal",
                                                            "bio",
                                                            "bioIsMarkdown",
                                                            "customData",
                                                            "social"
                                                        ],
                                                        "description": "The speaker data, or null if not found."
                                                    }
                                                },
                                                "required": [
                                                    "success",
                                                    "reason",
                                                    "model"
                                                ]
                                            },
                                            "description": "Map from speaker profile ID to its result."
                                        }
                                    },
                                    "required": [
                                        "orgId",
                                        "speakerById"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request (e.g., missing or invalid fields)"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Organization not found"
                    }
                }
            }
        },
        "/api/v1/speaker/list": {
            "post": {
                "summary": "List speakers in an organization",
                "description": "Returns speakers 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 speakers by tags. An empty list returns all speakers."
                                    },
                                    "limit": {
                                        "type": "integer",
                                        "description": "Maximum number of speakers to return."
                                    },
                                    "cursor": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Pagination cursor from a previous response."
                                    }
                                },
                                "required": [
                                    "orgId",
                                    "tags"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "List of speakers",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "orgId": {
                                            "type": "string",
                                            "description": "The unique identifier of the organization."
                                        },
                                        "speakers": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "profileId": {
                                                        "type": "string",
                                                        "description": "Unique profile identifier."
                                                    },
                                                    "isPublished": {
                                                        "type": "boolean",
                                                        "description": "Whether the profile is visible to the public."
                                                    },
                                                    "isPhony": {
                                                        "type": "boolean",
                                                        "description": "Whether the profile is a placeholder."
                                                    },
                                                    "firstName": {
                                                        "type": "string",
                                                        "description": "First name."
                                                    },
                                                    "lastName": {
                                                        "type": "string",
                                                        "description": "Last name."
                                                    },
                                                    "jobTitle": {
                                                        "$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": "Job title."
                                                    },
                                                    "companyName": {
                                                        "$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": "Company name."
                                                    },
                                                    "location": {
                                                        "$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": "Location description."
                                                    },
                                                    "country": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "ISO country code."
                                                    },
                                                    "photo": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "URL of profile photo."
                                                    },
                                                    "photoMedium": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "URL of medium-sized profile photo."
                                                    },
                                                    "isRegistered": {
                                                        "type": "boolean",
                                                        "description": "Whether the profile has a registered account."
                                                    },
                                                    "badges": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Badge IDs."
                                                    },
                                                    "category": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "Primary category."
                                                    },
                                                    "categories": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "All categories."
                                                    },
                                                    "topics": {
                                                        "type": "array",
                                                        "description": "Topic tags."
                                                    },
                                                    "keywords": {
                                                        "type": "array",
                                                        "description": "Keyword tags."
                                                    },
                                                    "seeking": {
                                                        "type": "array",
                                                        "description": "Seeking tags."
                                                    },
                                                    "mtime": {
                                                        "type": "integer",
                                                        "description": "Last modification time (milliseconds since epoch)."
                                                    },
                                                    "isSpeaker": {
                                                        "type": "boolean",
                                                        "description": "Whether the profile is a speaker."
                                                    },
                                                    "isParticipant": {
                                                        "type": "boolean",
                                                        "description": "Whether the profile is a participant."
                                                    },
                                                    "isLocal": {
                                                        "type": "boolean",
                                                        "description": "Whether this is a local profile."
                                                    },
                                                    "bio": {
                                                        "$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": "Biography."
                                                    },
                                                    "bioIsMarkdown": {
                                                        "type": "boolean",
                                                        "description": "Whether the bio uses markdown."
                                                    },
                                                    "bioHtml": {
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "description": "Rendered HTML biography."
                                                    },
                                                    "customData": {
                                                        "type": "object",
                                                        "description": "Custom field data."
                                                    },
                                                    "extId": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "External identifier."
                                                    },
                                                    "social": {
                                                        "type": "array",
                                                        "description": "Social links."
                                                    },
                                                    "manualOrder": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ],
                                                        "description": "Optional sort order for speakers. Lower values appear first; null means no preference (sorts last)."
                                                    }
                                                },
                                                "required": [
                                                    "profileId",
                                                    "isPublished",
                                                    "isPhony",
                                                    "firstName",
                                                    "lastName",
                                                    "jobTitle",
                                                    "companyName",
                                                    "location",
                                                    "isRegistered",
                                                    "badges",
                                                    "categories",
                                                    "topics",
                                                    "keywords",
                                                    "seeking",
                                                    "mtime",
                                                    "isSpeaker",
                                                    "isParticipant",
                                                    "isLocal",
                                                    "bio",
                                                    "bioIsMarkdown",
                                                    "customData",
                                                    "social"
                                                ]
                                            },
                                            "description": "Speakers 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 speakers to fetch."
                                        }
                                    },
                                    "required": [
                                        "orgId",
                                        "speakers",
                                        "more"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request (e.g., missing or invalid fields)"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Organization not found"
                    }
                }
            }
        }
    },
    "openapi": "3.0.3"
}