{
    "info": {
        "description": "\n            External API that allows you to read and list tickets\n            ",
        "title": "Talque Ticket Json API",
        "version": "1.0.0"
    },
    "paths": {
        "/api/v1/ticket/read": {
            "post": {
                "summary": "Read tickets by ID",
                "description": "Looks up one or more tickets by their provider-specific IDs.",
                "parameters": [
                    {
                        "name": "X-TQ-CLIENT-ID",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The API client ID for authentication."
                    },
                    {
                        "name": "X-TQ-SECRET",
                        "in": "header",
                        "required": true,
                        "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."
                                    },
                                    "provider": {
                                        "type": "string",
                                        "description": "The ticket provider."
                                    },
                                    "ticketIdList": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "List of provider-specific ticket IDs to look up."
                                    }
                                },
                                "required": [
                                    "orgId",
                                    "provider",
                                    "ticketIdList"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Lookup completed (individual tickets may still be not found)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "orgId": {
                                            "type": "string",
                                            "description": "The unique identifier of the organization."
                                        },
                                        "provider": {
                                            "type": "string",
                                            "description": "The ticket provider."
                                        },
                                        "ticketById": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "success": {
                                                        "type": "boolean",
                                                        "description": "Whether the ticket was found."
                                                    },
                                                    "reason": {
                                                        "type": "string",
                                                        "description": "Machine-readable result code."
                                                    },
                                                    "model": {
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "properties": {
                                                            "orgTicketId": {
                                                                "type": "string",
                                                                "description": "The unique internal ID of the ticket."
                                                            },
                                                            "ticketId": {
                                                                "type": "string",
                                                                "description": "The provider-specific ticket ID."
                                                            },
                                                            "ctime": {
                                                                "type": "integer",
                                                                "description": "The creation time of the ticket (milliseconds since epoch)."
                                                            },
                                                            "mtime": {
                                                                "type": "integer",
                                                                "description": "The last modification time of the ticket (milliseconds since epoch)."
                                                            },
                                                            "provider": {
                                                                "type": "string",
                                                                "description": "The ticket provider."
                                                            },
                                                            "isTest": {
                                                                "type": "boolean",
                                                                "description": "Whether this ticket is from a test purchase order."
                                                            },
                                                            "tickets": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Deprecated ticket categories carried by this ticket."
                                                            },
                                                            "categories": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Participant categories assigned to this ticket."
                                                            },
                                                            "category": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "First category of the ticket (deprecated, for backwards compatibility)."
                                                            },
                                                            "course": {
                                                                "type": "string",
                                                                "description": "Course type of the ticket (e.g. on-site, virtual, hybrid)."
                                                            },
                                                            "isVip": {
                                                                "type": "boolean",
                                                                "description": "Whether the ticket confers VIP status."
                                                            },
                                                            "eventIds": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Event access IDs carried by this ticket."
                                                            },
                                                            "extEventIds": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "External event IDs carried by this ticket."
                                                            },
                                                            "vendorIds": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "Vendor staff membership IDs granted by this ticket."
                                                            },
                                                            "extVendorIds": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "description": "External vendor IDs granted by this ticket."
                                                            },
                                                            "extImageUrl": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Optional image URL for the ticket."
                                                            },
                                                            "checkIns": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "integer"
                                                                },
                                                                "description": "Timestamps of on-site check-ins with this ticket (milliseconds since epoch)."
                                                            },
                                                            "isCheckInReset": {
                                                                "type": "boolean",
                                                                "description": "Whether the check-in has been reset."
                                                            },
                                                            "mainId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Internal ID of the ticket to which this ticket is an add-on."
                                                            },
                                                            "holder": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "email": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "E-mail address of the ticket holder."
                                                                    },
                                                                    "firstName": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "First name of the ticket holder."
                                                                    },
                                                                    "lastName": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Last name of the ticket holder."
                                                                    },
                                                                    "companyName": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Company name of the ticket holder."
                                                                    },
                                                                    "jobTitle": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Job title of the ticket holder."
                                                                    },
                                                                    "extUserId": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "External ticket provider ID for the ticket holder, if any."
                                                                    },
                                                                    "locale": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Locale of the ticket holder, if known."
                                                                    }
                                                                },
                                                                "description": "Information about the ticket holder."
                                                            },
                                                            "purchaser": {
                                                                "type": [
                                                                    "object",
                                                                    "null"
                                                                ],
                                                                "properties": {
                                                                    "email": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "E-mail address of the ticket holder."
                                                                    },
                                                                    "firstName": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "First name of the ticket holder."
                                                                    },
                                                                    "lastName": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Last name of the ticket holder."
                                                                    },
                                                                    "companyName": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Company name of the ticket holder."
                                                                    },
                                                                    "jobTitle": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Job title of the ticket holder."
                                                                    },
                                                                    "extUserId": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "External ticket provider ID for the ticket holder, if any."
                                                                    },
                                                                    "locale": {
                                                                        "type": [
                                                                            "string",
                                                                            "null"
                                                                        ],
                                                                        "description": "Locale of the ticket holder, if known."
                                                                    }
                                                                },
                                                                "description": "Information about the ticket purchaser, if distinct from the holder."
                                                            },
                                                            "purchaseOrderId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Internal purchase order ID this ticket is associated with."
                                                            },
                                                            "extPurchaseOrderId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "External purchase order ID this ticket was part of."
                                                            },
                                                            "extSurveyId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Optional identifier for enforcing survey vote uniqueness."
                                                            },
                                                            "extData": {
                                                                "description": "Additional data from the ticket provider."
                                                            }
                                                        },
                                                        "required": [
                                                            "orgTicketId",
                                                            "ticketId",
                                                            "ctime",
                                                            "mtime",
                                                            "provider",
                                                            "isTest",
                                                            "tickets",
                                                            "categories",
                                                            "course",
                                                            "isVip",
                                                            "eventIds",
                                                            "extEventIds",
                                                            "vendorIds",
                                                            "extVendorIds",
                                                            "checkIns",
                                                            "isCheckInReset",
                                                            "holder"
                                                        ],
                                                        "description": "The ticket data, or null if not found."
                                                    }
                                                },
                                                "required": [
                                                    "success",
                                                    "reason",
                                                    "model"
                                                ]
                                            },
                                            "description": "Map from provider-specific ticket ID to its result."
                                        }
                                    },
                                    "required": [
                                        "orgId",
                                        "provider",
                                        "ticketById"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request (e.g., missing or invalid fields)"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Organization not found"
                    }
                }
            }
        },
        "/api/v1/ticket/list": {
            "post": {
                "summary": "List tickets in an organization",
                "description": "Returns a paginated list of tickets for the given organization.",
                "parameters": [
                    {
                        "name": "X-TQ-CLIENT-ID",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "The API client ID for authentication."
                    },
                    {
                        "name": "X-TQ-SECRET",
                        "in": "header",
                        "required": true,
                        "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."
                                    },
                                    "profileId": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Optionally filter tickets held by the given profile."
                                    },
                                    "limit": {
                                        "type": "integer",
                                        "description": "Maximum number of tickets to return (default: 100)."
                                    },
                                    "cursor": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "Pagination cursor from a previous response."
                                    }
                                },
                                "required": [
                                    "orgId"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Tickets successfully retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "orgId": {
                                            "type": "string",
                                            "description": "The unique identifier of the organization."
                                        },
                                        "tickets": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "orgTicketId": {
                                                        "type": "string",
                                                        "description": "The unique internal ID of the ticket."
                                                    },
                                                    "ticketId": {
                                                        "type": "string",
                                                        "description": "The provider-specific ticket ID."
                                                    },
                                                    "ctime": {
                                                        "type": "integer",
                                                        "description": "The creation time of the ticket (milliseconds since epoch)."
                                                    },
                                                    "mtime": {
                                                        "type": "integer",
                                                        "description": "The last modification time of the ticket (milliseconds since epoch)."
                                                    },
                                                    "provider": {
                                                        "type": "string",
                                                        "description": "The ticket provider."
                                                    },
                                                    "isTest": {
                                                        "type": "boolean",
                                                        "description": "Whether this ticket is from a test purchase order."
                                                    },
                                                    "tickets": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Deprecated ticket categories carried by this ticket."
                                                    },
                                                    "categories": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Participant categories assigned to this ticket."
                                                    },
                                                    "category": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "First category of the ticket (deprecated, for backwards compatibility)."
                                                    },
                                                    "course": {
                                                        "type": "string",
                                                        "description": "Course type of the ticket (e.g. on-site, virtual, hybrid)."
                                                    },
                                                    "isVip": {
                                                        "type": "boolean",
                                                        "description": "Whether the ticket confers VIP status."
                                                    },
                                                    "eventIds": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Event access IDs carried by this ticket."
                                                    },
                                                    "extEventIds": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "External event IDs carried by this ticket."
                                                    },
                                                    "vendorIds": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "Vendor staff membership IDs granted by this ticket."
                                                    },
                                                    "extVendorIds": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        },
                                                        "description": "External vendor IDs granted by this ticket."
                                                    },
                                                    "extImageUrl": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "Optional image URL for the ticket."
                                                    },
                                                    "checkIns": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "integer"
                                                        },
                                                        "description": "Timestamps of on-site check-ins with this ticket (milliseconds since epoch)."
                                                    },
                                                    "isCheckInReset": {
                                                        "type": "boolean",
                                                        "description": "Whether the check-in has been reset."
                                                    },
                                                    "mainId": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "Internal ID of the ticket to which this ticket is an add-on."
                                                    },
                                                    "holder": {
                                                        "type": "object",
                                                        "properties": {
                                                            "email": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "E-mail address of the ticket holder."
                                                            },
                                                            "firstName": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "First name of the ticket holder."
                                                            },
                                                            "lastName": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Last name of the ticket holder."
                                                            },
                                                            "companyName": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Company name of the ticket holder."
                                                            },
                                                            "jobTitle": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Job title of the ticket holder."
                                                            },
                                                            "extUserId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "External ticket provider ID for the ticket holder, if any."
                                                            },
                                                            "locale": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Locale of the ticket holder, if known."
                                                            }
                                                        },
                                                        "description": "Information about the ticket holder."
                                                    },
                                                    "purchaser": {
                                                        "type": [
                                                            "object",
                                                            "null"
                                                        ],
                                                        "properties": {
                                                            "email": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "E-mail address of the ticket holder."
                                                            },
                                                            "firstName": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "First name of the ticket holder."
                                                            },
                                                            "lastName": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Last name of the ticket holder."
                                                            },
                                                            "companyName": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Company name of the ticket holder."
                                                            },
                                                            "jobTitle": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Job title of the ticket holder."
                                                            },
                                                            "extUserId": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "External ticket provider ID for the ticket holder, if any."
                                                            },
                                                            "locale": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "description": "Locale of the ticket holder, if known."
                                                            }
                                                        },
                                                        "description": "Information about the ticket purchaser, if distinct from the holder."
                                                    },
                                                    "purchaseOrderId": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "Internal purchase order ID this ticket is associated with."
                                                    },
                                                    "extPurchaseOrderId": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "External purchase order ID this ticket was part of."
                                                    },
                                                    "extSurveyId": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ],
                                                        "description": "Optional identifier for enforcing survey vote uniqueness."
                                                    },
                                                    "extData": {
                                                        "description": "Additional data from the ticket provider."
                                                    }
                                                },
                                                "required": [
                                                    "orgTicketId",
                                                    "ticketId",
                                                    "ctime",
                                                    "mtime",
                                                    "provider",
                                                    "isTest",
                                                    "tickets",
                                                    "categories",
                                                    "course",
                                                    "isVip",
                                                    "eventIds",
                                                    "extEventIds",
                                                    "vendorIds",
                                                    "extVendorIds",
                                                    "checkIns",
                                                    "isCheckInReset",
                                                    "holder"
                                                ]
                                            },
                                            "description": "The list of tickets."
                                        },
                                        "cursor": {
                                            "type": [
                                                "string",
                                                "null"
                                            ],
                                            "description": "Pagination cursor for the next page, or null if there are no more results."
                                        },
                                        "more": {
                                            "type": "boolean",
                                            "description": "Whether there are more tickets beyond this page."
                                        }
                                    },
                                    "required": [
                                        "orgId",
                                        "tickets",
                                        "cursor",
                                        "more"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request (e.g., missing or invalid orgId)"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Organization not found"
                    }
                }
            }
        }
    },
    "openapi": "3.0.3"
}