> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.brevo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.brevo.com/_mcp/server.

This document describes the public [API reference](/reference/get-all-external-feeds) for the External feed endpoints.

**Cache behavior:** When caching is enabled (`cache: true`), external feed data is cached using a time-based TTL of **1 hour**. The cache does not expire based on the number of emails sent. After any feed change (create, update, or delete), the stale cache may persist for up to 1 hour before the new data is served.

## 1. Fetch all external feeds

Send a `GET` request to `https://api.brevo.com/v3/feeds` to retrieve all your external feeds. Use the cURL request below:

```curl
curl --request GET \
     --url 'https://api.brevo.com/v3/feeds?search=search&startDate=2022-09-04&endDate=2022-10-01&sort=desc&authType=basic&limit=50&offset=0' \
     --header 'accept: application/json' \
     --header 'api-key: '
```

The attributes used in the cURL request are defined below.

| Attributes  | Datatype | Description                                                                                                                                            | Value      |
| :---------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |
| `search`    | String   | Can be used to filter records by search keyword on feed name                                                                                           | search     |
| `startDate` | Date     | Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Can be maximum 30 days older than current date.        | 2022-09-04 |
| `endDate`   | Date     | Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month. | 2022-10-01 |
| `sort`      | String   | Sort the results in the ascending/descending order of record creation. Default order is descending if sort is not passed.                              | desc       |
| `authType`  | String   | Filter the records by authType of the feed. (Has multiple authentication types)                                                                        | basic      |
| `limit`     | Int64    | Number of documents returned per page.                                                                                                                 | 50         |
| `offset`    | Int64    | Index of the first document on the page.                                                                                                               | 0          |

**Response**

A sample JSON response:

```json
{
  "count": 3,
  "feeds": [
    {
      "id": "d955aaa4-f4d6-4557-aa14-24286542ed8d",
      "name": "api feed token",
      "url": "https://abc.com/",
      "authType": "token",
      "token": "jfhdkjdfhjkfdhjkdfhjkdfhkj",
      "headers": [
        {
          "name": "key",
          "value": "val"
        }
      ],
      "maxRetries": 4,
      "cache": true,
      "createdAt": "2022-10-06T05:03:47.053000000Z",
      "modifiedAt": "2022-10-06T05:03:47.053000000Z"
    },
    {
      "id": "311a71ac-bebc-42cf-963d-d8666dfe53e9",
      "name": "api feed basic",
      "url": "https://abc.com/",
      "authType": "basic",
      "username": "user",
      "password": "pass",
      "headers": null,
      "maxRetries": 2,
      "cache": false,
      "createdAt": "2022-10-06T04:48:19.767000000Z",
      "modifiedAt": "2022-10-06T04:48:19.767000000Z"
    }
  ]
}
```

Response codes:

| Response code | Message                   | Description                                                                                 |
| :------------ | :------------------------ | :------------------------------------------------------------------------------------------ |
| `200`         | External feeds            | Returns the external feed details.                                                          |
| `400`         | Invalid parameters passed | Returned when invalid or out-of-range parameters are passed.                                |
| `404`         | Record not found          | Returned when results or records are not found. This may occur due to an incorrect request. |

\


## 2. Create an external feed

Send a `POST` request to `https://api.brevo.com/v3/feeds` to create an external feed. Use the cURL request below:

```curl
curl --request POST \
     --url https://api.brevo.com/v3/feeds \
     --header 'accept: application/json' \
     --header 'api-key: ' \
     --header 'content-type: application/json' \
     --data '
{
  "authType": "basic",
  "headers": [
    {
      "name": "userId",
      "value": "user12345"
    }
  ],
  "maxRetries": 5,
  "cache": false,
  "name": "New feed",
  "url": "https://webhook.site/173lyyx1",
  "username": "user",
  "password": "password",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
'
```

The values and attributes to create a feed:

