Capability Library · Pack detail

mailchimp v1.0.0

Mailchimp Marketing API 3.0: read lists, members and campaigns, upsert a list member, send a campaign, and delete a campaign or an entire list.

Review state: draft· Not in the distributable release manifest

Release identity

SHA-256 of the pack file bytes: 5a6ecc9e58f8525d1cbb15975261819392ef416fcdafb52f5b5ee8a2e31b5587

Not in the distributable release manifest. The binary carries a digest-bound manifest of the distributable library; a pack whose bytes differ from its manifest entry — endpoint, tier, allowlist, or credential edited, with provider, version, and review block preserved — fails the digest check, loses distributability, and renders MODIFIED rather than as the shipped reviewed artifact. Review state and artifact status are different facts: the first is a documentation-review declaration, the second is the identity of the exact bytes.

Capabilities (7)

mailchimp.lists.read v1.0.0R0

Action
read
Endpoint
GET https://mailchimp-dc.invalid/3.0/lists
Connector
http
Custody
customer_vault
Credential ref
secret-ref-mailchimp-api-key
Data class
internal

Retrieve the collection of lists (audiences) in the account, per the retrieved API reference's Lists/Audiences section. The registered path covers the collection read only — single-list reads are not registered, and of the list subresources only the members surface is registered (the members collection read and the member upsert capability); all other list subresources are not registered. The host is a reserved placeholder: substitute the customer's <dc>.api.mailchimp.com host before enabling.

mailchimp.members.read v1.0.0R0

Action
read
Endpoint
GET https://mailchimp-dc.invalid/3.0/lists/LIST_ID/members
Connector
http
Custody
customer_vault
Credential ref
secret-ref-mailchimp-api-key
Data class
pii

Retrieve the collection of members of one list, per the retrieved API reference's Lists/Audiences > Members section: email addresses, names, merge fields and subscription status are personal data, so the read is registered at the pii class. LIST_ID is a placeholder the deployment binds to a concrete list before enabling, and the host is a reserved placeholder to substitute before enabling.

mailchimp.campaigns.read v1.0.0R0

Action
read
Endpoint
GET https://mailchimp-dc.invalid/3.0/campaigns
Connector
http
Custody
customer_vault
Credential ref
secret-ref-mailchimp-api-key
Data class
internal

Retrieve the collection of campaigns in the account, per the retrieved API reference's Campaigns section: campaign titles, types and send states, registered at the internal class. The registered path covers the collection read only — campaign content, feedback and checklist subresources are not registered. The host is a reserved placeholder: substitute the customer's <dc>.api.mailchimp.com host before enabling.

mailchimp.members.upsert v1.0.0R3

Actions
create, update, send
Endpoint
PUT https://mailchimp-dc.invalid/3.0/lists/LIST_ID/members/SUBSCRIBER_HASH
Connector
http
Custody
customer_vault
Credential ref
secret-ref-mailchimp-api-key
Data class
pii

Add or update one list member (the Marketing API's idempotent add-or-update member call). Registered as create, update and send at the R3 floor: the unrestricted request body can set status to pending, which makes Mailchimp send a double-opt-in confirmation email to that address — a message delivered to an end recipient that cannot be un-sent (send is one of the IRREVERSIBLE ACTIONS: delete, send, pay, deploy, approve, share and transfer) — and can set status to subscribed, which re-enables marketing email to that address. This registration does not enforce recipient consent, so consent checks must live in policy and review, not in this pack. LIST_ID and SUBSCRIBER_HASH are placeholders the deployment binds before enabling, and the host is a reserved placeholder to substitute before enabling.

mailchimp.campaigns.send v1.0.0R3

Actions
create, send
Endpoint
POST https://mailchimp-dc.invalid/3.0/campaigns/CAMPAIGN_ID/actions/send
Connector
http
Custody
customer_vault
Credential ref
secret-ref-mailchimp-api-key
Data class
internal

Send a campaign to its list. The vendor operation is a POST to an actions subresource, but the effect delivers the campaign's email to its recipients — messages to end recipients that cannot be un-sent — so the capability is registered as create and send at the R3 floor under the end-recipient message convention; send is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer), and an irreversible action cannot be taken without a person. This registration makes no claim that the campaign's content or audience were fixed at creation: a campaign can be edited at any time before sending, and targeting options, each member's subscription status and Mailchimp's exclusions determine who actually receives it — review the campaign before enabling the send. CAMPAIGN_ID is a placeholder the deployment binds before enabling, and the host is a reserved placeholder to substitute before enabling.

mailchimp.campaigns.delete v1.0.0R3

Action
delete
Endpoint
DELETE https://mailchimp-dc.invalid/3.0/campaigns/CAMPAIGN_ID
Connector
http
Custody
customer_vault
Credential ref
secret-ref-mailchimp-api-key
Data class
internal

Delete a campaign. Delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer); deleting a campaign removes it and its content from the account, and this pack makes no reversibility claim. CAMPAIGN_ID is a placeholder the deployment binds before enabling, and the host is a reserved placeholder to substitute before enabling.

