Braze is a comprehensive customer engagement platform that helps brands build meaningful relationships with their customers through personalized messaging, automation, and analytics across multiple channels including email, push notifications, SMS, and in-app messaging.
Power end-to-end data operations for your Braze API with Nexla. Our bi-directional Braze connector is purpose-built for Braze, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Braze or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Braze workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Before creating a Braze credential, you need to obtain a REST API key from your Braze account and identify your Braze instance URL. The REST API key is required to authenticate with the Braze REST API, and the instance URL determines which Braze data center your account is provisioned to.
To obtain your REST API key, you need to have a Braze account with API access enabled. Once you have access to your account, you can find your REST API key in the Braze dashboard by navigating to the Developer Console section for each app group. The REST API key is used to authenticate all API requests to the Braze REST API using Bearer token authentication in the Authorization header.
To identify your Braze instance URL, you need to determine which Braze data center your account is provisioned to. Braze has multiple REST endpoints based on your instance location. Common instance URLs include:
https://rest.iad-01.braze.com (US East - Virginia)
https://rest.iad-02.braze.com (US East - Virginia 02)
https://rest.iad-03.braze.com (US East - Virginia 03)
https://rest.iad-04.braze.com (US East - Virginia 04)
https://rest.iad-06.braze.com (US East - Virginia 06)
https://rest.iad-08.braze.com (US East - Virginia 08)
https://rest.sfo-01.braze.com (US West - California)
https://rest.sfo-02.braze.com (US West - California 02)
https://rest.sfo-03.braze.com (US West - California 03)
https://rest.sfo-04.braze.com (US West - California 04)
https://rest.sfo-06.braze.com (US West - California 06)
https://rest.sfo-08.braze.com (US West - California 08)
You can find your instance URL in your Braze dashboard or by checking your Braze account settings. For detailed information about Braze API authentication, REST endpoints, and API key setup, refer to the Braze API documentation.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
New Credential Overlay – Braze
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter your Braze REST instance URL in the Rest Instance URL field. This should be the complete URL of your Braze REST endpoint, including the protocol (https://). Use the correct REST endpoint based on which instance you are provisioned to. The default value is https://rest.iad-01.braze.com if not specified.
The instance URL must match your Braze account's data center location. Using an incorrect instance URL will result in authentication failures. You can find your instance URL in your Braze dashboard or account settings. For a complete list of Braze REST endpoints, see the Braze API documentation.
Enter your Braze REST API key in the Rest API Key field. This is the REST API key you obtained from your Braze dashboard Developer Console. The REST API key is sent in the Authorization header as a Bearer token to authenticate all API requests to the Braze REST API.
Keep your REST API key secure and do not share it publicly. The API key provides access to your Braze account and should be treated as a sensitive credential. The API key can be found within the Braze dashboard by navigating to the Developer Console section for each app group.
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Braze connector tile, then select the credential that will be used to connect to the Braze instance, and click Next; or, create a new Braze credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Braze endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Get Campaign List
This endpoint exports a list of campaigns from your Braze account. Each campaign includes its name, Campaign API Identifier, whether it is an API Campaign, and Tags associated with the campaign. Use this endpoint when you need to access campaign information for analysis, reporting, or to identify campaigns for use with other endpoints.
This endpoint automatically retrieves all campaigns from your Braze account. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses GET requests to {instance_url}/campaigns/list where {instance_url} is your Braze REST instance URL from the credential configuration. The endpoint URL is automatically constructed based on your credential's instance URL configuration.
The endpoint uses incrementing page-based pagination, automatically fetching additional pages as needed using the page query parameter. The endpoint starts from page 0 and continues fetching pages until all available campaigns have been retrieved.
The endpoint will return all campaigns in your account. The response data is extracted from the campaigns array in the API response ($.campaigns[*]), with each campaign record processed individually.
This endpoint supports pagination through the page query parameter. Nexla automatically handles pagination to retrieve all available records by incrementing the page number until no more data is returned. The endpoint uses incrementing page-based pagination (iteration.type: paging.incrementing), starting from page 0. The response data path is $.campaigns[*], which extracts all items from the campaigns array in the API response. Campaign IDs returned by this endpoint can be used in the "Get Campaign Analytics" endpoint. For detailed information about retrieving campaigns, see the Braze API documentation.
Get Segment List
This endpoint exports a list of segments from your Braze account. Each segment includes its name, Segment API Identifier, and whether it has analytics tracking enabled. Use this endpoint when you need to access segment information for analysis, reporting, or to identify segments for use with other endpoints.
This endpoint automatically retrieves all segments from your Braze account. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses GET requests to {instance_url}/segment/list where {instance_url} is your Braze REST instance URL from the credential configuration. The endpoint URL is automatically constructed based on your credential's instance URL configuration.
The endpoint uses incrementing page-based pagination, automatically fetching additional pages as needed using the page query parameter. The endpoint starts from page 0 and continues fetching pages until all available segments have been retrieved.
The endpoint will return all segments in your account. The response data is extracted from the segments array in the API response ($.segments[*]), with each segment record processed individually.
This endpoint supports pagination through the page query parameter. Nexla automatically handles pagination to retrieve all available records by incrementing the page number until no more data is returned. The endpoint uses incrementing page-based pagination (iteration.type: paging.incrementing), starting from page 0. The response data path is $.segments[*], which extracts all items from the segments array in the API response. Segment IDs returned by this endpoint can be used in the "Get Segment Analytics" endpoint. For detailed information about retrieving segments, see the Braze API documentation.
Get Campaign Analytics
This endpoint retrieves a daily series of various stats for a campaign over time. Use this endpoint when you need to access campaign performance metrics, engagement statistics, or analytics data for specific campaigns.
Select the campaign from which you want to retrieve analytics from the Campaign ID dropdown menu. The dropdown will display all available campaigns in your Braze account, showing campaign names with their corresponding Campaign API Identifiers. Campaign IDs can be obtained from the "Get Campaign List" endpoint.
Enter the date on which the data series should end in the Date for Series End (ISO DateTime) field. This must be an ISO8601 DateTime string (format: yyyy-MM-dd'T'HH:mm:ss'Z'). The default value is {now}, which represents the current time of the request.
Enter the maximum number of days before the ending date to include in the returned series in the Max Number of Days Before Ending At field. This value must be between 1 and 100 inclusive. The default value is 1 if not specified.
The endpoint uses GET requests to {instance_url}/campaigns/data_series?campaign_id={campaign_id}&length={length}&ending_at={ending_at} where {instance_url} is your Braze REST instance URL, {campaign_id} is the selected Campaign ID, {length} is the number of days, and {ending_at} is the ending date. The endpoint URL is automatically constructed based on your credential's instance URL configuration and the provided parameters.
The endpoint will return a daily series of campaign analytics data. The response data is extracted from the data array in the API response ($.data[*]), with each data point processed individually.
The endpoint does not use pagination and returns the complete analytics series in a single request.
Campaign IDs can be obtained from the "Get Campaign List" endpoint, which returns all campaigns with their corresponding Campaign API Identifiers. The ending date must be in ISO8601 format (yyyy-MM-dd'T'HH:mm:ss'Z'). The length parameter must be between 1 and 100 days. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $.data[*], which extracts all items from the data array in the API response. For detailed information about retrieving campaign analytics, see the Braze API documentation.
Get Segment Analytics
This endpoint retrieves a daily series of various stats for a segment over time. Use this endpoint when you need to access segment performance metrics, growth statistics, or analytics data for specific segments.
Select the segment from which you want to retrieve analytics from the Segment ID dropdown menu. The dropdown will display all available segments in your Braze account, showing segment names with their corresponding Segment API Identifiers. Segment IDs can be obtained from the "Get Segment List" endpoint.
Enter the date on which the data series should end in the Date for Series End (ISO DateTime) field. This must be an ISO8601 DateTime string (format: yyyy-MM-dd'T'HH:mm:ss'Z'). The default value is {now}, which represents the current time of the request.
Enter the maximum number of days before the ending date to include in the returned series in the Max Number of Days Before Ending At field. This value must be between 1 and 100 inclusive. The default value is 1 if not specified.
The endpoint uses GET requests to {instance_url}/segments/data_series?segment_id={segment_id}&length={length}&ending_at={ending_at} where {instance_url} is your Braze REST instance URL, {segment_id} is the selected Segment ID, {length} is the number of days, and {ending_at} is the ending date. The endpoint URL is automatically constructed based on your credential's instance URL configuration and the provided parameters.
The endpoint will return a daily series of segment analytics data. The response data is extracted from the data array in the API response ($.data[*]), with each data point processed individually.
The endpoint does not use pagination and returns the complete analytics series in a single request.
Segment IDs can be obtained from the "Get Segment List" endpoint, which returns all segments with their corresponding Segment API Identifiers. The ending date must be in ISO8601 format (yyyy-MM-dd'T'HH:mm:ss'Z'). The length parameter must be between 1 and 100 days. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $.data[*], which extracts all items from the data array in the API response. For detailed information about retrieving segment analytics, see the Braze API documentation.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Braze data sources can also be manually configured to ingest data from any valid Braze REST API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, path to data, and other request settings.
Braze API endpoints follow the pattern {instance_url}/{endpoint_path}, where {instance_url} is your Braze REST instance URL. Bearer token authentication in the Authorization header is handled automatically by your credential configuration. Braze responses typically nest records in arrays such as campaigns, segments, or data, so set the Path to Data accordingly (for example, $.campaigns[*], $.segments[*], or $.data[*]).
Once all of the relevant settings have been configured, click the Save button to save and create the new Braze data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Braze destination, and select the Send to Destination option from the menu. Select the Braze connector from the list of available destination connectors, then select the credential that will be used to connect to the Braze organization, and click Next; or, create a new Braze credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Braze endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Identify Users
This endpoint identifies an unidentified (alias-only) user in your Braze account. Identifying a user requires an external_id to be included in the aliases to identify the object. Use this endpoint when you need to link anonymous user aliases to known user identities.
The endpoint uses POST requests to {instance_url}/users/identify where {instance_url} is your Braze REST instance URL from the credential configuration. The endpoint URL is automatically constructed based on your credential's instance URL configuration.
The endpoint sends data from your Nexset as the request body in JSON format. The request body is automatically transformed to include your Nexset records in the aliases_to_identify array. Each record in your Nexset will be included in the batch request body.
Batch mode is enabled for this endpoint. Multiple records from your Nexset will be grouped into batch requests, with up to 50 records per batch. This allows efficient processing of multiple user identifications in a single API call.
Ensure your Nexset data includes the required fields for user identification, including the external_id that will be used to identify the user.
The request body must be properly formatted JSON that matches the Braze API specification for identifying users. The request body is automatically transformed to wrap your Nexset records in the aliases_to_identify array structure. The endpoint requires Bearer token authentication in the Authorization header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is enabled (batch.mode: true) with a maximum of 50 records per batch (max.poll.records: 50), allowing efficient processing of multiple user identifications. For detailed information about identifying users, including required fields and request formats, see the Braze API documentation.
Create New User Alias
This endpoint adds new user aliases for existing identified users or creates new unidentified users in your Braze account. Adding a user alias for an existing user requires a valid external_id to be included in the new user alias object. Use this endpoint when you need to create user aliases or link additional identifiers to existing users.
The endpoint uses POST requests to {instance_url}/users/alias/new where {instance_url} is your Braze REST instance URL from the credential configuration. The endpoint URL is automatically constructed based on your credential's instance URL configuration.
The endpoint sends data from your Nexset as the request body in JSON format. The request body is automatically transformed to include your Nexset records in the user_aliases array. Each record in your Nexset will be included in the batch request body.
Batch mode is enabled for this endpoint. Multiple records from your Nexset will be grouped into batch requests, with up to 50 records per batch. This allows efficient processing of multiple user alias creations in a single API call.
Ensure your Nexset data includes the required fields for creating user aliases, including the external_id for existing users or alias information for new unidentified users.
The request body must be properly formatted JSON that matches the Braze API specification for creating user aliases. The request body is automatically transformed to wrap your Nexset records in the user_aliases array structure. The endpoint requires Bearer token authentication in the Authorization header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is enabled (batch.mode: true) with a maximum of 50 records per batch (max.poll.records: 50), allowing efficient processing of multiple user alias creations. For detailed information about creating user aliases, including required fields and request formats, see the Braze API documentation.
Braze destinations can also be manually configured to send data to any valid Braze REST API endpoint, including endpoints not covered by the pre-built templates. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, and request body.
Braze API endpoints follow the pattern {instance_url}/{endpoint_path}, where {instance_url} is your Braze REST instance URL. The Braze REST API primarily uses POST requests with JSON request bodies. You do not need to include headers already present in the credential — Bearer token authentication in the Authorization header and the Content-Type: application/json header are handled automatically by Nexla. Using manual configuration, you can also configure Nexla to automatically send the response received from the Braze API after each call to a new Nexla webhook data source.
Once all configuration steps have been completed, click the Save button to save and create the destination. To send the data to the configured Braze endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Braze endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.