Getting started overview

To begin integrating with Braze, the process typically involves setting up a Braze account, generating the necessary API credentials, and then executing an initial API call. This first call often focuses on either identifying a user or tracking a specific event to confirm that data can be successfully transmitted to your Braze workspace. Braze is designed to consolidate customer data and facilitate personalized communication, making a successful initial integration crucial for subsequent campaign development.

The following table outlines the key steps to get started with Braze:

Step What to do Where
1. Create Account Contact Braze sales for an enterprise account. Braze Pricing Page
2. Generate API Keys Obtain your Braze REST API Key and identify your Braze instance URL. Braze Dashboard > Settings > API Keys
3. Make First Request Send a basic user profile update or event tracking call. Your preferred development environment (e.g., cURL, Postman, Python script)
4. Verify Data Confirm the data appears in your Braze dashboard. Braze Dashboard > Users > Search Users, or Engagement > Real-time Feed

Create an account and get keys

Braze operates on a custom enterprise pricing model, meaning direct self-service sign-up for a free tier is not publicly available. Prospective users must engage with the Braze sales team to establish an account and discuss specific pricing based on their needs. Details on this process are available on the Braze pricing page.

Once your Braze account is provisioned, you will gain access to your Braze dashboard. From there, you can generate the necessary API keys for integration:

  1. Log in to your Braze dashboard.
  2. Navigate to Settings > API Keys.
  3. Create a new REST API Key, ensuring it has the necessary permissions for the API calls you intend to make (e.g., users.track, messages.send).
  4. Note your unique Braze REST API Key. This key authenticates your API requests.
  5. Identify your Braze instance URL (e.g., rest.iad-01.braze.com for US instances, or rest.eur-01.braze.com for European instances). This URL is part of the API endpoint for your specific Braze deployment and is crucial for directing your requests to the correct server. You can find your instance URL within the Braze API documentation or by inspecting existing API calls in your dashboard.

For mobile and web SDK integrations, you will also find SDK-specific API keys and configuration details within the same Settings section, often under App Settings. These are distinct from REST API keys and are used for client-side data collection.

Your first request

Making your first API request to Braze typically involves tracking a user event or updating user attributes. This confirms your API key and instance URL are correctly configured. We will use the /users/track endpoint for this example, which allows you to create or update user profiles and record custom events. The Braze /users/track endpoint documentation provides comprehensive details.

Endpoint: /users/track

Method: POST

Headers:

  • Content-Type: application/json
  • Authorization: Bearer YOUR_BRAZE_REST_API_KEY

Replace YOUR_BRAZE_REST_API_KEY with the key you generated.

Example Request Body (JSON):

{
  "attributes": [
    {
      "external_id": "user_12345",
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "[email protected]",
      "custom_attribute_example": "value"
    }
  ],
  "events": [
    {
      "external_id": "user_12345",
      "name": "app_opened",
      "time": "2026-05-29T10:00:00Z"
    }
  ]
}

Using cURL (replace placeholders):

curl -X POST "https://YOUR_BRAZE_INSTANCE_URL/users/track" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_BRAZE_REST_API_KEY" \
     -d '{
           "attributes": [
             {
               "external_id": "user_12345",
               "first_name": "Jane",
               "last_name": "Doe",
               "email": "[email protected]",
               "custom_attribute_example": "value"
             }
           ],
           "events": [
             {
               "external_id": "user_12345",
               "name": "app_opened",
               "time": "2026-05-29T10:00:00Z"
             }
           ]
         }'

Replace YOUR_BRAZE_INSTANCE_URL with your specific Braze instance (e.g., rest.iad-01.braze.com) and YOUR_BRAZE_REST_API_KEY with your actual API key.

Expected Response (Successful):

{
  "message": "success",
  "attributes_processed": 1,
  "events_processed": 1,
  "errors": []
}

