{"id":18575454,"url":"https://github.com/braze-community/braze-node","last_synced_at":"2025-04-09T16:07:41.944Z","repository":{"id":43475886,"uuid":"510506665","full_name":"braze-community/braze-node","owner":"braze-community","description":"📫 Node.js library for Braze API.","archived":false,"fork":false,"pushed_at":"2025-04-08T05:02:29.000Z","size":22480,"stargazers_count":13,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T16:07:19.535Z","etag":null,"topics":["api","appboy","braze","braze-api","javascript","nodejs","npm","rest","sdk","typescript"],"latest_commit_sha":null,"homepage":"https://braze-community.github.io/braze-node","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/braze-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-04T21:24:05.000Z","updated_at":"2025-04-08T05:01:32.000Z","dependencies_parsed_at":"2023-11-21T05:32:18.669Z","dependency_job_id":"99bc806e-2d2c-4821-9074-7d21c24feabc","html_url":"https://github.com/braze-community/braze-node","commit_stats":null,"previous_names":["braze-community/braze-node","remarkablemark/braze-api"],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braze-community%2Fbraze-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braze-community%2Fbraze-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braze-community%2Fbraze-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braze-community%2Fbraze-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/braze-community","download_url":"https://codeload.github.com/braze-community/braze-node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065287,"owners_count":21041871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","appboy","braze","braze-api","javascript","nodejs","npm","rest","sdk","typescript"],"created_at":"2024-11-06T23:19:50.983Z","updated_at":"2025-04-09T16:07:41.924Z","avatar_url":"https://github.com/braze-community.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- readme-start --\u003e\n\n\u003c!-- readme-content-start --\u003e\n\n# braze-api\n\n[![NPM](https://nodei.co/npm/braze-api.png)](https://nodei.co/npm/braze-api/)\n\n[![NPM version](https://img.shields.io/npm/v/braze-api.svg)](https://www.npmjs.com/package/braze-api)\n[![build](https://github.com/braze-community/braze-node/actions/workflows/build.yml/badge.svg)](https://github.com/braze-community/braze-node/actions/workflows/build.yml)\n[![codecov](https://codecov.io/gh/braze-community/braze-node/branch/master/graph/badge.svg?token=QHPI1I0XI3)](https://codecov.io/gh/braze-community/braze-node)\n[![NPM downloads](https://badgen.net/npm/dm/braze-api)](https://www.npmjs.com/package/braze-api)\n\nNode.js library for [Braze](https://www.braze.com/). See [docs](https://braze-community.github.io/braze-node/) and [demo](https://replit.com/@remarkablemark/braze-api). The types are from [Braze's Postman collection](https://documenter.getpostman.com/view/4689407/SVYrsdsG).\n\n## Quick Start\n\n```ts\nimport { Braze } from 'braze-api'\n\nconst braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')\n\nawait braze.messages.send({\n  external_user_ids: ['your_external_user_id'],\n  messages: {\n    email: {\n      app_id: 'your_app_id',\n      from: 'Company \u003ccompany@example.com\u003e',\n      email_template_id: 'your_email_template_id',\n    },\n  },\n})\n```\n\n## Documentation\n\n- [TypeDoc](https://braze-community.github.io/braze-node/)\n- [Braze API Guide](https://www.braze.com/docs/api/)\n- [Braze's Postman collection](https://documenter.getpostman.com/view/4689407/SVYrsdsG)\n\n## Prerequisites\n\n- [Node.js](https://nodejs.org/)\n- [Braze account](https://www.braze.com/get-started)\n\n## Installation\n\n[NPM](https://www.npmjs.com/package/braze-api):\n\n```sh\nnpm install braze-api\n```\n\n[Yarn](https://yarnpkg.com/package/braze-api):\n\n```sh\nyarn add braze-api\n```\n\n## Usage\n\nThe package needs to be configured with your account's REST endpoint and API key:\n\n```ts\nconst { Braze } = require('braze-api')\n\nconst braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')\n```\n\nThe same can be done with ES Modules:\n\n```ts\nimport { Braze } from 'braze-api'\n\nconst braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')\n```\n\n### API URL\n\nUse the [REST endpoint](https://www.braze.com/docs/api/basics#endpoints) provisioned to your account when you log in to the dashboard:\n\n| Instance | REST Endpoint                 |\n| -------- | ----------------------------- |\n| US-01    | https://rest.iad-01.braze.com |\n| US-02    | https://rest.iad-02.braze.com |\n| US-03    | https://rest.iad-03.braze.com |\n| US-04    | https://rest.iad-04.braze.com |\n| US-05    | https://rest.iad-05.braze.com |\n| US-06    | https://rest.iad-06.braze.com |\n| US-08    | https://rest.iad-08.braze.com |\n| EU-01    | https://rest.fra-01.braze.eu  |\n| EU-02    | https://rest.fra-02.braze.eu  |\n\n### API Key\n\nThe [API key](https://www.braze.com/docs/api/basics#creating-and-managing-rest-api-keys) can be created in your Braze dashboard.\n\n## API Methods\n\nThe library supports the following [Braze API endpoints](https://www.braze.com/docs/api/home). Pull requests are welcome!\n\n### Campaigns\n\n- [ ] /campaigns/data_series\n- [ ] /campaigns/details\n- [x] /campaigns/list\n- [ ] /sends/data_series\n\n### Canvas\n\n- [ ] /canvas/data_series\n- [ ] /canvas/data_summary\n- [ ] /canvas/details\n- [x] /canvas/list\n\n### Catalogs\n\n- [ ] DELETE /catalogs/{catalog_name}/items\n- [ ] PATCH /catalogs/{catalog_name}/items\n- [ ] POST /catalogs/{catalog_name}/items\n- [ ] PUT /catalogs/{catalog_name}/items/\n- [ ] DELETE /catalogs/{catalog_name}/items/{item_id}\n- [x] GET /catalogs/{catalog_name}/items/{item_id}\n- [x] GET /catalogs/{catalog_name}/items\n- [ ] PATCH /catalogs/{catalog_name}/items/{item_id}\n- [ ] POST /catalogs/{catalog_name}/items/{item_id}\n- [ ] PUT /catalogs/{catalog_name}/items/{item_id}\n- [ ] DELETE /catalogs/{catalog_name}\n- [x] GET /catalogs\n- [ ] POST /catalogs\n\n### Content Blocks\n\n- [x] /content_blocks/list\n- [x] /content_blocks/info\n- [x] /content_blocks/create\n- [x] /content_blocks/update\n\n### Custom Events\n\n- [ ] /events/list\n- [ ] /events/data_series\n\n### Email List\n\n- [ ] /email/hard_bounces\n- [ ] /email/unsubscribes\n- [x] /email/blacklist\n- [ ] /email/status\n- [x] /email/bounce/remove\n- [x] /email/spam/remove\n\n### Email Templates\n\n- [x] /templates/email/list\n- [x] /templates/email/info\n- [x] /templates/email/create\n- [x] /templates/email/update\n\n### KPI\n\n- [ ] /kpi/new_users/data_series\n- [ ] /kpi/dau/data_series\n- [ ] /kpi/mau/data_series\n- [ ] /kpi/uninstalls/data_series\n\n### News Feed\n\n- [ ] /feed/data_series\n- [ ] /feed/details\n- [ ] /feed/list\n\n### Purchases\n\n- [ ] /purchases/product_list\n- [ ] /purchases/quantity_series\n- [ ] /purchases/revenue_series\n\n### Preference Center\n\n- [ ] /preference_center/v1/{preferenceCenterExternalId}/url/{userId}\n- [ ] /preference_center/v1/list\n- [ ] /preference_center/v1/{preferenceCenterExternalId}\n- [ ] /preference_center/v1\n- [ ] /preference_center/v1/{preferenceCenterExternalId}\n\n### Schedule Messages\n\n- [x] /messages/scheduled_broadcasts\n- [x] /messages/schedule/delete\n- [x] /canvas/trigger/schedule/delete\n- [x] /campaigns/trigger/schedule/delete\n- [x] /messages/schedule/create\n- [x] /campaigns/trigger/schedule/create\n- [x] /messages/schedule/update\n- [x] /campaigns/trigger/schedule/update\n- [x] /canvas/trigger/schedule/create\n- [x] /canvas/trigger/schedule/update\n\n### SCIM\n\n- [ ] DELETE /scim/v2/Users/{id}\n- [ ] GET /scim/v2/Users?filter={userName@example.com}\n- [ ] GET /scim/v2/Users/{id}\n- [ ] POST /scim/v2/Users\n- [ ] PUT /scim/v2/Users/{id}\n\n### Segments\n\n- [x] /segments/list\n- [x] /segments/data_series\n- [x] /segments/details\n\n### Send Messages\n\n- [x] /sends/id/create\n- [x] /messages/send\n- [x] /transactional/v1/campaigns/{{CAMPAIGN_ID}}/send\n- [x] /campaigns/trigger/send\n- [x] /canvas/trigger/send\n\n### Sessions\n\n- [ ] /sessions/data_series\n\n### SMS\n\n- [ ] /sms/invalid_phone_numbers\n- [ ] /sms/invalid_phone_numbers/remove\n\n### Subscription Groups\n\n- [x] /subscription/status/get\n- [x] /subscription/user/status\n- [x] /subscription/status/set\n- [x] /v2/subscription/status/set\n\n### User Data\n\n- [x] /users/export/global_control_group\n- [x] /users/export/ids\n- [x] /users/export/segment\n- [x] /users/external_ids/remove\n- [x] /users/external_ids/rename\n- [x] /users/alias/new\n- [x] /users/delete\n- [x] /users/identify\n- [x] /users/track\n- [x] /users/alias/update\n- [x] /users/merge\n\n### Live Activity\n\n- [ ] /messages/live_activity/update\n\n## Contributing\n\nContributions are welcome! Check out the [guide](https://github.com/braze-community/braze-node/blob/master/.github/CONTRIBUTING.md). 👋\n\n## License\n\n[MIT](https://github.com/braze-community/braze-node/blob/master/LICENSE)\n\n\u003c!-- readme-content-end --\u003e\n\n\u003c!-- readme-content-placeholder --\u003e\n\n\u003c!-- readme-end --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraze-community%2Fbraze-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbraze-community%2Fbraze-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraze-community%2Fbraze-node/lists"}