mailchimp.lists.delete v1.0.0R3

Action
delete
Endpoint
DELETE https://mailchimp-dc.invalid/3.0/lists/LIST_ID
Connector
http
Custody
customer_vault
Credential ref
secret-ref-mailchimp-api-key
Data class
pii

Delete an entire list (audience). The blast radius is the whole audience: the list, its members and their stored data are personal data at scale, and delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer), so the capability sits at the R3 floor and an irreversible action cannot be taken without a person. LIST_ID is a placeholder the deployment binds before enabling, and the host is a reserved placeholder to substitute before enabling.

Credential reference

The pack names a reference, never a secret. Installing a pack registers capabilities and makes them governable; registration is not connectivity. The credential is created at the provider and held in the client's own secret manager under the reference the pack names, and deployment testing is still required to show the credential path works and cannot be bypassed.

Reference
secret-ref-mailchimp-api-key
Custody
customer_vault
Injection
header (Authorization)

A Mailchimp Marketing API key presented as HTTP Basic authentication, held in the client's own secret manager. The retrieved quick-start guide authenticates with --user "anystring:${apikey}": the username may be any string and the password is the API key. The stored material must be the complete Authorization header value (scheme included): 'Basic ' followed by the base64 encoding of '<anystring>:<apikey>' exactly as issued. There is no token-issuance exchange: the key IS the credential, generated in the account's API Keys section and shown only once at creation, per the retrieved quick-start guide, so the custody job stores it once and the executor injects it verbatim; renewal means generating a new key in the account and updating the reference. Expiry and revocation: the retrieved guides document no automatic expiry for API keys — treat a key as valid until deleted; deleting (or disabling) the key in the account revokes it immediately and a revoked key fails closed. Note that simply stopping the creation of new keys does NOT invalidate already-issued keys: each issued key stays valid until that key itself is deleted. Least privilege, stated honestly: Mailchimp documents that an API key provides full account access and offers no per-key scoping for API-key authentication, so least privilege cannot be expressed in the key itself — it must come from which account and user issues the key and from AAES policy and capability scope; the retrieved guides point to OAuth 2 as the alternative for integrations acting on behalf of other users. Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.

Resources

  • mailchimp-audiences (api, pii): https://mailchimp-dc.invalid/3.0/lists
  • mailchimp-campaigns (api, internal): https://mailchimp-dc.invalid/3.0/campaigns

Pack notes and exclusions

The endpoint host 'mailchimp-dc.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): the Marketing API host is data-center-specific (<dc>.api.mailchimp.com, where <dc> is the server prefix visible in the account's browser URL, e.g. us19, per the retrieved quick-start guide), so substitute the customer's real <dc>.api.mailchimp.com host before enabling, in every endpoint, in the resource locators and in every egress allowlist entry — the allowlist matches exactly, so all three must be substituted together, and substitution is a required deployment step. The Marketing API is version 3.0 (the retrieved fundamentals page: version 2.0 is deprecated, versions 1.x are gone). Tiering rationale: campaign send delivers email to an entire list of end recipients, so although the vendor operation is a POST to an actions subresource it is registered as create and send at the R3 floor — send is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer). Member upsert is registered as create, update and send at the R3 floor: the unrestricted request body can set a member's status to pending, which triggers Mailchimp's double-opt-in confirmation email to that address — a message to an end recipient — and can set status to subscribed, which re-enables marketing mail; an installer's intention is not a restriction, so consent enforcement must come from policy and review, not from this registration. Campaign send is registered as create and send at the R3 floor: a campaign can be edited after creation, and targeting, subscription status and exclusions determine the actual recipients. Documented exclusions — this pack does not register: permanent member erasure (the members delete-permanent action, Mailchimp's GDPR-oriented irreversible erasure — the truly irreversible member operation, deliberately left out); batch operations (one call executing many operations, which would defeat per-call review); automation flows and classic automation queue management (programmed sends outside a single reviewed action); transactional email (the separate Mandrill/Transactional API); webhook management (redirecting where member events flow); template, segment and interest-category administration; e-commerce store operations; and the OAuth2 authorization-code flow for third-party integrations — each is a different registration requiring its own review, and none is approximated here. Documentary limitation recorded at the 2026-09-21 re-review: the operation-specific reference pages for the member add-or-update call and the campaign send action returned only the reference site's API index from the review environment, so upsert's delivery effects and campaign-send targeting remain verified against guide-level documentation only — one reason this pack stays draft.

Review record

Draft review record dated 2026-09-21 · Reviewer: aaes-eng (an opaque id that resolves internally to the responsible reviewer)

A pack review is not a vendor or examiner attestation. A retrieval date says when a source page was read; it does not by itself establish what the page said then. No pack is vendor-endorsed, and none has been connectivity-tested against a live vendor tenant.