{"openapi":"3.1.0","info":{"title":"Tito Event Config (BYOK) API","version":"0.1.0","description":"Tito Event Config (BYOK) lets an AI assistant read your own Tito Event Config data through the Tito Event Config API with a key you supply (Tito Admin API token (secret, live or test mode)). Read-only: 7 tools (list_archived_events, list_discount_codes, get_discount_code, list_rsvp_lists, get_rsvp_list, list_webhook_endpoints, get_webhook_endpoint). The BYOK key travels with each request, is used...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-tito-event-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-tito-event-config/docs"},"termsOfService":"https://connectorbay.com/byok-tito-event-config/terms"},"servers":[{"url":"https://byok-tito-event-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-tito-event-config/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_archived_events":{"post":{"operationId":"list_archived_events","summary":"List an account's archived Tito events with dates, location, currency, live and test-mode flags and public URL. Use for ","description":"List an account's archived Tito events with dates, location, currency, live and test-mode flags and public URL. Use for \"Which archived events does biscuit-box have on Tito\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_slug":{"description":"Tito account slug (the first part of your event URLs, for example 'biscuit-box').","maxLength":200,"title":"Account Slug","type":"string"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Records per page (1 to 1000; the API default is 100).","title":"Page Size"}},"required":["account_slug"],"title":"list_archived_eventsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_discount_codes":{"post":{"operationId":"list_discount_codes","summary":"List an event's discount codes with type, value, quantity limit and use count, validity window and per-release quantity ","description":"List an event's discount codes with type, value, quantity limit and use count, validity window and per-release quantity rules. Use for \"Which discount codes exist for Tito event 2026 and how often were they used\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_slug":{"description":"Tito account slug (the first part of your event URLs, for example 'biscuit-box').","maxLength":200,"title":"Account Slug","type":"string"},"event_slug":{"description":"Event slug within the account (for example '2026').","maxLength":200,"title":"Event Slug","type":"string"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Records per page (1 to 1000; the API default is 100).","title":"Page Size"}},"required":["account_slug","event_slug"],"title":"list_discount_codesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_discount_code":{"post":{"operationId":"get_discount_code","summary":"Get one discount code by id: code, type, value, quantity, use count, validity window and the releases it applies to. Use","description":"Get one discount code by id: code, type, value, quantity, use count, validity window and the releases it applies to. Use for \"Show Tito discount code 5319076 of event 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_slug":{"description":"Tito account slug (the first part of your event URLs, for example 'biscuit-box').","maxLength":200,"title":"Account Slug","type":"string"},"event_slug":{"description":"Event slug within the account (for example '2026').","maxLength":200,"title":"Event Slug","type":"string"},"discount_code_id":{"description":"Numeric discount code id from list_discount_codes.","title":"Discount Code Id","type":"integer"}},"required":["account_slug","event_slug","discount_code_id"],"title":"get_discount_codeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_rsvp_lists":{"post":{"operationId":"list_rsvp_lists","summary":"List an event's RSVP lists (invitation-only registration lists) with slug, title and dates. Use for \"Which RSVP lists do","description":"List an event's RSVP lists (invitation-only registration lists) with slug, title and dates. Use for \"Which RSVP lists does Tito event 2026 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_slug":{"description":"Tito account slug (the first part of your event URLs, for example 'biscuit-box').","maxLength":200,"title":"Account Slug","type":"string"},"event_slug":{"description":"Event slug within the account (for example '2026').","maxLength":200,"title":"Event Slug","type":"string"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Records per page (1 to 1000; the API default is 100).","title":"Page Size"}},"required":["account_slug","event_slug"],"title":"list_rsvp_listsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_rsvp_list":{"post":{"operationId":"get_rsvp_list","summary":"Get one RSVP list by slug with its title and dates. Use for \"Show the Tito RSVP list Introduction of event 2026\".","description":"Get one RSVP list by slug with its title and dates. Use for \"Show the Tito RSVP list Introduction of event 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_slug":{"description":"Tito account slug (the first part of your event URLs, for example 'biscuit-box').","maxLength":200,"title":"Account Slug","type":"string"},"event_slug":{"description":"Event slug within the account (for example '2026').","maxLength":200,"title":"Event Slug","type":"string"},"rsvp_list_slug":{"description":"RSVP list slug from list_rsvp_lists.","maxLength":100,"title":"Rsvp List Slug","type":"string"}},"required":["account_slug","event_slug","rsvp_list_slug"],"title":"get_rsvp_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_webhook_endpoints":{"post":{"operationId":"list_webhook_endpoints","summary":"List an event's webhook endpoints with the triggers each subscribes to and the deprecated flag. The target URL and custo","description":"List an event's webhook endpoints with the triggers each subscribes to and the deprecated flag. The target URL and custom data are not returned. Use for \"Which webhook triggers are configured for Tito event 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_slug":{"description":"Tito account slug (the first part of your event URLs, for example 'biscuit-box').","maxLength":200,"title":"Account Slug","type":"string"},"event_slug":{"description":"Event slug within the account (for example '2026').","maxLength":200,"title":"Event Slug","type":"string"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Records per page (1 to 1000; the API default is 100).","title":"Page Size"}},"required":["account_slug","event_slug"],"title":"list_webhook_endpointsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_webhook_endpoint":{"post":{"operationId":"get_webhook_endpoint","summary":"Get one webhook endpoint by id: subscribed triggers and deprecated flag (target URL not returned). Use for \"Show Tito we","description":"Get one webhook endpoint by id: subscribed triggers and deprecated flag (target URL not returned). Use for \"Show Tito webhook endpoint 1 of event 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_slug":{"description":"Tito account slug (the first part of your event URLs, for example 'biscuit-box').","maxLength":200,"title":"Account Slug","type":"string"},"event_slug":{"description":"Event slug within the account (for example '2026').","maxLength":200,"title":"Event Slug","type":"string"},"webhook_endpoint_id":{"description":"Numeric webhook endpoint id from list_webhook_endpoints.","title":"Webhook Endpoint Id","type":"integer"}},"required":["account_slug","event_slug","webhook_endpoint_id"],"title":"get_webhook_endpointArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}