
Stack Monitors
Monitor Braze with Crowswatch
Track aggregate engagement KPIs, campaign and Canvas analytics, sessions, and revenue from your Braze workspace directly from Crowswatch. These feeds are aggregate counts and rates only, so no end-user personal data is ingested.
What This Integration Provides
- Engagement KPIs: daily new users, daily active users, monthly active users, and daily app uninstalls
- Sessions: app sessions over time across the workspace
- Revenue: total revenue, number of purchases, and the list of product IDs
- Messaging analytics: campaign, Canvas (series and summary), and per-send performance
- Custom events: occurrences of a custom event over time
- Segments: estimated segment size over time
Requirements
| Requirement | Detail |
|---|---|
| Braze account | Any plan with REST API access |
| REST API key | With the data-series permissions for the feeds you want (see below) |
| REST endpoint | Your region instance host (Braze is region-sharded) |
| Estimated setup time | ~5 minutes |
Step 1: Create a REST API Key
Braze REST API keys are created by you inside the Braze dashboard. They are not generated by an external tool.
- Log in to Braze and go to Settings → APIs and Identifiers
- Open the API Keys tab and click Create API Key
- Name it something identifiable, for example
Crowswatch monitoring - Grant the read-only data-series permissions for the feeds you want to monitor (see the permissions table below). No send or user-write permissions are needed
- Save, then copy the key. It is only shown once
Step 2: Find Your REST Endpoint
Braze is region-sharded, so there is no single base URL. In Crowswatch you pick your instance by its label and the REST host is set behind the scenes. If your cluster is not listed, use the manual override field. Note that US-10 uses the rest.us-10host pattern, not rest.iad-10, and there is no US-09.
| Instance | REST endpoint |
|---|---|
| US-01 | https://rest.iad-01.braze.com |
| US-02 | https://rest.iad-02.braze.com |
| US-03 | https://rest.iad-03.braze.com |
| US-04 | https://rest.iad-04.braze.com |
| US-05 | https://rest.iad-05.braze.com |
| US-06 | https://rest.iad-06.braze.com |
| US-07 | https://rest.iad-07.braze.com |
| US-08 | https://rest.iad-08.braze.com |
| US-10 | https://rest.us-10.braze.com |
| EU-01 | https://rest.fra-01.braze.eu |
| EU-02 | https://rest.fra-02.braze.eu |
| AU-01 | https://rest.au-01.braze.com |
| ID-01 | https://rest.id-01.braze.com |
| JP-01 | https://rest.jp-01.braze.com |
| KR-01 | https://rest.kr-01.braze.com |
Step 3: Add Credentials to Crowswatch
Navigate to: Crowswatch → Integrations → Connect Braze
| Field | Value |
|---|---|
| REST API Key | The key created in Step 1 |
| Instance | Your Braze instance label (or the REST host via manual override) |
Use Check feed access after entering your key to validate which feeds it can reach before you connect.
Available Feeds and Required Permissions
Each feed needs a specific Braze permission on your API key. Crowswatch names the exact permission when a feed is unavailable.
| Feed | Required permission |
|---|---|
| Daily new users (KPI) | kpi.new_users.data_series |
| Daily active users (KPI) | kpi.dau.data_series |
| Monthly active users (KPI) | kpi.mau.data_series |
| App uninstalls (KPI) | kpi.uninstalls.data_series |
| Campaign analytics | campaigns.data_series |
| Canvas analytics (series) | canvas.data_series |
| Canvas analytics (summary) | canvas.data_summary |
| Send analytics | sends.data_series |
| Custom event analytics | events.data_series |
| Sessions | sessions.data_series |
| Revenue | purchases.revenue_series |
| Number of purchases | purchases.quantity_series |
| Product IDs | purchases.product_list |
| Segment analytics | segments.data_series |
Scope Validation: 401 vs 403
When you connect, Crowswatch validates each selected feed against your key. The two failure cases are handled separately because they mean different things.
- 401 Unauthorized: the key is invalid, missing, revoked, or disabled. This affects every feed, so it surfaces as a single connect-level error. Re-check the key and the selected instance
- 403 Forbidden: the key is valid but lacks the permission for that one feed. Crowswatch marks just that feed unavailable and names the permission to grant from the table above
Rate Limits and Polling
- Most endpoints share a default limit of 250,000 requests per hour
- The campaign analytics endpoint has its own limit of 50,000 requests per minute
Crowswatch polls conservatively. Aggregate daily series do not need frequent polling, so these limits are comfortable.
Security
- The REST API key is a secret. Crowswatch stores it encrypted and never exposes it after entry, never logs it, and never puts it in a URL
- Grant only the read-only data-series permissions for the feeds you monitor
- Create a dedicated key for Crowswatch and rotate it periodically
Troubleshooting
Every feed reports a key problem
This is a 401. The key is invalid, revoked, or disabled, or the selected instance is wrong. Confirm the key, then confirm your instance matches your workspace region (US-10 uses rest.us-10, not rest.iad-10).
One feed shows a missing scope
This is a 403. The key is valid but lacks that feed’s permission. Grant the listed permission in Braze under Settings, APIs and Identifiers, then run Check feed access again.
No data after connecting
Confirm the instance or host matches your workspace region, and that the key holds the data-series permission for the feeds you selected.
A campaign, Canvas, or segment feed asks for a selection
Those analytics are scoped to a specific entity. Account-wide feeds (KPIs, sessions, revenue) chart immediately; entity selection for the others arrives with the upcoming monitoring features.

