Braze
Turn orders and customer changes into the right Braze audiences and campaigns, with a person approving what goes out.
38 ways to read, 20 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Braze, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Trigger API campaign for usersApproval by rule
- Trigger API Canvas for usersApproval by rule
- Get app KPI seriesRead
Example flow
- Braze · Get app KPI seriesDone
- Braze · Trigger API campaign for usersNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Braze.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Braze
- Braze's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Track Braze users, events and purchases; read profiles, segments, campaigns, Canvases, analytics and catalogs; manage aliases, catalogs, Content Blocks, email templates and preference centers.
Braze API docs- Source actions
- 38
- Destination actions
- 20
- Data types
- 37
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
App kpis1
- Get app KPI seriesSource
Daily active users, monthly active users (30-day rolling), new users or uninstalls.
Campaign analytics1
- Get campaign analyticsSource
Daily series of sends, opens, clicks, conversions and revenue by channel.
Campaign messages1
- Trigger API campaign for usersDestinationNot retried automaticallyApproval before production
Sends an API-triggered campaign to an explicit list of up to 50 existing users (never a segment broadcast).
Campaigns2
- Get campaignSource
Campaign settings, channels, message variations and conversion behaviours.
- List campaignsSourceIncremental
Campaigns with API-campaign flag, tags and last edit time.
Canvas analytics2
- Get Canvas analytics summarySource
Rolled-up Canvas results for a period of up to 14 days.
- Get Canvas analytics seriesSource
Daily Canvas entries, conversions and revenue, with optional variant and step breakdowns.
Canvas messages1
- Trigger API Canvas for usersDestinationNot retried automaticallyApproval before production
Enters an explicit list of up to 50 existing users into an API-triggered Canvas (never a segment broadcast).
Canvases2
- Get CanvasSource
Canvas settings, variants and steps.
- List CanvasesSourceIncremental
Canvases with tags and last edit time.
Catalog items4
- Create catalog itemDestinationProvider duplicate protectionApproval before production
Creates one catalog item with the given ID; fails if the ID exists.
- Get catalog itemSource
A catalog item and its field values.
- List catalog itemsSource
Items in a catalog (50 per page).
- Update catalog itemDestinationProvider duplicate protectionApproval before production
Edits fields on an existing catalog item; array fields accept $add and $remove operators.
Catalogs2
- Create catalogDestinationProvider duplicate protectionApproval before production
Creates an empty catalog with its field definitions (the first field must be id).
- List catalogsSource
Catalogs with field definitions and item counts.
Cdi integrations1
- List Cloud Data Ingestion integrationsSource
Warehouse sync integrations with status and last and next run (10 per page).
Cdi sync jobs1
- List Cloud Data Ingestion sync jobsSource
Past sync runs for an integration with row counts (10 per page).
Content blocks4
- Create Content BlockDestinationProvider duplicate protectionApproval before production
Creates a reusable Content Block (HTML or text); it is not sent to anyone.
- Get Content BlockSource
A Content Block with its content and, optionally, where it is used.
- List Content BlocksSourceIncremental
Content Blocks with Liquid tag, inclusion count and tags.
- Update Content BlockDestinationProvider duplicate protectionApproval before production
Updates a Content Block's content, description, state or tags; changes apply wherever the block is used.
Custom attributes1
- List custom attributesSource
Custom attribute definitions with data type, status and tags.
Custom event analytics1
- Get custom event seriesSource
Occurrences of one custom event per day or hour.
Custom event definitions1
- List custom event definitionsSource
Custom events with description, status, analytics flag and tags (50 per page).
Custom events1
- List custom eventsSource
Custom event names recorded in the workspace.
Email hard bounces1
- List hard-bounced emailsSourceIncremental
Email addresses that hard bounced in a date range (newest first).
Email templates4
- Create email templateDestinationNot retried automaticallyApproval before production
Creates an email template in Templates & Media; it is not sent to anyone.
- Get email templateSource
An email template with subject, preheader and HTML and plain-text bodies.
- List email templatesSourceIncremental
Email templates (excluding drag-and-drop templates) with tags and timestamps.
- Update email templateDestinationProvider duplicate protectionApproval before production
Updates an email template's name, subject, bodies, preheader, tags or CSS inlining.
Email unsubscribes1
- List email unsubscribesSourceIncremental
Email addresses that unsubscribed in a date range, or one address's status.
Messages1
- Send message to usersDestinationNot retried automaticallyApproval before production
Sends API-defined message content to an explicit list of up to 50 existing users (no segment or audience targeting).
Preference centers4
- Create preference centerDestinationNot retried automaticallyApproval before production
Creates an API-built preference center page (active or draft).
- Get preference centerSource
A preference center with its page HTML, confirmation HTML, options and state.
- List preference centersSource
Preference centers with API IDs and timestamps.
- Update preference centerDestinationProvider duplicate protectionApproval before production
Replaces a preference center's page HTML, confirmation HTML, title, state or options.
Products1
- List purchased product IDsSource
Product IDs recorded through purchases, one page per call.
Purchase analytics1
- Get purchase seriesSource
Purchase quantity or revenue per day or hour, optionally for one product.
Purchases1
- Track purchaseDestinationNot retried automaticallyApproval before production
Records a purchase for a user through /users/track.
Scheduled broadcasts1
- List upcoming scheduled messagesSource
Campaigns and Canvases scheduled between now and an end time (read only; nothing is scheduled).
Segment analytics1
- Get segment size seriesSource
Daily estimated size of an analytics-tracked segment.
Segments2
- Get segmentSource
Segment details with description and filter summary.
- List segmentsSource
Segments with analytics tracking flag and tags.
Send analytics1
- Get send analyticsSource
Daily stats for a tracked send ID of an API campaign (kept for 14 days).
Send IDs1
- Create send IDDestinationNot retried automaticallyApproval before production
Creates a send identifier for tracking an API campaign's sends; it sends nothing.
Session analytics1
- Get session seriesSource
Number of app sessions per day or hour.
SMS invalid numbers1
- List invalid phone numbersSourceIncremental
Phone numbers Braze marked invalid in a date range, with the reason.
Subscription status2
- Get subscription group statusSource
A user's state in one subscription group (independent of the global subscription state).
- Set subscription group statusDestinationProvider duplicate protectionApproval before production
Explicitly subscribes or unsubscribes up to 50 users in one subscription group (consent change).
User aliases2
- Add user aliasDestinationProvider duplicate protectionApproval before production
Adds an alias to an identified user, or creates an alias-only user when no external ID is given.
- Rename user aliasDestinationProvider duplicate protectionApproval before production
Changes the alias name for an existing alias label and name pair.
User events1
- Track custom eventDestinationNot retried automaticallyApproval before production
Records a custom event for a user through /users/track.
User external IDs1
- Rename external IDDestinationProvider duplicate protectionApproval before production
Assigns a new primary external ID to a user; the old ID stays as a deprecated ID on the same profile.
User subscription groups1
- List a user's subscription groupsSource
Subscription groups with status in the user's history.
Users3
- Get user profileSource
One profile by external ID, Braze ID or user alias, looked up in the request body of /users/export/ids.
- Export users by IDSource
Profiles for up to 50 external IDs, or one email address, with attributes, events and purchases.
- Create or update userDestinationProvider duplicate protectionApproval before production
Sets standard and custom attributes on a user identified by external ID through /users/track.
Access and limits
- Authentication
- REST API key (bearer)
- Plans and access
- All Braze plans include the REST API; some endpoints depend on packaged features (catalogs, Canvas). REST API keys carry per-endpoint permissions and can be restricted by IP allowlist; keys are workspace-scoped.
- Test environment
- Use a development workspace in your Braze dashboard.
- Rate limits
- Per-endpoint limits: /users/track 3,000 requests per 3 seconds; /users/export/ids 250 per minute (40 per second with fields_to_export); alias endpoints 20,000 per minute; external ID rename 1,000 per minute; /custom_attributes, /events, /events/list and /purchases/product_list share 1,000 per hour; synchronous catalog endpoints 50 per minute; preference center writes 10 per minute; CDI lists 50 to 100 per minute; send ID creation 100 per day; most exports 250,000 per hour. HTTP 429 with X-RateLimit headers.
- Pagination
- Segment, campaign, Canvas and custom event name lists use a zero-based page parameter; catalog items, custom attributes, custom event definitions and Cloud Data Ingestion lists use Link-header cursors; unsubscribes, hard bounces, invalid numbers, Content Blocks and email templates use limit/offset.
- Provider events
- Braze Currents streams engagement events to supported destinations. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Broadcasts to whole segments or connected audiences are never sent; message operations require an explicit list of up to 50 external user IDs.
- Trigger API campaign, Trigger API Canvas and Send message to users (/campaigns/trigger/send, /canvas/trigger/send, /messages/send) send real messages to real recipients.
- Subscription states change only through the explicit subscription status operation or the explicit emailSubscribe/pushSubscribe inputs on user upserts.
- Operations added for depth never put email addresses or phone numbers in a URL: profile lookups use the /users/export/ids request body, and hard-bounce lookups query a date range and match the email inside Nexra.
- Event and purchase tracking have no idempotency key; uncertain writes are not repeated automatically.
- Deleting users, user merges and identify (alias-to-user merges), removing deprecated external IDs, deleting catalogs, catalog items, fields or selections, removing hard bounces, spam or invalid numbers, and blocklisting emails are not implemented.
- Asynchronous endpoints (bulk catalog item writes, catalog field and selection creation, user export by segment or global control group, Cloud Data Ingestion sync triggers) are not used.
- The /users/track/status request-status endpoint (beta) and Data Objects (early access) are not implemented.
- Translation endpoints, SCIM dashboard users, SDK authentication keys, push credentials and the media library are out of scope.
- The product ID list returns one page per call; Braze does not document its page size or whether pages start at 0 or 1.
- Canvas analytics accept at most 14 days per request; other data series accept 1 to 100 days or hours.
Developer reference
- Create the Braze credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Braze, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/braze and the Connections API.