| Attribute    | Datatype         | Description                                                                                                                                                       | Value                                                          |
| :----------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- |
| `name`       | String           | Name of the feed                                                                                                                                                  | New feed                                                       |
| `url`        | Url              | URL of the feed                                                                                                                                                   | [https://webhook.site/173lyyx1](https://webhook.site/173lyyx1) |
| `authType`   | String           | Auth type of the feed: basic, token or noAuth                                                                                                                     | basic                                                          |
| `username`   | String           | Username for authType                                                                                                                                             | user                                                           |
| `password`   | String           | Password for authType                                                                                                                                             | password                                                       |
| `token`      | String           | Token for authType                                                                                                                                                | "Random string of letters and number"                          |
| `headers`    | Array of objects | An array of objects which provide custom headers for the feed                                                                                                     | it has objects name and value                                  |
| `maxRetries` | integer          | Maximum number of retries on the feed url                                                                                                                         | 5                                                              |
| `cache`      | boolean          | Toggle caching of feed url response. When enabled, feed data is cached for 1 hour (time-based TTL). The cache does not expire based on the number of emails sent. | false                                                          |

Since `headers` is an array of objects, it has two attributes — `name` and `value`:

| Object  | Datatype | Description         | Value     |
| :------ | :------- | :------------------ | :-------- |
| `name`  | String   | Name of the header  | userId    |
| `value` | String   | Value of the header | user12345 |

**Response**

The API returns the unique `id` of the feed. Sample response:

```json
{
  "id": "23befbae-1505-47a8-bd27-e30ef739f32c"
}
```

Response codes:

| Response code | Message              | Description                                                                         |
| :------------ | :------------------- | :---------------------------------------------------------------------------------- |
| `201`         | Successfully created | External feed created. The response includes the feed `id`.                         |
| `400`         | Bad request          | Request fails due to invalid or missing parameters, or an incorrect request format. |

## 3. Get an external feed by UUID

Send a `GET` request to `https://api.brevo.com/v3/feeds/{uuid}`. Use the cURL request below:

```curl
curl --request GET \
     --url https://api.brevo.com/v3/feeds/38f351fb-6e77-4b38-979a-a2465260449e \
     --header 'accept: application/json' \
     --header 'api-key: '
```

The only attribute is `uuid`, the universal identifier for the external feed:

| Attribute | Datatype | Description               | Value                                |
| :-------- | :------- | :------------------------ | :----------------------------------- |
| `uuid`    | String   | UUID of the feed to fetch | 38f351fb-6e77-4b38-979a-a2465260449e |

**Response**

```json
{
  "id": "d955aaa4-f4d6-4557-aa14-24286542ed8d",
  "name": "api feed token",
  "url": "https://abc.com/",
  "authType": "token",
  "token": "jfhdkjdfhjkfdhjkdfhjkdfhkj",
  "headers": [
    {
      "name": "key",
      "value": "val"
    }
  ],
  "maxRetries": 4,
  "cache": true,
  "createdAt": "2022-10-06T05:03:47.053000000Z",
  "modifiedAt": "2022-10-06T05:03:47.053000000Z"
}
```

| Response code | Message        | Description                                                                               |
| :------------ | :------------- | :---------------------------------------------------------------------------------------- |
| `200`         | External feeds | Returns the external feed details.                                                        |
| `400`         | Bad request    | Returned when invalid or out-of-range parameters are passed.                              |
| `404`         | Feed not found | Returned when results or feeds are not found. This may occur due to an incorrect request. |

## 4. Update an external feed

Send a `PUT` request to `https://api.brevo.com/v3/feeds/{uuid}` to update an external feed. Use the cURL request below:

```curl
curl --request PUT \
     --url https://api.brevo.com/v3/feeds/38f351fb-6e77-4b38-979a-a2465260449e \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "headers": [
    {
      "name": "userId",
      "value": "user12345"
    }
  ],
  "maxRetries": 5,
  "cache": false,
  "name": "New feed",
  "url": "https://webhook.site/173lyyx1",
  "authType": "token",
  "username": "user",
  "password": "password",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
'
```

Two parameter groups apply: **path params** and **body params**.

**Path params**

| Attribute | Datatype | Description                | Value                                |
| :-------- | :------- | :------------------------- | :----------------------------------- |
| `uuid`    | String   | UUID of the feed to update | 38f351fb-6e77-4b38-979a-a2465260449e |

**Body params**

| Attribute    | Datatype         | Description                                                                                                                                                                                            | Value                                                          |
| :----------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- |
| `name`       | String           | Name of the feed                                                                                                                                                                                       | New feed                                                       |
| `url`        | Url              | Url of the feed                                                                                                                                                                                        | [https://webhook.site/173lyyx1](https://webhook.site/173lyyx1) |
| `authType`   | String           | Auth type of the feed: basic, token, noAuth                                                                                                                                                            | token                                                          |
| `username`   | String           | Username for authType basic                                                                                                                                                                            | user                                                           |
| `password`   | String           | Password for authType basic                                                                                                                                                                            | password                                                       |
| `token`      | String           | Token for authType token                                                                                                                                                                               | Random numbers and letters                                     |
| `headers`    | Array of objects | Custom headers for the feed                                                                                                                                                                            | Contains objects name and value                                |
| `maxRetries` | Integer          | Maximum number of retries on the feed url                                                                                                                                                              | 5                                                              |
| `cache`      | Boolean          | Toggle caching of feed url response. When enabled, feed data is cached for 1 hour (time-based TTL). After updating a feed, the stale cache may persist for up to 1 hour before the new data is served. | false                                                          |

Since `headers` is an array of objects, it contains two attributes:

| Object  | Datatype | Description     | Value     |
| :------ | :------- | :-------------- | :-------- |
| `name`  | String   | Name of header  | userId    |
| `value` | String   | Value of header | user12345 |

**Response**

A `204` response with no message indicates the external feed was updated. Response codes:

| Response code | Message        | Description                                                                        |
| :------------ | :------------- | :--------------------------------------------------------------------------------- |
| `204`         | Feed updated   | Feed was updated.                                                                  |
| `400`         | Bad request    | Request fails due to invalid parameters.                                           |
| `404`         | Feed not found | Returned when the feed cannot be found, often due to incorrect parameters or UUID. |

\


## 5. Delete an external feed

Send a `DELETE` request to `https://api.brevo.com/v3/feeds/{uuid}` to delete a feed. Use the cURL request below:

```curl
curl --request DELETE \
     --url https://api.brevo.com/v3/feeds/38f351fb-6e77-4b38-979a-a2465260449e \
     --header 'accept: application/json' \
     --header 'api-key: '
```

The only attribute is `uuid`:

| Attribute | Datatype | Description               | Value                                |
| :-------- | :------- | :------------------------ | :----------------------------------- |
| `uuid`    | String   | UUID of the feed to fetch | 38f351fb-6e77-4b38-979a-a2465260449e |

**Response**

An empty body with response code `200` indicates the feed was deleted.

Response codes:

| Response code | Message        | Description                                           |
| :------------ | :------------- | :---------------------------------------------------- |
| `200`         | Feed deleted   | Feed was deleted successfully.                        |
| `400`         | Bad request    | Returned when invalid or missing parameters are sent. |
| `404`         | Feed not found | Returned when no feed matches the request.            |