# Braze MCP

Vendor: Braze  
Category: other  
Auth: API_KEY  
Composio slug: `braze`

Braze is a customer engagement platform for managing user data, messaging, campaigns, analytics, catalogs, templates, and workspace automation.

## Tools

- **Blocklist Emails** — HIGH IMPACT: globally unsubscribe and mark as hard bounced one to 50 exact email addresses. This can affect every profile sharing an address and prevent delivery across campaigns. Success is rejected unless Braze explicitly returns message=
- **Cancel Segment Exports** — Ask Braze to cancel all ongoing exports for a segment. Braze documents no response confirmation schema, so a successful call is only the provider response and must not be treated as proof that cancellation completed.
- **Create Catalog** — Create one persistent catalog in the connected Braze workspace. The catalog name must be unique and identifies the resource for later reads or deletion.
- **Create Catalog Fields** — Asynchronously create up to 50 fields in one Braze catalog. Requires the immutable catalogs.create_fields API-key permission and shares a 50 requests/minute limit with asynchronous catalog field and selection endpoints. A 202 response only 
- **Create Catalog Item** — Synchronously create one Braze catalog item by exact item ID. Requires the immutable catalogs.create_item API-key permission and shares a 50 requests/minute synchronous item limit. Existing IDs and body-level id fields are rejected.
- **Create Catalog Selection** — Asynchronously create one Braze catalog selection. Requires the immutable catalogs.create_selection API-key permission and shares a 50 requests/minute limit with asynchronous field and selection endpoints. Geo filters force nearest-first or
- **Create Content Block** — Persist a reusable HTML or text Content Block in the connected Braze workspace. This creates content only; it does not send or deliver a message.
- **Create Email Template** — Persist an HTML email template on Braze's Templates & Media page. This creates template content only; it does not send or deliver an email.
- **Create Media Library Asset** — Upload one asset to Braze from a public HTTP(S) URL or local file. URL mode sends JSON; local-file mode uses the multipart asset_file contract implemented by Braze's official MCP server and does not send base64. Images, vectors, and documen
- **Create Message Schedule** — HIGH IMPACT: schedule API-only channel messages for future processing. Individual targets are limited to 50 combined IDs and aliases; otherwise explicit broadcast=true is required. Requires messages.schedule.create. The returned schedule an
- **Create Multiple Catalog Items** — Asynchronously create up to 50 Braze catalog items. Requires the immutable catalogs.add_items API-key permission and shares a 16,000 requests/minute limit with asynchronous catalog item endpoints. A 202 response confirms acceptance only; Br
- **Create Preference Center** — HIGH IMPACT: durably create and optionally activate a Braze-hosted preference center. Its name cannot be changed after creation. Confirm HTML, state, and identifiers before calling. Limited to 10 requests/minute per workspace; Braze publish
- **Create SDK Authentication Key** — HIGH IMPACT SECURITY OPERATION: create an SDK Authentication key from an RSA public key for one exact app. Set make_primary only when the new key should immediately replace the current primary key. Never submit private-key material. Braze p
- **Create Send ID** — Create or assign a send ID for programmatic message-performance tracking. Every explicit campaign_id and send_id combination counts toward the workspace limit of 100 custom send IDs/day. Requires sends.id.create; this action creates trackin
- **Create User Aliases** — Add up to 50 Braze aliases to existing external-ID users or create alias-only profiles. Requires users.alias.new. Duplicate alias-label/name pairs can return success without changing a profile; a 201-style success is acceptance, not proof t
- **Delete Campaign Trigger Schedule** — HIGH IMPACT: durably cancel a scheduled API-triggered campaign before send time. This cannot undo sends already processed. Last-second cancellation is best-effort and may affect all, some, or none of the target users. Requires campaigns.tri
- **Delete Canvas Trigger Schedule** — HIGH IMPACT: durably cancel a scheduled API-triggered Canvas before entry time. This cannot undo entries already processed. Last-second cancellation is best-effort and may affect all, some, or none of the target users. Requires canvas.trigg
- **Delete Catalog** — Permanently delete one Braze catalog and all of its contents by exact catalog name through DELETE /catalogs/{catalog_name}. This cannot be undone and requires catalogs.delete permission.
- **Delete Catalog Field** — Asynchronously request deletion of one field by exact catalog and field name. Requires the immutable catalogs.delete_fields API-key permission and shares a 50 requests/minute field/selection limit. Fields used by a selection or as an invent
- **Delete Catalog Item** — Request deletion of one catalog item by exact catalog name and item ID. HTTP 202 with message=success confirms acceptance, not terminal deletion. Requires the immutable catalogs.delete_item API-key permission and shares a 50 requests/minute
- **Delete Catalog Selection** — Asynchronously request deletion of a selection by exact catalog and selection name. Requires the immutable catalogs.delete_selection API-key permission and shares a 50 requests/minute field/selection limit. A 202 response confirms acceptanc
- **Delete Message Schedule** — HIGH IMPACT: durably cancel an API-only message schedule before it is sent. This cannot undo a send already processed. Requires messages.schedule.delete. An accepted cancellation does not prove that a send already being processed was stoppe
- **Delete Multiple Catalog Items** — Asynchronously request deletion of up to 50 catalog items by exact IDs. Requires the immutable catalogs.delete_items API-key permission and shares a 16,000 requests/minute asynchronous item limit. A 202 response is only request acceptance; 
- **Delete SDK Authentication Key** — HIGH IMPACT SECURITY OPERATION: permanently delete one exact non-primary SDK Authentication key from one exact app. Braze refuses deletion of the primary key; select another primary first. Success is rejected unless the returned remaining-k
- **Delete Users** — Permanently queue deletion of up to 50 users using exactly one identifier type. Requires users.delete and shares a 20,000 requests/minute rate limit. This cannot be undone; success reports queued count, not completion, and cache propagation
- **Duplicate Campaign** — HIGH IMPACT: request an asynchronous, durable duplicate of a Braze campaign. The duplicate persists until explicitly deleted and can consume workspace campaign capacity. HTTP 202 confirms only that Braze accepted the request, not that campa
- **Duplicate Canvas** — HIGH IMPACT: request an asynchronous, durable duplicate of a Braze Canvas. The duplicate persists until explicitly deleted and can consume workspace Canvas capacity. HTTP 202 confirms only acceptance, not completed Canvas creation. Existing
- **End Live Activity** — IRREVERSIBLE: end an SDK-registered iOS Live Activity with a final ContentState. An optional past dismissal_date removes it from the UI immediately. Requires messages.live_activity.update. HTTP 201 confirms receipt only, not APNs dispatch, 
- **Export Global Control Group Users** — Start an asynchronous export of all current Global Control Group users. The response only acknowledges dispatch and identifies files; completion arrives through the callback, temporary URL, or configured cloud storage. Files are generally s
- **Export Segment Users** — Start an asynchronous newline-delimited JSON export for one segment. The response acknowledges dispatch, not completion. Only one export per segment may run at once, with at most 100 concurrent segment exports company-wide; event, purchase,
- **Export Users by Identifiers** — Return user profiles matching one or more Braze, external, alias, device, email, or phone identifiers; this reads profiles and does not track events or consume data points.
- **Generate Preference Center URL** — Generate a user-specific URL for an API-created or drag-and-drop Braze preference center. HIGH IMPACT: the returned URL is a sensitive capability that can change that user's subscriptions. Do not log, publish, or share it. This does not sup
- **Get Campaign** — Return configuration and delivery details for one campaign identified by its Braze campaign ID.
- **Get Campaign Analytics** — Get up to 100 daily campaign analytics points. Dashboard and Currents aggregation definitions can differ.
- **Get Campaign Translation Source** — Read the default source values inside translation tags for one campaign message variation. Requires campaigns.translations.get, translation tags on a multi-language message, and observes a 250,000 requests/minute limit.
- **Get Canvas** — Return configuration and step details for one Canvas identified by its Braze Canvas ID.
- **Get Canvas Analytics** — Export Canvas daily time-series analytics with optional variant, step, and deleted-step breakdowns. Dashboard and Currents definitions can differ.
- **Get Canvas Analytics Summary** — Export Canvas analytics rollups with optional variant, step, and deleted-step breakdowns. Braze normalizes range timestamps to midnight in the company time zone.
- **Get Canvas Translation Source** — Read default source values inside translation tags for one Canvas step message variation. Requires canvas.translations.get, translation tags on a multi-language message, and observes a 250,000 requests/minute limit.
- **Get Catalog Item** — Return one Braze catalog item by exact catalog name and item ID. Requires the immutable catalogs.get_item API-key permission and shares a 50 requests/minute limit with synchronous catalog item endpoints.
- **Get Content Block** — Return one persisted Braze Content Block by API identifier, optionally with its current campaign and Canvas inclusion records.
- **Get Content Block Translation Source** — Read default source values inside one Content Block's translation tags. Requires content_blocks.translations.get, configured translation tags, and observes a 250,000 requests/minute limit.
- **Get Custom Event Analytics** — Get 1 to 100 daily or hourly occurrence counts for one custom event, optionally filtered by app and analytics-enabled segment.
- **Get Email Template** — Return one stored HTML email template by API identifier. Braze does not accept drag-and-drop-editor templates on this endpoint.
- **Get Email Template Translation Source** — Read default source values inside an email template's translation tags. This source endpoint specifically requires templates.email.info, plus a multi-language template, and observes a 250,000 requests/minute limit.
- **Get Preference Center** — Get persisted HTML, state, options, identifiers, and timestamps for one Braze preference center. Limited to 1,000 requests/minute per workspace.
- **Get Purchase Series** — Get 1 to 100 daily or hourly purchase quantity or revenue points, optionally filtered by app and product. The selected metric determines the exact Braze purchase endpoint.
- **Get Segment** — Return Braze's documented configuration details for one segment identified by its segment API identifier.
- **Schedule Campaign Trigger** — HIGH IMPACT: schedule one durable API-triggered campaign dispatch. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires broadcast=true, which cannot include individual recipients. R
- **Schedule Canvas Trigger** — HIGH IMPACT: schedule one durable API-triggered Canvas entry. Provide up to 50 recipients, optionally intersected with a Connected Audience. Audience-only targeting requires broadcast=true, which cannot include individual recipients. Per-re

## Setup

1. Create or open a Switchy Project.
2. Open Integrations and connect Braze.
3. Authorise through api_key.
4. Teammates can now @-mention Braze tools in chat.

---
Last verified: 2026-09-04T02:00:56.012Z  
Canonical URL: https://switchy.build/directory/mcps/braze