{"openapi":"3.1.0","info":{"title":"pretix Organizer Config (BYOK) API","version":"0.1.0","description":"pretix Organizer Config (BYOK) lets an AI assistant read your own pretix Organizer Config data through the pretix Organizer Config API with a key you supply (pretix team API token). Read-only: 7 tools (get_organizer, list_sales_channels, list_event_meta_properties, list_membership_types, list_webhooks, list_seating_plans, list_teams). The BYOK key travels with each request, is used for that one...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-pretix-organizer-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-pretix-organizer-config/docs"},"termsOfService":"https://connectorbay.com/byok-pretix-organizer-config/terms"},"servers":[{"url":"https://byok-pretix-organizer-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-pretix-organizer-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/get_organizer":{"post":{"operationId":"get_organizer","summary":"Get one organizer: name, slug, public shop URL and the list of enabled plugin package names. Use for \"Which plugins are ","description":"Get one organizer: name, slug, public shop URL and the list of enabled plugin package names. Use for \"Which plugins are enabled for the pretix organizer bigevents\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organizer":{"description":"Organizer slug (the short name in the pretix URL), for example 'bigevents'.","maxLength":200,"title":"Organizer","type":"string"}},"required":["organizer"],"title":"get_organizerArguments","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_sales_channels":{"post":{"operationId":"list_sales_channels","summary":"List an organizer's sales channels (web shop, API channels and others) with identifier, label, type and position. Use fo","description":"List an organizer's sales channels (web shop, API channels and others) with identifier, label, type and position. Use for \"Which sales channels does the pretix organizer bigevents have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organizer":{"description":"Organizer slug (the short name in the pretix URL), for example 'bigevents'.","maxLength":200,"title":"Organizer","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1. Each page holds up to 50 results; the answer includes the total count.","title":"Page"}},"required":["organizer"],"title":"list_sales_channelsArguments","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_event_meta_properties":{"post":{"operationId":"list_event_meta_properties","summary":"List the organizer's event meta properties (custom fields on events) with default, required and public-filter flags and ","description":"List the organizer's event meta properties (custom fields on events) with default, required and public-filter flags and permitted choices. Use for \"Which custom event meta properties does the pretix organizer bigevents define\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organizer":{"description":"Organizer slug (the short name in the pretix URL), for example 'bigevents'.","maxLength":200,"title":"Organizer","type":"string"}},"required":["organizer"],"title":"list_event_meta_propertiesArguments","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_membership_types":{"post":{"operationId":"list_membership_types","summary":"List the membership types of an organizer with name, transferability, parallel-use flag and maximum number of uses. Use ","description":"List the membership types of an organizer with name, transferability, parallel-use flag and maximum number of uses. Use for \"What membership types does the pretix organizer bigevents offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organizer":{"description":"Organizer slug (the short name in the pretix URL), for example 'bigevents'.","maxLength":200,"title":"Organizer","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1. Each page holds up to 50 results; the answer includes the total count.","title":"Page"}},"required":["organizer"],"title":"list_membership_typesArguments","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_webhooks":{"post":{"operationId":"list_webhooks","summary":"List the webhooks defined for an organizer: enabled flag, which events and action types they watch and the internal comm","description":"List the webhooks defined for an organizer: enabled flag, which events and action types they watch and the internal comment. The target URL is not returned by this tool. Use for \"Which pretix webhooks are enabled for the organizer bigevents\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organizer":{"description":"Organizer slug (the short name in the pretix URL), for example 'bigevents'.","maxLength":200,"title":"Organizer","type":"string"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only enabled webhooks, false for only disabled ones.","title":"Enabled"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1. Each page holds up to 50 results; the answer includes the total count.","title":"Page"}},"required":["organizer"],"title":"list_webhooksArguments","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_seating_plans":{"post":{"operationId":"list_seating_plans","summary":"List an organizer's seating plans by id and name (the plan layout itself is not returned). Use for \"Which seating plans ","description":"List an organizer's seating plans by id and name (the plan layout itself is not returned). Use for \"Which seating plans does the pretix organizer bigevents have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organizer":{"description":"Organizer slug (the short name in the pretix URL), for example 'bigevents'.","maxLength":200,"title":"Organizer","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1. Each page holds up to 50 results; the answer includes the total count.","title":"Page"}},"required":["organizer"],"title":"list_seating_plansArguments","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_teams":{"post":{"operationId":"list_teams","summary":"List an organizer's teams with name, event access scope, two-factor requirement and the organizer and event permissions ","description":"List an organizer's teams with name, event access scope, two-factor requirement and the organizer and event permissions each team grants (members and tokens are not returned). Use for \"What teams and permissions does the pretix organizer bigevents have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organizer":{"description":"Organizer slug (the short name in the pretix URL), for example 'bigevents'.","maxLength":200,"title":"Organizer","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1. Each page holds up to 50 results; the answer includes the total count.","title":"Page"}},"required":["organizer"],"title":"list_teamsArguments","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}}}}