Reference
Braze
Connect Braze to Alter Vault for secure API access
Overview
Section titled “Overview”Use Braze credentials to make authenticated API calls through Alter Vault without exposing API keys in code.
| Property | Value |
|---|---|
| Provider ID | braze |
| Category | Marketing |
| Credential Type | Bearer Token |
Step 1: Get Credentials
Section titled “Step 1: Get Credentials”Log in to Braze
Log in at dashboard.braze.com — you will be redirected to your cluster at dashboard.braze.com/sign_in.
Go to Settings → API Keys
Go to Settings → API Keys at dashboard.braze.com/app_settings/api_settings/.
Create a new API key
Click ‘Create New API Key’ and configure permissions.
Copy the REST API key
Copy the generated REST API key.
Find your instance URL
Find your instance URL on the dashboard (e.g. rest.iad-02.braze.com) for the Instance URL field.
Step 2: Add to Alter Vault
Section titled “Step 2: Add to Alter Vault”Open the Developer Portal
Go to portal.alterauth.com and navigate to the application.
Add Braze
Go to Managed Secrets > Add Provider > Braze.
Enter credentials
Paste your REST API Key into the credential field.
Enter the instance URL
Paste your REST endpoint (e.g. rest.iad-02.braze.com) into the Braze Instance URL field — copy it from Settings → API Keys in the Braze
dashboard. Alter derives this credential’s allowed hosts from that exact
host, so proxied calls can only ever reach your cluster. The allowlist
cannot be widened or edited separately; rotate the credential with a new
endpoint to retarget it.
Save
Click Save. You’ll receive a grant_id to use with the SDK.
Using in Code
Section titled “Using in Code”response = await alter_app.request( HttpMethod.GET, "https://YOUR_BRAZE_INSTANCE_URL/campaigns/list", grant_id="YOUR_GRANT_ID",)- Your Braze dashboard URL is cluster-specific. Log in via dashboard.braze.com to be redirected to your cluster automatically.
Policy-cataloged operations
Section titled “Policy-cataloged operations”Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.
| Operation ID | Families | Method | Provider path |
|---|---|---|---|
post:/messages/send | send | POST | /messages/send |
post:/campaigns/trigger/send | send | POST | /campaigns/trigger/send |
post:/canvas/trigger/send | send | POST | /canvas/trigger/send |
post:/transactional/v1/campaigns/{campaign_id}/send | send | POST | /transactional/v1/campaigns/{campaign_id}/send |
post:/messages/schedule/create | send, write | POST | /messages/schedule/create |
post:/messages/schedule/update | send, write | POST | /messages/schedule/update |
post:/messages/schedule/delete | delete | POST | /messages/schedule/delete |
post:/campaigns/trigger/schedule/create | send, write | POST | /campaigns/trigger/schedule/create |
post:/campaigns/trigger/schedule/update | send, write | POST | /campaigns/trigger/schedule/update |
post:/campaigns/trigger/schedule/delete | delete | POST | /campaigns/trigger/schedule/delete |
post:/canvas/trigger/schedule/create | send, write | POST | /canvas/trigger/schedule/create |
post:/canvas/trigger/schedule/update | send, write | POST | /canvas/trigger/schedule/update |
post:/canvas/trigger/schedule/delete | delete | POST | /canvas/trigger/schedule/delete |
post:/sends/id/create | write | POST | /sends/id/create |
get:/messages/scheduled_broadcasts | read | GET | /messages/scheduled_broadcasts |
post:/users/track | write | POST | /users/track |
post:/users/delete | delete | POST | /users/delete |
post:/users/identify | write | POST | /users/identify |
post:/users/merge | write | POST | /users/merge |
post:/users/alias/new | write | POST | /users/alias/new |
post:/users/external_ids/remove | delete | POST | /users/external_ids/remove |
post:/users/external_ids/rename | write | POST | /users/external_ids/rename |
post:/users/export/ids | read | POST | /users/export/ids |
post:/email/blacklist | write | POST | /email/blacklist |
post:/email/blocklist | write | POST | /email/blocklist |
post:/email/bounce/remove | write | POST | /email/bounce/remove |
post:/email/spam/remove | write | POST | /email/spam/remove |
post:/email/status | write | POST | /email/status |
get:/email/hard_bounces | read | GET | /email/hard_bounces |
get:/email/unsubscribes | read | GET | /email/unsubscribes |
post:/subscription/status/set | write | POST | /subscription/status/set |
post:/v2/subscription/status/set | write | POST | /v2/subscription/status/set |
get:/campaigns/list | read | GET | /campaigns/list |
get:/campaigns/details | read | GET | /campaigns/details |
get:/canvas/list | read | GET | /canvas/list |
get:/canvas/details | read | GET | /canvas/details |
post:/templates/email/create | write | POST | /templates/email/create |
post:/templates/email/update | write | POST | /templates/email/update |
get:/templates/email/list | read | GET | /templates/email/list |
get:/templates/email/info | read | GET | /templates/email/info |