openapi: 3.0.0 info: title: Braze Export > News Feed API description: 'The Braze and Radar integration allows you to access sophisticated location-based campaign triggers and user profile enrichment with rich, first-party location data. When Radar geofence or trip tracking events are generated, custom events and user attributes are sent to Braze in real-time. These events and attributes can then be used to trigger location-based campaigns, power last-mile pickup and delivery operations, monitor fleet and shipping logistics, or build user segments based on location patterns. ' version: 1.0.0 servers: - url: https://rest.iad-01.braze.com description: REST endpoint for instance US-01 - url: https://rest.iad-01.braze.com description: REST endpoint for instance US-01 - url: https://rest.iad-02.braze.com description: REST endpoint for instance US-02 - url: https://rest.iad-03.braze.com description: REST endpoint for instance US-03 - url: https://rest.iad-04.braze.com description: REST endpoint for instance US-04 - url: https://rest.iad-05.braze.com description: REST endpoint for instance US-05 - url: https://rest.iad-06.braze.com description: REST endpoint for instance US-06 - url: https://rest.iad-08.braze.com description: REST endpoint for instance US-08 - url: https://rest.fra-01.braze.eu description: REST endpoint for instance EU-01 - url: https://rest.fra-02.braze.eu description: REST endpoint for instance EU-02 security: - BearerAuth: [] tags: - name: Export > News Feed paths: /feed/data_series: get: tags: - Export > News Feed summary: Export News Feed Card Analytics description: "> Use this endpoint to retrieve a daily series of engagement stats for a card over time. \n \n\nNote: If you are using our [older navigation](https://www.braze.com/docs/navigation), \\`card_id\\` can be found at **Developer Console > API Settings**.\n\nTo use this endpoint, youll need to generate an API key with the `feed.data_series` permission.\n\n## Rate limit\n\nWe apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in [API rate limits](https://www.braze.com/docs/api/api_limits/).\n\n## Response\n\n``` json\nContent-Type: application/json\nAuthorization: Bearer YOUR-REST-API-KEY\n{\n \"message\": (required, string) the status of the export, returns 'success' when completed without errors,\n \"data\" : [\n {\n \"time\" : (string) the point in time - as ISO 8601 extended when unit is \"hour\" and as ISO 8601 date when unit is \"day\",\n \"clicks\" : (int) the number of clicks,\n \"impressions\" : (int) the number of impressions,\n \"unique_clicks\" : (int) the number of unique clicks,\n \"unique_impressions\" : (int) the number of unique impressions\n },\n ...\n ]\n}\n\n```\n\n> **Tip:** For help with CSV and API exports, visit [Export troubleshooting](https://www.braze.com/docs/user_guide/data_and_analytics/export_braze_data/export_troubleshooting/)." parameters: - name: Authorization in: header schema: type: string example: Bearer {{api_key}} - name: card_id in: query schema: type: string description: '(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 **Settings > Setup and Testing > API Keys** 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/).' example: '{{card_identifier}}' - name: length in: query schema: type: integer description: '(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).' example: 14 - name: unit in: query schema: type: string description: '(Optional) String Unit of time between data points. Can be `day` or `hour`, defaults to `day`.' example: day - name: ending_at in: query schema: type: string description: '(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. ' example: '2018-06-28T23:59:59-5:00' responses: '200': description: Successful response content: application/json: schema: type: object '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' /feed/details: get: tags: - Export > News Feed summary: Export News Feed Cards Details description: "> Use this endpoint to retrieve relevant information on a card, which can be identified by the `card_id`. \n \n\nNote: If you are using our [older navigation](https://www.braze.com/docs/navigation), `card_id` can be found at **Developer Console > API Settings**.\n\nTo use this endpoint, youll need to generate an API key with the `feed.details` permission.\n\n## Rate limit\n\nWe apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in [API rate limits](https://www.braze.com/docs/api/api_limits/).\n\n## Response\n\n``` json\nContent-Type: application/json\nAuthorization: Bearer YOUR-REST-API-KEY\n{\n \"message\": (required, string) The status of the export, returns 'success' when completed without errors,\n \"created_at\" : (string) Date created as ISO 8601 date,\n \"updated_at\" : (string) Date last updated as ISO 8601 date,\n \"name\" : (string) Card name,\n \"publish_at\" : (string) Date card was published as ISO 8601 date,\n \"end_at\" : (string) Date card will stop displaying for users as ISO 8601 date,\n \"tags\" : (array) Tag names associated with the card,\n \"title\" : (string) Title of the card,\n \"image_url\" : (string) Image URL used by this card,\n \"extras\" : (dictionary) Dictionary containing key-value pair data attached to this card,\n \"description\" : (string) Description text used by this card,\n \"archived\": (boolean) whether this Card is archived,\n \"draft\": (boolean) whether this Card is a draft,\n}\n\n```\n\n> **Tip:** For help with CSV and API exports, visit [Export troubleshooting](https://www.braze.com/docs/user_guide/data_and_analytics/export_braze_data/export_troubleshooting/)." parameters: - name: Authorization in: header schema: type: string example: Bearer {{api_key}} - name: card_id in: query schema: type: string description: '(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 **Settings > Setup and Testing > API Keys** 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/).' example: '{{card_identifier}}' responses: '200': description: Successful response content: application/json: schema: type: object '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' /feed/list: get: tags: - Export > News Feed summary: Export News Feed Cards List description: "> Use this endpoint to export a list of News Feed cards, each of which will include its name and card API identifier. \n \n\nThe cards are returned in groups of 100 sorted by time of creation (oldest to newest by default).\n\nTo use this endpoint, youll need to generate an API key with the `feed.list` permission.\n\n## Rate limit\n\nWe apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in [API rate limits](https://www.braze.com/docs/api/api_limits/).\n\n## Response\n\n``` json\nContent-Type: application/json\nAuthorization: Bearer YOUR-REST-API-KEY\n{\n \"message\": (required, string) the status of the export, returns 'success' when completed without errors,\n \"cards\" : [\n {\n \"id\" : (string) Card API Identifier,\n \"type\" : (string) type of the card - NewsItem (classic cards), CaptionedImage, Banner or DevPick (cross-promotional cards),\n \"title\" : (string) title of the card,\n \"tags\" : (array) tag names associated with the card\n },\n ...\n ]\n}\n\n```\n\n> **Tip:** For help with CSV and API exports, visit [Export troubleshooting](https://www.braze.com/docs/user_guide/data_and_analytics/export_braze_data/export_troubleshooting/)." parameters: - name: Authorization in: header schema: type: string example: Bearer {{api_key}} - name: page in: query schema: type: integer description: '(Optional) Integer The page of cards to return, defaults to 0 (returns the first set of up to 100).' example: 1 - name: include_archived in: query schema: type: boolean description: '(Optional) Boolean Whether or not to include archived cards, defaults to false.' example: true - name: sort_direction in: query schema: type: string description: '(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.' example: desc responses: '200': description: Successful response content: application/json: schema: type: object '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' components: responses: Forbidden: description: 403 Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: 401 Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' TooManyRequests: description: 429 Rate Limited content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: 404 Not Found content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: 400 Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' InternalServerError: description: 500 Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Error: type: object properties: message: type: string errors: type: array items: type: string securitySchemes: BearerAuth: type: http scheme: bearer