After sending the request, verify the data in your Braze dashboard. You can search for the user by their external_id (user_12345 in this example) under Users > Search Users. The user's profile should display the updated attributes and the recorded event. Real-time events can also be observed in Engagement > Real-time Feed.

For more complex scenarios or different programming languages, Braze provides API libraries for Python, Ruby, and Node.js, which abstract the raw HTTP requests.

Common next steps

Once you have successfully made your first API call and verified data ingestion, you can proceed with more advanced integrations and use cases:

  1. Integrate Mobile/Web SDKs: For client-side data collection and in-app messaging, integrate the relevant Braze SDK into your applications. Braze offers SDKs for iOS, Android, Web, React Native, and other platforms. This enables automatic collection of session data, push token registration, and in-app message display.

  2. Track Additional User Data: Expand your use of the /users/track endpoint to record more custom attributes and events relevant to your business logic. This enriches user profiles and allows for more granular segmentation and personalization. Consider key lifecycle events and user properties that drive your marketing strategies, as outlined in general customer data platform best practices by sources like Segment's CDP guide.

  3. Send Messages: Utilize the Braze Messaging API to send targeted push notifications, emails, in-app messages, or SMS based on user behavior or segments. The Braze Messaging endpoints allow programmatic triggering of campaigns.

  4. Create Segments and Campaigns: Within the Braze dashboard, define user segments based on the data you've ingested. Then, create and launch campaigns (e.g., Canvas, campaigns within Braze) to engage these segments with personalized messages and journeys. This is where the core value of Braze's journey orchestration becomes apparent.

  5. Webhooks and Integrations: Explore Braze's webhook capabilities to send data out of Braze to other systems, or integrate with third-party platforms for enhanced functionality, such as ad network retargeting or data warehousing. The Braze platform integrations documentation provides a list of supported partners.

  6. A/B Testing and Analytics: Leverage Braze's built-in analytics and A/B testing features to optimize your campaigns and understand user behavior. Continuously test different messaging strategies, timing, and content to improve engagement metrics.

Troubleshooting the first call

If your first API call to Braze does not return a success message or the data does not appear in the dashboard, consider the following common issues:

  • Incorrect API Key: Ensure the Authorization header uses the correct REST API Key, generated from your Braze dashboard. Double-check for typos or leading/trailing spaces. SDK keys are not interchangeable with REST API keys.

  • Incorrect Instance URL: Verify that your API request targets the correct Braze instance URL (e.g., rest.iad-01.braze.com, rest.eur-01.braze.com). Using the wrong region will result in connection errors or unauthorized responses. Refer to the Braze documentation on endpoint domains.

  • Missing or Malformed Headers: Confirm that the Content-Type: application/json header is present and correctly formatted. The Authorization: Bearer YOUR_BRAZE_REST_API_KEY header must also be precise.

  • Invalid JSON Payload: A common error is malformed JSON in the request body. Use a JSON linter to validate your payload. Ensure all keys are double-quoted and values are correctly typed (strings in quotes, numbers without, booleans as true/false).

  • API Key Permissions: Check the permissions assigned to your API Key in the Braze dashboard. For /users/track, the key needs permissions for users.track or broader user data management. If permissions are too restrictive, the API call will be rejected.

  • Network Issues: Ensure your server or development environment can reach the Braze API endpoint. Firewall rules or proxy settings might block outbound requests. A basic network connectivity test (e.g., ping or curl to the base domain) can help diagnose this.

  • Rate Limits: While less likely for a first call, be aware that Braze APIs have rate limits. If you are sending many requests rapidly, subsequent calls might be throttled. The response headers usually indicate rate limit status.

  • Error Messages: Pay close attention to the error messages returned in the API response. Braze's API attempts to provide descriptive errors that can guide you to the specific problem.

  • Dashboard Verification Delay: Sometimes, there can be a slight delay (a few minutes) before data appears in the Braze dashboard, especially for new users or events. Wait a short period and refresh the dashboard before concluding an issue exists.