{"openapi":"3.1.0","info":{"title":"Mailchimp Audiences (BYOK) API","version":"0.1.0","description":"Mailchimp Audiences (BYOK) lets an AI assistant read your own Mailchimp Audiences data through the Mailchimp Audiences API with a key you supply (API key (its suffix after the hyphen is your server prefix)). Read-only: 9 tools (get_audience, list_growth_history, get_growth_month, list_interest_categories, list_category_interests, list_merge_fields, list_audience_webhooks, list_top_email_clients,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-mailchimp-audiences.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-mailchimp-audiences/docs"},"termsOfService":"https://connectorbay.com/byok-mailchimp-audiences/terms"},"servers":[{"url":"https://byok-mailchimp-audiences.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-mailchimp-audiences/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_audience":{"post":{"operationId":"get_audience","summary":"Get one audience: name, creation date, double opt-in and marketing permission settings, rating, default campaign sender ","description":"Get one audience: name, creation date, double opt-in and marketing permission settings, rating, default campaign sender name, subject and language, subscribe link and statistics (member, unsubscribe and cleaned counts, average rates, last subscribe and unsubscribe dates). Contact address and notification emails are not returned. Use for \"How many active members does my Mailchimp audience 57afe96172 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"}},"required":["dc","list_id"],"title":"get_audienceArguments","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_growth_history":{"post":{"operationId":"list_growth_history","summary":"List a month-by-month summary of an audience's growth: subscribed total, new unsubscribes, cleaned, pending, deleted and","description":"List a month-by-month summary of an audience's growth: subscribed total, new unsubscribes, cleaned, pending, deleted and reconfirmed members. Use for \"How did my Mailchimp audience grow month by month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"},"count":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 1000; the connector shows at most 50 per answer).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging. Use the previous offset plus count for the next page.","title":"Offset"},"sort_dir":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction by month: ASC or DESC.","title":"Sort Dir"}},"required":["dc","list_id"],"title":"list_growth_historyArguments","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_growth_month":{"post":{"operationId":"get_growth_month","summary":"Get an audience's growth numbers for one month (format YYYY-MM). Use for \"How many people unsubscribed from my Mailchimp","description":"Get an audience's growth numbers for one month (format YYYY-MM). Use for \"How many people unsubscribed from my Mailchimp audience in September 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"},"month":{"description":"The month as YYYY-MM, for example '2026-09'.","maxLength":7,"title":"Month","type":"string"}},"required":["dc","list_id","month"],"title":"get_growth_monthArguments","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_interest_categories":{"post":{"operationId":"list_interest_categories","summary":"List an audience's interest categories (group titles on signup forms) with type (checkboxes, dropdown, radio, hidden) an","description":"List an audience's interest categories (group titles on signup forms) with type (checkboxes, dropdown, radio, hidden) and display order. Use for \"Which interest groups does my Mailchimp audience offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"},"count":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 1000; the connector shows at most 50 per answer).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging. Use the previous offset plus count for the next page.","title":"Offset"},"type":{"anyOf":[{"enum":["checkboxes","dropdown","radio","hidden"],"type":"string"},{"type":"null"}],"default":null,"description":"Only categories of this type: checkboxes, dropdown, radio or hidden.","title":"Type"},"sort_field":{"anyOf":[{"enum":["name","display_order"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by name or display_order.","title":"Sort Field"},"sort_dir":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: ASC or DESC.","title":"Sort Dir"}},"required":["dc","list_id"],"title":"list_interest_categoriesArguments","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_category_interests":{"post":{"operationId":"list_category_interests","summary":"List the interests (group names) in one interest category with display order and subscriber count. Use for \"Which intere","description":"List the interests (group names) in one interest category with display order and subscriber count. Use for \"Which interests are in the Mailchimp interest category 9143cf3bd1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"},"interest_category_id":{"description":"The interest category id from list_interest_categories.","maxLength":40,"title":"Interest Category Id","type":"string"},"count":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 1000; the connector shows at most 50 per answer).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging. Use the previous offset plus count for the next page.","title":"Offset"}},"required":["dc","list_id","interest_category_id"],"title":"list_category_interestsArguments","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_merge_fields":{"post":{"operationId":"list_merge_fields","summary":"List an audience's merge fields (custom contact fields) with tag, type, required and public flags, default value and dis","description":"List an audience's merge fields (custom contact fields) with tag, type, required and public flags, default value and display order, plus the plan's merge field limit. Use for \"Which custom fields does my Mailchimp audience have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"},"count":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 1000; the connector shows at most 50 per answer).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging. Use the previous offset plus count for the next page.","title":"Offset"},"type":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only merge fields of this type, for example text, number, address, date or dropdown.","title":"Type"},"required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only required fields, false for only optional ones.","title":"Required"}},"required":["dc","list_id"],"title":"list_merge_fieldsArguments","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_audience_webhooks":{"post":{"operationId":"list_audience_webhooks","summary":"List an audience's webhooks with the events (subscribe, unsubscribe, profile, cleaned, campaign) and sources (user, admi","description":"List an audience's webhooks with the events (subscribe, unsubscribe, profile, cleaned, campaign) and sources (user, admin, api) that trigger each, and whether signing is on. The webhook URL is not returned. Use for \"Which webhooks are set up on my Mailchimp audience\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"}},"required":["dc","list_id"],"title":"list_audience_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_top_email_clients":{"post":{"operationId":"list_top_email_clients","summary":"List the email clients (user agents) most used by an audience's subscribers with member counts. Use for \"Which email cli","description":"List the email clients (user agents) most used by an audience's subscribers with member counts. Use for \"Which email clients do my Mailchimp subscribers use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"}},"required":["dc","list_id"],"title":"list_top_email_clientsArguments","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_subscriber_locations":{"post":{"operationId":"list_subscriber_locations","summary":"List the countries an audience's subscribers are located in (from IP geocoding) with subscriber counts and percentages. ","description":"List the countries an audience's subscribers are located in (from IP geocoding) with subscriber counts and percentages. Use for \"In which countries are my Mailchimp subscribers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dc":{"description":"Your Mailchimp server prefix (data center): the suffix after the hyphen in your API key, for example 'us6' for a key ending in -us6.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Dc","type":"string"},"list_id":{"description":"The audience (list) id, for example '57afe96172'.","maxLength":40,"title":"List Id","type":"string"}},"required":["dc","list_id"],"title":"list_subscriber_locationsArguments","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}}}}