{"files":{"SKILL.md":"---\nname: braze-endpoints\ndescription: \"Braze Endpoints API skill. Use when working with Braze Endpoints for email, campaigns, sends. Covers 68 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Braze Endpoints\n\n## Auth\nApiKey Authorization in header\n\n## Base URL\nNot specified.\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /email/hard_bounces -- this endpoint allows you to pull a list of email addresses that have “hard bounced” your email messages within a certain time frame\n3. POST /email/status -- create first status\n\n## Endpoints\n68 endpoints across 17 groups. See references/api-spec.lap for full details.\n\n### Email\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /email/hard_bounces | This endpoint allows you to pull a list of email addresses that have “hard bounced” your email messages within a certain time frame |\n| GET | /email/unsubscribes | Use this endpoint to return emails that have unsubscribed during the time period from `start_date` to `end_date` |\n| POST | /email/status | This endpoint allows you to set the email subscription state for your users |\n| POST | /email/bounce/remove | This endpoint allows you to remove email addresses from your Braze bounce list |\n| POST | /email/spam/remove | This endpoint allows you to remove email addresses from your Braze spam list |\n| POST | /email/blacklist | Blacklisting an email address will unsubscribe the user from email and mark them as hard bounced |\n\n### Campaigns\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /campaigns/data_series | This endpoint allows you to retrieve a daily series of various stats for a campaign over time |\n| GET | /campaigns/details | This endpoint allows you to retrieve relevant information on a specified campaign, which can be identified by the `campaign_id` |\n| GET | /campaigns/list | This endpoint allows you to export a list of campaigns, each of which will include its name, campaign API identifier, whether it is an API campaign, and tags associated with the campaign |\n| POST | /campaigns/trigger/schedule/delete | The delete schedule endpoint allows you to cancel a message that you previously scheduled API Triggered Campaigns before it has been sent |\n| POST | /campaigns/trigger/schedule/create | Use this endpoint to trigger API-triggered campaigns, which are created on the dashboard and initiated via the API |\n| POST | /campaigns/trigger/schedule/update | Use this endpoint to update scheduled API Triggered Campaigns, which are created on the Dashboard and initiated via the API |\n| POST | /campaigns/trigger/send | API-triggered delivery allows you to house message content inside of the Braze dashboard while dictating when a message is sent, and to whom via your API |\n\n### Sends\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /sends/data_series | This endpoint allows you to retrieve a daily series of various stats for a tracked `send_id` |\n| POST | /sends/id/create | Braze’s Send Identifier adds the ability to send messages and track message performance entirely programmatically, without campaign creation for each send |\n\n### Canvas\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /canvas/data_series | This endpoint allows you to export time series data for a Canvas |\n| GET | /canvas/data_summary | This endpoint allows you to export rollups of time series data for a Canvas, providing a concise summary of a Canvas' results |\n| GET | /canvas/details | This endpoint allows you to export metadata about a Canvas, such as the name, time created, current status, and more |\n| GET | /canvas/list | This endpoint allows you to export a list of Canvases, including the name, Canvas API identifier and associated tags |\n| POST | /canvas/trigger/schedule/delete | The delete schedule endpoint allows you to cancel a message that you previously scheduled API-triggered Canvases before it has been sent |\n| POST | /canvas/trigger/schedule/create | Use this endpoint to trigger API Triggered Canvases, which are created on the Dashboard and initiated via the API |\n| POST | /canvas/trigger/schedule/update | Use this endpoint to update scheduled API-Triggered Canvases, which are created on the dashboard and initiated via the API |\n| POST | /canvas/trigger/send | API-Triggered Delivery allows you to house message content inside of the Braze dashboard while dictating when a message is sent, and to whom via your API |\n\n### Events\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /events/list | This endpoint allows you to export a list of custom events that have been recorded for your app |\n| GET | /events/data_series | This endpoint allows you to retrieve a series of the number of occurrences of a custom event in your app over a designated time period |\n\n### Kpi\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /kpi/new_users/data_series | This endpoint allows you to retrieve a daily series of the total number of new users on each date |\n| GET | /kpi/dau/data_series | This endpoint allows you to retrieve a daily series of the total number of unique active users on each date |\n| GET | /kpi/mau/data_series | This endpoint allows you to retrieve a daily series of the total number of unique active users over a 30-day rolling window |\n| GET | /kpi/uninstalls/data_series | This endpoint allows you to retrieve a daily series of the total number of uninstalls on each date |\n\n### Feed\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /feed/data_series | This endpoint allows you to retrieve a daily series of engagement stats for a card over time |\n| GET | /feed/details | This endpoint allows you to retrieve relevant information on the card, which can be identified by the `card_id` |\n| GET | /feed/list | This endpoint allows you to export a list of News Feed cards, each of which will include its name and Card API Identifier |\n\n### Purchases\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /purchases/product_list | This endpoint returns paginated lists of product IDs |\n\n### Segments\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /segments/list | This endpoint allows you to export a list of segments, each of which will include its name, Segment API Identifier, and whether it has analytics tracking enabled |\n| GET | /segments/data_series | This endpoint allows you to retrieve a daily series of the size of a segment over time for a segment |\n| GET | /segments/details | This endpoint allows you to retrieve relevant information on the segment, which can be identified by the `segment_id` |\n\n### Sessions\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /sessions/data_series | This endpoint allows you to retrieve a series of the number of sessions for your app over a designated time period |\n\n### Users\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /users/export/ids | This endpoint allows you to export data from any user profile by specifying a form of user identifier |\n| POST | /users/export/segment | This endpoint allows you to export all the users within a segment |\n| POST | /users/export/global_control_group | This endpoint allows you to export all the users within the Global Control Group |\n| POST | /users/external_ids/remove | > **Note:** For security purposes, this feature is disabled by default |\n| POST | /users/external_ids/rename | > **Note:** For security purposes, this feature is disabled by default |\n| POST | /users/alias/new | Use this endpoint to add new user aliases for existing identified users, or to create new unidentified users |\n| POST | /users/delete | This endpoint allows you to delete any user profile by specifying a known user identifier |\n| POST | /users/identify | Use this endpoint to identify an unidentified (alias-only) user |\n| POST | /users/track | Use this endpoint to record custom events, purchases, and update user profile attributes |\n\n### Messages\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /messages/scheduled_broadcasts | You can view a JSON list of upcoming and scheduled Campaigns and Canvases using the following information and parameters |\n| POST | /messages/schedule/delete | The delete scheduled messages endpoint allows you to cancel a message that you previously scheduled _before_ it has been sent |\n| POST | /messages/schedule/create | Use this endpoint to send messages directly from the API |\n| POST | /messages/schedule/update | The messages update schedule endpoint accepts updates to either the `schedule` or `messages` parameter or both |\n| POST | /messages/send | This endpoint allows you send your messages using our API |\n\n### Transactional\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /transactional/v1/campaigns/YOUR_CAMPAIGN_ID_HERE/send | The Send Transactional Email endpoint allows you to send immediate, ad-hoc messages to a designated user |\n\n### Sms\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /sms/invalid_phone_numbers | This endpoint allows you to pull a list of phone numbers that have been deemed “invalid” within a certain time frame |\n| POST | /sms/invalid_phone_numbers/remove | This endpoint allows you to remove “invalid” phone numbers from Braze’s invalid list |\n\n### Subscription\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /subscription/status/get | Use the following endpoint to get the subscription state of a user in a subscription group |\n| GET | /subscription/user/status | Use this endpoint to list and get the subscription groups of a certain user |\n| POST | /subscription/status/set | Use the endpoint below to update the subscription state of a user on the Braze dashboard |\n| GET | /subscription/status/get | Use this endpoint to get the subscription state of a user in a subscription group |\n| GET | /subscription/user/status | Use this endpoint to list and get the subscription groups of a certain user |\n| POST | /subscription/status/set | Use this endpoint to update the subscription state of a user on the Braze dashboard |\n\n### Content_blocks\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /content_blocks/list | This endpoint will list your existing [Content Blocks](https://www |\n| GET | /content_blocks/info | This endpoint will call information for an existing [Content Block](https://www |\n| POST | /content_blocks/create | This endpoint will create a [Content Block](https://www |\n| POST | /content_blocks/update | This endpoint will update a [Content Block](https://www |\n\n### Templates\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /templates/email/list | Use this endpoint to get a list of available templates in your Braze account |\n| GET | /templates/email/info | Use to get information on your email templates |\n| POST | /templates/email/create | Use the Template REST APIs to programmatically manage the email templates that you have stored on the Braze dashboard, on the Templates & Media page |\n| POST | /templates/email/update | Use the Template REST APIs to programmatically manage the email templates that you have stored on the Braze dashboard, on the Templates & Media page |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all hard_bounces?\" -> GET /email/hard_bounces\n- \"List all unsubscribes?\" -> GET /email/unsubscribes\n- \"Create a status?\" -> POST /email/status\n- \"Create a remove?\" -> POST /email/bounce/remove\n- \"Create a blacklist?\" -> POST /email/blacklist\n- \"List all data_series?\" -> GET /campaigns/data_series\n- \"List all details?\" -> GET /campaigns/details\n- \"List all list?\" -> GET /campaigns/list\n- \"List all data_summary?\" -> GET /canvas/data_summary\n- \"List all product_list?\" -> GET /purchases/product_list\n- \"Create a id?\" -> POST /users/export/ids\n- \"Create a segment?\" -> POST /users/export/segment\n- \"Create a global_control_group?\" -> POST /users/export/global_control_group\n- \"List all scheduled_broadcasts?\" -> GET /messages/scheduled_broadcasts\n- \"Create a delete?\" -> POST /messages/schedule/delete\n- \"Create a create?\" -> POST /messages/schedule/create\n- \"Create a update?\" -> POST /messages/schedule/update\n- \"Create a send?\" -> POST /messages/send\n- \"List all invalid_phone_numbers?\" -> GET /sms/invalid_phone_numbers\n- \"List all get?\" -> GET /subscription/status/get\n- \"List all status?\" -> GET /subscription/user/status\n- \"Create a set?\" -> POST /subscription/status/set\n- \"List all info?\" -> GET /content_blocks/info\n- \"Create a rename?\" -> POST /users/external_ids/rename\n- \"Create a new?\" -> POST /users/alias/new\n- \"Create a identify?\" -> POST /users/identify\n- \"Create a track?\" -> POST /users/track\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Braze Endpoints\n@auth ApiKey Authorization in header\n@endpoints 68\n@hint download_for_search\n@toc email(6), campaigns(7), sends(2), canvas(8), events(2), kpi(4), feed(3), purchases(1), segments(3), sessions(1), users(9), messages(5), transactional(1), sms(2), subscription(6), content_blocks(4), templates(4)\n\n@group email\n@endpoint GET /email/hard_bounces\n@desc This endpoint allows you to pull a list of email addresses that have “hard bounced” your email messages within a certain time frame\n@optional {start_date: str # (Optional*) String in YYYY-MM-DD format   Start date of the range to retrieve hard bounces, must be earlier than `end_date`. This is treated as midnight in UTC time by the API.  *You must provide either an `email` or a `start_date`, and an `end_date`., end_date: str # (Optional*) String in YYYY-MM-DD format  String in YYYY-MM-DD format. End date of the range to retrieve hard bounces. This is treated as midnight in UTC time by the API.  *You must provide either an `email` or a `start_date`, and an `end_date`., limit: str # (Optional) Integer  Optional field to limit the number of results returned. Defaults to 100, maximum is 500., offset: str # (Optional) Integer  Optional beginning point in the list to retrieve from., email: str # (Optional*) String  If provided, we will return whether or not the user has hard bounced.  *You must provide either an `email` or a `start_date`, and an `end_date`.}\n\n@endpoint GET /email/unsubscribes\n@desc Use this endpoint to return emails that have unsubscribed during the time period from `start_date` to `end_date`\n@optional {start_date: str # (Optional*) String in YYYY-MM-DD format  Start date of the range to retrieve unsubscribes, must be earlier than end_date. This is treated as midnight in UTC time by the API., end_date: str # (Optional*)  String in YYYY-MM-DD format  End date of the range to retrieve unsubscribes. This is treated as midnight in UTC time by the API., limit: str # (Optional) Integer  Optional field to limit the number of results returned. Limit must be greater than 1. Defaults to 100, maximum is 500., offset: str # (Optional) Integer   Optional beginning point in the list to retrieve from., sort_direction: str # (Optional) String  Pass in the value `asc` to sort unsubscribes from oldest to newest. Pass in `desc` to sort from newest to oldest. If sort_direction is not included, the default order is newest to oldest., email: str # (Optional*) String  If provided, we will return whether or not the user has unsubscribed.}\n\n@endpoint POST /email/status\n@desc This endpoint allows you to set the email subscription state for your users\n@required {email: str, subscription_state: str}\n\n@endpoint POST /email/bounce/remove\n@desc This endpoint allows you to remove email addresses from your Braze bounce list\n@required {email: str}\n\n@endpoint POST /email/spam/remove\n@desc This endpoint allows you to remove email addresses from your Braze spam list\n@required {email: str}\n\n@endpoint POST /email/blacklist\n@desc Blacklisting an email address will unsubscribe the user from email and mark them as hard bounced\n@required {email: [str]}\n\n@endgroup\n\n@group campaigns\n@endpoint GET /campaigns/data_series\n@desc This endpoint allows you to retrieve a daily series of various stats for a campaign over time\n@optional {campaign_id: str # (Required) String  See [campaign API identifier](https://www.braze.com/docs/api/identifier_types/).  The `campaign_id` for API campaigns can be found on the **Developer Console** and the campaign details page within your dashboard, or you can use the [Campaign List Endpoint](https://www.braze.com/docs/api/endpoints/export/campaigns/get_campaign_analytics/#campaign-list-endpoint)., length: str # (Required) Integer  Max number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., ending_at: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request.}\n\n@endpoint GET /campaigns/details\n@desc This endpoint allows you to retrieve relevant information on a specified campaign, which can be identified by the `campaign_id`\n@optional {campaign_id: str # (Required) String  See [campaign API identifier](https://www.braze.com/docs/api/identifier_types/).  The `campaign_id` for API campaigns can be found on the **Developer Console** and the campaign details page within your dashboard, or you can use the [Campaign List Endpoint](https://www.braze.com/docs/api/endpoints/export/campaigns/get_campaign_analytics/#campaign-list-endpoint).}\n\n@endpoint GET /campaigns/list\n@desc This endpoint allows you to export a list of campaigns, each of which will include its name, campaign API identifier, whether it is an API campaign, and tags associated with the campaign\n@optional {page: str # (Optional) Integer  The page of campaigns to return, defaults to 0 (returns the first set of up to 100)., include_archived: str # (Optional) Boolean  Whether or not to include archived campaigns, defaults to false., sort_direction: str # (Optional) String  - Sort creation time from newest to oldest: pass in the value `desc`. - Sort creation time from oldest to newest: pass in the value `asc`.  If `sort_direction` is not included, the default order is oldest to newest., last_edit.time[gt]: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Filters the results and only returns campaigns that were edited greater than the time provided till now. Format is `yyyy-MM-DDTHH:mm:ss`.}\n\n@endgroup\n\n@group sends\n@endpoint GET /sends/data_series\n@desc This endpoint allows you to retrieve a daily series of various stats for a tracked `send_id`\n@optional {campaign_id: str # (Required) String  See [Campaign API identifier](https://www.braze.com/docs/api/identifier_types/)., send_id: str # (Required) String  See [Send API identifier](https://www.braze.com/docs/api/identifier_types/)., length: str # (Required) Integer  Max number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., ending_at: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request.}\n\n@endgroup\n\n@group canvas\n@endpoint GET /canvas/data_series\n@desc This endpoint allows you to export time series data for a Canvas\n@optional {canvas_id: str # (Required) String  See [Canvas API Identifier](https://www.braze.com/docs/api/identifier_types/)., ending_at: str # (Required) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data export should end. Defaults to time of the request., starting_at: str # (Optional*) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)   Date on which the data export should begin.  *Either `length` or `starting_at` is required., length: str # (Optional*) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)   Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 14 (inclusive).  *Either `length` or `starting_at` is required., include_variant_breakdown: str # (Optional) Boolean  Whether or not to include variant stats (defaults to false)., include_step_breakdown: str # (Optional) Boolean  Whether or not to include step stats (defaults to false)., include_deleted_step_data: str # (Optional) Boolean  Whether or not to include step stats for deleted steps (defaults to false).}\n\n@endpoint GET /canvas/data_summary\n@desc This endpoint allows you to export rollups of time series data for a Canvas, providing a concise summary of a Canvas' results\n@optional {canvas_id: str # (Required) String   See [Canvas API identifier](https://www.braze.com/docs/api/identifier_types/)., ending_at: str # (Required) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string) Date on which the data export should end. Defaults to time of the request, starting_at: str # (Optional*) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data export should begin.  *Either `length` or `starting_at` is required., length: str # (Optional*) Integer  Max number of days before `ending_at` to include in the returned series. Must be between 1 and 14 (inclusive).  *Either `length` or `starting_at` is required., include_variant_breakdown: str # (Optional) Boolean  Whether or not to include variant stats (defaults to false)., include_step_breakdown: str # (Optional) Boolean  Whether or not to include step stats (defaults to false)., include_deleted_step_data: str # (Optional) Boolean  Whether or not to include step stats for deleted steps (defaults to false).}\n\n@endpoint GET /canvas/details\n@desc This endpoint allows you to export metadata about a Canvas, such as the name, time created, current status, and more\n@optional {canvas_id: str # (Required) String  See [Canvas API Identifier](https://www.braze.com/docs/api/identifier_types/)}\n\n@endpoint GET /canvas/list\n@desc This endpoint allows you to export a list of Canvases, including the name, Canvas API identifier and associated tags\n@optional {page: str # (Optional) Integer  The page of Canvases to return, defaults to `0` (returns the first set of up to 100)., include_archived: str # (Optional) Boolean  Whether or not to include archived Canvases, defaults to `false`., sort_direction: str # (Optional) String  - Sort creation time from newest to oldest: pass in the value `desc`. - Sort creation time from oldest to newest: pass in the value `asc`.  If `sort_direction` is not included, the default order is oldest to newest., last_edit.time[gt]: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Filters the results and only returns Canvases that were edited greater than the time provided till now. Format is `yyyy-MM-DDTHH:mm:ss`.}\n\n@endgroup\n\n@group events\n@endpoint GET /events/list\n@desc This endpoint allows you to export a list of custom events that have been recorded for your app\n@optional {page: str # (Optional) Integer  The page of event names to return, defaults to 0 (returns the first set of up to 250).}\n\n@endpoint GET /events/data_series\n@desc This endpoint allows you to retrieve a series of the number of occurrences of a custom event in your app over a designated time period\n@optional {event: str # (Required) String  The name of the custom event for which to return analytics., length: str # (Required) Integer  Maximum number of units (days or hours) before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., unit: str # (Optional) String  Unit of time between data points - can be `day` or `hour`, defaults to `day`., ending_at: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request., app_id: str # (Optional) String  App API identifier retrieved from the **Developer Console** to limit analytics to a specific app., segment_id: str # (Optional) String  See [Segment API identifier](https://www.braze.com/docs/api/identifier_types/). Segment ID indicating the analytics-enabled segment for which event analytics should be returned.}\n\n@endgroup\n\n@group kpi\n@endpoint GET /kpi/new_users/data_series\n@desc This endpoint allows you to retrieve a daily series of the total number of new users on each date\n@optional {length: str # (Required) Integer  Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., ending_at: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request., app_id: str # (Optional) String  App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.}\n\n@endpoint GET /kpi/dau/data_series\n@desc This endpoint allows you to retrieve a daily series of the total number of unique active users on each date\n@optional {length: str # (Required) Integer  Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., ending_at: str # (Optional)  Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string) Date on which the data series should end. Defaults to time of the request., app_id: str # (Optional) String  App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.}\n\n@endpoint GET /kpi/mau/data_series\n@desc This endpoint allows you to retrieve a daily series of the total number of unique active users over a 30-day rolling window\n@optional {length: str # (Required) Integer  Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., ending_at: str # (Optional)  Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request., app_id: str # (Optional) String  App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.}\n\n@endpoint GET /kpi/uninstalls/data_series\n@desc This endpoint allows you to retrieve a daily series of the total number of uninstalls on each date\n@optional {length: str # (Required) Integer  Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., ending_at: str # (Optional)  Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request., app_id: str # (Optional) String  App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.}\n\n@endgroup\n\n@group feed\n@endpoint GET /feed/data_series\n@desc This endpoint allows you to retrieve a daily series of engagement stats for a card over time\n@optional {card_id: str # (Required) String  See [Card API identifier](https://www.braze.com/docs/api/identifier_types/).  The `card_id` for a given card can be found in the **Developer Console** page and on the card details page within your dashboard, or you can use the [News Feed List Endpoint](https://www.braze.com/docs/api/endpoints/export/news_feed/get_news_feed_cards/)., length: str # (Required) Integer  Max number of units (days or hours) before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive)., unit: str # (Optional) String  Unit of time between data points. Can be `day` or `hour`, defaults to `day`., ending_at: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request.}\n\n@endpoint GET /feed/details\n@desc This endpoint allows you to retrieve relevant information on the card, which can be identified by the `card_id`\n@optional {card_id: str # (Required) String  See [Card API identifier](https://www.braze.com/docs/api/identifier_types/).  The `card_id` for a given card can be found in the **Developer Console** page and on the card details page within your dashboard, or you can use the [News Feed List Endpoint](https://www.braze.com/docs/api/endpoints/export/news_feed/get_news_feed_cards/).}\n\n@endpoint GET /feed/list\n@desc This endpoint allows you to export a list of News Feed cards, each of which will include its name and Card API Identifier\n@optional {page: str # (Optional) Integer  The page of cards to return, defaults to 0 (returns the first set of up to 100)., include_archived: str # (Optional) Boolean  Whether or not to include archived cards, defaults to false., sort_direction: str # (Optional) String  - Sort creation time from newest to oldest: pass in the value `desc`. - Sort creation time from oldest to newest: pass in the value `asc`.  If `sort_direction` is not included, the default order is oldest to newest.}\n\n@endgroup\n\n@group purchases\n@endpoint GET /purchases/product_list\n@desc This endpoint returns paginated lists of product IDs\n@optional {page: str # (Optional) Integer  The page of your product list that you would like to view.}\n\n@endgroup\n\n@group segments\n@endpoint GET /segments/list\n@desc This endpoint allows you to export a list of segments, each of which will include its name, Segment API Identifier, and whether it has analytics tracking enabled\n@optional {page: str # (Optional) Integer  The page of segments to return, defaults to 0 (returns the first set of up to 100)., sort_direction: str # (Optional) String  - Sort creation time from newest to oldest: pass in the value `desc`. - Sort creation time from oldest to newest: pass in the value `asc`.  If `sort_direction` is not included, the default order is oldest to newest.}\n\n@endpoint GET /segments/data_series\n@desc This endpoint allows you to retrieve a daily series of the size of a segment over time for a segment\n@optional {segment_id: str # (Required) String  See [Segment API identifier](https://www.braze.com/docs/api/identifier_types/).  The `segment_id` for a given segment can be found in your **Developer Console** within your Braze account or you can use the [Segment List Endpoint](https://www.braze.com/docs/api/endpoints/export/get_segment/)., length: str # (Required) Integer  Max number of days before `ending_at` to include in the returned series - must be between 1 and 100 (inclusive)., ending_at: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request.}\n\n@endpoint GET /segments/details\n@desc This endpoint allows you to retrieve relevant information on the segment, which can be identified by the `segment_id`\n@optional {segment_id: str # (Required) String  See [Segment API identifier](https://www.braze.com/docs/api/identifier_types/).  The `segment_id` for a given segment can be found in your **Developer Console** within your Braze account or you can use the [Segment List Endpoint](https://www.braze.com/docs/api/endpoints/export/get_segment/).}\n\n@endgroup\n\n@group sessions\n@endpoint GET /sessions/data_series\n@desc This endpoint allows you to retrieve a series of the number of sessions for your app over a designated time period\n@optional {length: str # (Required) Integer  Max number of days before `ending_at` to include in the returned series - must be between 1 and 100 (inclusive)., unit: str # (Optional) String  Unit of time between data points. Can be `day` or `hour`, defaults to `day`., ending_at: str # (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string)  Date on which the data series should end. Defaults to time of the request., app_id: str # (Optional) String  App API identifier retrieved from the **Developer Console** to limit analytics to a specific app., segment_id: str # (Required) String  See [Segment API identifier](https://www.braze.com/docs/api/identifier_types/).  The `segment_id` for a given segment can be found in your **Developer Console** within your Braze account or you can use the [Segment List Endpoint](https://www.braze.com/docs/api/endpoints/export/get_segment/).}\n\n@endgroup\n\n@group users\n@endpoint POST /users/export/ids\n@desc This endpoint allows you to export data from any user profile by specifying a form of user identifier\n@required {external_ids: [str], user_aliases: [map], device_id: str, braze_id: str, email_address: str, phone: str, fields_to_export: [str]}\n\n@endpoint POST /users/export/segment\n@desc This endpoint allows you to export all the users within a segment\n@required {segment_id: str, callback_endpoint: str, fields_to_export: [str], output_format: str}\n\n@endpoint POST /users/export/global_control_group\n@desc This endpoint allows you to export all the users within the Global Control Group\n@required {callback_endpoint: str, fields_to_export: [str], output_format: str}\n\n@endgroup\n\n@group messages\n@endpoint GET /messages/scheduled_broadcasts\n@desc You can view a JSON list of upcoming and scheduled Campaigns and Canvases using the following information and parameters\n@optional {end_time: str # (Required) String in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format  End date of the range to retrieve upcoming scheduled Campaigns and Canvases. This is treated as midnight in UTC time by the API.}\n\n@endpoint POST /messages/schedule/delete\n@desc The delete scheduled messages endpoint allows you to cancel a message that you previously scheduled _before_ it has been sent\n@required {schedule_id: str}\n\n@endgroup\n\n@group campaigns\n@endpoint POST /campaigns/trigger/schedule/delete\n@desc The delete schedule endpoint allows you to cancel a message that you previously scheduled API Triggered Campaigns before it has been sent\n@required {campaign_id: str, schedule_id: str}\n\n@endgroup\n\n@group canvas\n@endpoint POST /canvas/trigger/schedule/delete\n@desc The delete schedule endpoint allows you to cancel a message that you previously scheduled API-triggered Canvases before it has been sent\n@required {canvas_id: str, schedule_id: str}\n\n@endgroup\n\n@group messages\n@endpoint POST /messages/schedule/create\n@desc Use this endpoint to send messages directly from the API\n\n@endgroup\n\n@group campaigns\n@endpoint POST /campaigns/trigger/schedule/create\n@desc Use this endpoint to trigger API-triggered campaigns, which are created on the dashboard and initiated via the API\n\n@endgroup\n\n@group canvas\n@endpoint POST /canvas/trigger/schedule/create\n@desc Use this endpoint to trigger API Triggered Canvases, which are created on the Dashboard and initiated via the API\n@required {canvas_id: str, recipients: [map], audience: map, broadcast: bool, canvas_entry_properties: map, schedule: map}\n\n@endgroup\n\n@group messages\n@endpoint POST /messages/schedule/update\n@desc The messages update schedule endpoint accepts updates to either the `schedule` or `messages` parameter or both\n@required {schedule_id: str, schedule: map, messages: map}\n\n@endgroup\n\n@group campaigns\n@endpoint POST /campaigns/trigger/schedule/update\n@desc Use this endpoint to update scheduled API Triggered Campaigns, which are created on the Dashboard and initiated via the API\n@required {campaign_id: str, schedule_id: str, schedule: map}\n\n@endgroup\n\n@group canvas\n@endpoint POST /canvas/trigger/schedule/update\n@desc Use this endpoint to update scheduled API-Triggered Canvases, which are created on the dashboard and initiated via the API\n@required {canvas_id: str, schedule_id: str, schedule: map}\n\n@endgroup\n\n@group sends\n@endpoint POST /sends/id/create\n@desc Braze’s Send Identifier adds the ability to send messages and track message performance entirely programmatically, without campaign creation for each send\n@required {campaign_id: str, send_id: str}\n\n@endgroup\n\n@group messages\n@endpoint POST /messages/send\n@desc This endpoint allows you send your messages using our API\n\n@endgroup\n\n@group campaigns\n@endpoint POST /campaigns/trigger/send\n@desc API-triggered delivery allows you to house message content inside of the Braze dashboard while dictating when a message is sent, and to whom via your API\n@required {campaign_id: str, send_id: str, trigger_properties: str, broadcast: bool, audience: map, recipients: [map]}\n\n@endgroup\n\n@group canvas\n@endpoint POST /canvas/trigger/send\n@desc API-Triggered Delivery allows you to house message content inside of the Braze dashboard while dictating when a message is sent, and to whom via your API\n@required {canvas_id: str, canvas_entry_properties: map, broadcast: bool, audience: map, recipients: [map]}\n\n@endgroup\n\n@group transactional\n@endpoint POST /transactional/v1/campaigns/YOUR_CAMPAIGN_ID_HERE/send\n@desc The Send Transactional Email endpoint allows you to send immediate, ad-hoc messages to a designated user\n\n@endgroup\n\n@group sms\n@endpoint GET /sms/invalid_phone_numbers\n@desc This endpoint allows you to pull a list of phone numbers that have been deemed “invalid” within a certain time frame\n@optional {start_date: str # (Optional*) String in YYYY-MM-DD format  Start date of the range to retrieve invalid phone numbers, must be earlier than `end_date`. This is treated as midnight in UTC time by the API., end_date: str # (Optional*) String in YYYY-MM-DD format  End date of the range to retrieve invalid phone numbers. This is treated as midnight in UTC time by the API., limit: str # (Optional) Integer Optional field to limit the number of results returned. Defaults to 100, maximum is 500., offset: str # (Optional) Integer Optional beginning point in the list to retrieve from., phone_numbers: str # (Optional*) Array of Strings in e.164 format If provided, we will return the phone number if it has been found to be invalid.}\n\n@endpoint POST /sms/invalid_phone_numbers/remove\n@desc This endpoint allows you to remove “invalid” phone numbers from Braze’s invalid list\n@required {phone_numbers: [str]}\n\n@endgroup\n\n@group subscription\n@endpoint GET /subscription/status/get\n@desc Use the following endpoint to get the subscription state of a user in a subscription group\n@optional {subscription_group_id: str # (Required) String  The `id` of your subscription group., external_id: str # (Required*) String  The `external_id` of the user (must include at least one and at most 50 `external_ids`).  When both an `external_id` and `email` are submitted, only the external_id(s) provided will be applied to the result query., email: str # (Required* ) String  The email address of the user. Can be passed as an array of string with a max of 50.}\n\n@endpoint GET /subscription/user/status\n@desc Use this endpoint to list and get the subscription groups of a certain user\n@optional {external_id: str # (Required) String  The `external_id` of the user. Must include at least one and at most 50 `external_ids`., email: str # (Required) String  The email address of the user, can be passed as an array of strings. Must include at least one email address (with a max of 50)., limit: str # (Optional) Integer  The limit on the maximum number of results returned. Default (and max) limit is 100., offset: str # (Optional) Integer  Number of templates to skip before returning rest of the templates that fit the search criteria.}\n\n@endpoint POST /subscription/status/set\n@desc Use the endpoint below to update the subscription state of a user on the Braze dashboard\n@required {subscription_group_id: str, subscription_state: str, external_id: str, email: [str]}\n\n@endpoint GET /subscription/status/get\n@desc Use this endpoint to get the subscription state of a user in a subscription group\n@optional {subscription_group_id: str # (Required) String  The `id` of your subscription group., external_id: str # (Required*) String  The `external_id` of the user (must include at least one and at most 50 `external_ids`).  When both an `external_id` and `phone` are submitted, only the external_id(s) provided will be applied to the result query., phone: str # (Required*) String in [E.164](https://en.wikipedia.org/wiki/E.164) format  The phone number of the user (must include at least one phone number and at most 50 phone numbers).}\n\n@endpoint GET /subscription/user/status\n@desc Use this endpoint to list and get the subscription groups of a certain user\n@optional {external_id: str # (Required*) String  The `external_id` of the user (must include at least one and at most 50 `external_ids`)., limit: str # (Optional) Integer  The limit on the maximum number of results returned. Default (and max) limit is 100., offset: str # (Optional) Integer  \tNumber of templates to skip before returning the rest of the templates that fit the search criteria., phone: str # (Required*) String in [E.164](https://en.wikipedia.org/wiki/E.164) format  The phone number of the user. Must include at least one phone number (with a max of 50).}\n\n@endpoint POST /subscription/status/set\n@desc Use this endpoint to update the subscription state of a user on the Braze dashboard\n@required {subscription_group_id: str, subscription_state: str, external_id: str, phone: [str]}\n\n@endgroup\n\n@group content_blocks\n@endpoint GET /content_blocks/list\n@desc This endpoint will list your existing [Content Blocks](https://www\n@optional {modified_after: str # (Optional) String in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)  Retrieve only content blocks updated at or after the given time., modified_before: str # (Optional) String in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)  Retrieve only content blocks updated at or before the given time., limit: str # (Optional) Positive Number  Maximum number of content blocks to retrieve. Default to 100 if not provided, with a maximum acceptable value of 1000., offset: str # (Optional) Positive Number  Number of content blocks to skip before returning rest of the templates that fit the search criteria.}\n\n@endpoint GET /content_blocks/info\n@desc This endpoint will call information for an existing [Content Block](https://www\n@optional {content_block_id: str # (Required) String  The content block identifier.   You can find this by either listing content block information through an API call or going to **Developer Console** > **API Settings**, then scrolling to the bottom and searching for your content block API identifier., include_inclusion_data: str # (Optional) Boolean  When set to `true`, the API returns back the Message Variation API identifier of campaigns and Canvases where this content block is included, to be used in subsequent calls. The results exclude archived or deleted Campaigns or Canvases.}\n\n@endpoint POST /content_blocks/create\n@desc This endpoint will create a [Content Block](https://www\n@required {name: str, description: str, content: str, state: str, tags: [str]}\n\n@endpoint POST /content_blocks/update\n@desc This endpoint will update a [Content Block](https://www\n@required {content_block_id: str, name: str, description: str, content: str, state: str, tags: [str]}\n\n@endgroup\n\n@group templates\n@endpoint GET /templates/email/list\n@desc Use this endpoint to get a list of available templates in your Braze account\n@optional {modified_after: str # (Optional) String in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)  Retrieve only templates updated at or after the given time., modified_before: str # (Optional) String in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)  Retrieve only templates updated at or before the given time., limit: str # (Optional) Positive Number  Maximum number of templates to retrieve. Default to 100 if not provided, with a maximum acceptable value of 1000., offset: str # (Optional) Positive Number  Number of templates to skip before returning rest of the templates that fit the search criteria.}\n\n@endpoint GET /templates/email/info\n@desc Use to get information on your email templates\n@optional {email_template_id: str # (Required) String  See [email template's API identifier](https://www.braze.com/docs/api/identifier_types/).}\n\n@endpoint POST /templates/email/create\n@desc Use the Template REST APIs to programmatically manage the email templates that you have stored on the Braze dashboard, on the Templates & Media page\n@required {template_name: str, subject: str, body: str, plaintext_body: str, preheader: str, tags: [str]}\n\n@endpoint POST /templates/email/update\n@desc Use the Template REST APIs to programmatically manage the email templates that you have stored on the Braze dashboard, on the Templates & Media page\n@required {email_template_id: str, template_name: str, subject: str, body: str, plaintext_body: str, preheader: str, tags: [str]}\n\n@endgroup\n\n@group users\n@endpoint POST /users/external_ids/remove\n@desc > **Note:** For security purposes, this feature is disabled by default\n@required {external_ids: [str]}\n\n@endpoint POST /users/external_ids/rename\n@desc > **Note:** For security purposes, this feature is disabled by default\n@required {external_id_renames: [map]}\n\n@endpoint POST /users/alias/new\n@desc Use this endpoint to add new user aliases for existing identified users, or to create new unidentified users\n@required {user_aliases: [map]}\n\n@endpoint POST /users/delete\n@desc This endpoint allows you to delete any user profile by specifying a known user identifier\n@required {external_ids: [str], user_aliases: [str], braze_ids: [str]}\n\n@endpoint POST /users/identify\n@desc Use this endpoint to identify an unidentified (alias-only) user\n@required {aliases_to_identify: [map]}\n\n@endpoint POST /users/track\n@desc Use this endpoint to record custom events, purchases, and update user profile attributes\n@required {attributes: [map], events: [map], purchases: [map]}\n@optional {: str: any}\n\n@endgroup\n\n@end\n"}}