> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# brevo-contacts

> Brevo Contacts

**Server path:** `/brevo-contacts` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                              | Description                                                           |
| ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [`brevo_contacts_add_contact_to_list`](#brevo_contacts_add_contact_to_list)                       | Add existing contacts to a list                                       |
| [`brevo_contacts_batch_delete_object_records`](#brevo_contacts_batch_delete_object_records)       | Delete multiple object records (up to 1000) asynchronously            |
| [`brevo_contacts_create_attribute`](#brevo_contacts_create_attribute)                             | Create contact attribute                                              |
| [`brevo_contacts_create_batch_events`](#brevo_contacts_create_batch_events)                       | Create events in batch                                                |
| [`brevo_contacts_create_contact`](#brevo_contacts_create_contact)                                 | Create a contact                                                      |
| [`brevo_contacts_create_doi_contact`](#brevo_contacts_create_doi_contact)                         | Create Contact via DOI (Double-Opt-In) Flow                           |
| [`brevo_contacts_create_event`](#brevo_contacts_create_event)                                     | Create an event                                                       |
| [`brevo_contacts_create_folder`](#brevo_contacts_create_folder)                                   | Create a folder                                                       |
| [`brevo_contacts_create_list`](#brevo_contacts_create_list)                                       | Create a list                                                         |
| [`brevo_contacts_delete_attribute`](#brevo_contacts_delete_attribute)                             | Delete an attribute                                                   |
| [`brevo_contacts_delete_contact`](#brevo_contacts_delete_contact)                                 | Delete a contact                                                      |
| [`brevo_contacts_delete_folder`](#brevo_contacts_delete_folder)                                   | Delete a folder (and all its lists)                                   |
| [`brevo_contacts_delete_list`](#brevo_contacts_delete_list)                                       | Delete a list                                                         |
| [`brevo_contacts_delete_multi_attribute_options`](#brevo_contacts_delete_multi_attribute_options) | Delete a multiple-choice attribute option                             |
| [`brevo_contacts_get_attributes`](#brevo_contacts_get_attributes)                                 | List all attributes                                                   |
| [`brevo_contacts_get_contact_info`](#brevo_contacts_get_contact_info)                             | Get a contact's details                                               |
| [`brevo_contacts_get_contact_stats`](#brevo_contacts_get_contact_stats)                           | Get email campaigns' statistics for a contact                         |
| [`brevo_contacts_get_contacts`](#brevo_contacts_get_contacts)                                     | Get all the contacts                                                  |
| [`brevo_contacts_get_events`](#brevo_contacts_get_events)                                         | Get events                                                            |
| [`brevo_contacts_get_folder`](#brevo_contacts_get_folder)                                         | Returns a folder's details                                            |
| [`brevo_contacts_get_folder_lists`](#brevo_contacts_get_folder_lists)                             | Get lists in a folder                                                 |
| [`brevo_contacts_get_folders`](#brevo_contacts_get_folders)                                       | Get all folders                                                       |
| [`brevo_contacts_get_from_list`](#brevo_contacts_get_from_list)                                   | Get contacts in a list                                                |
| [`brevo_contacts_get_list`](#brevo_contacts_get_list)                                             | Get a list's details                                                  |
| [`brevo_contacts_get_lists`](#brevo_contacts_get_lists)                                           | Get all the lists                                                     |
| [`brevo_contacts_get_segments`](#brevo_contacts_get_segments)                                     | Get all the segments                                                  |
| [`brevo_contacts_getrecords`](#brevo_contacts_getrecords)                                         | Get the list of object records and total records count for an object. |
| [`brevo_contacts_import_contacts`](#brevo_contacts_import_contacts)                               | Import contacts                                                       |
| [`brevo_contacts_remove_contact_from_list`](#brevo_contacts_remove_contact_from_list)             | Delete a contact from a list                                          |
| [`brevo_contacts_request_contact_export`](#brevo_contacts_request_contact_export)                 | Export contacts                                                       |
| [`brevo_contacts_update_attribute`](#brevo_contacts_update_attribute)                             | Update contact attribute                                              |
| [`brevo_contacts_update_batch_contacts`](#brevo_contacts_update_batch_contacts)                   | Update multiple contacts                                              |
| [`brevo_contacts_update_contact`](#brevo_contacts_update_contact)                                 | Update a contact                                                      |
| [`brevo_contacts_update_folder`](#brevo_contacts_update_folder)                                   | Update a folder                                                       |
| [`brevo_contacts_update_list`](#brevo_contacts_update_list)                                       | Update a list                                                         |
| [`brevo_contacts_upsertrecords`](#brevo_contacts_upsertrecords)                                   | Create/Update object records in bulk                                  |
| [`brevo-contacts_create_consent_group`](#brevo-contacts_create_consent_group)                     | Create a consent group                                                |
| [`brevo-contacts_delete_consent_group`](#brevo-contacts_delete_consent_group)                     | Delete a consent group                                                |
| [`brevo-contacts_get_consent_group`](#brevo-contacts_get_consent_group)                           | Get a consent group                                                   |
| [`brevo-contacts_get_consent_groups`](#brevo-contacts_get_consent_groups)                         | List all consent groups                                               |
| [`brevo-contacts_update_consent_group`](#brevo-contacts_update_consent_group)                     | Update a consent group                                                |

***

## brevo\_contacts\_add\_contact\_to\_list

Add existing contacts to a list

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                   |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------- |
| `listId`  | integer | Yes      | —       | Id of the list                                                |
| `body`    | object  | Yes      | —       | Emails addresses OR IDs OR EXT\_ID attributes of the contacts |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "listId": {
        "type": "integer",
        "description": "Id of the list"
      },
      "body": {
        "description": "Emails addresses OR IDs OR EXT_ID attributes of the contacts"
      }
    },
    "required": [
      "PCID",
      "listId",
      "body"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_batch\_delete\_object\_records

Delete multiple object records (up to 1000) asynchronously

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                                   |
| ------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------- |
| `object_type` | string | Yes      | —       | Object type for the records to delete                                         |
| `identifiers` | object | No       | —       | Either `ids` or `ext_ids` must be provided, but not both in the same request. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "object_type": {
        "type": "string",
        "description": "Object type for the records to delete"
      },
      "identifiers": {
        "description": "Either `ids` or `ext_ids` must be provided, but not both in the same request."
      }
    },
    "required": [
      "PCID",
      "object_type"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_create\_attribute

Create contact attribute

**Parameters:**

| Parameter              | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `attributeCategory`    | string    | Yes      | —       | Category of the attribute                                                                                                                                                                                                                                                                                                                                         |
| `attributeName`        | string    | Yes      | —       | Name of the attribute                                                                                                                                                                                                                                                                                                                                             |
| `enumeration`          | object\[] | No       | —       | List of values and labels that the attribute can take. **Use only if the attribute's category is "category"**. None of the category options can exceed max 200 characters. For example: **\[\{"value":1, "label":"male"}, \{"value":2, "label":"female"}]**                                                                                                       |
| `isRecurring`          | boolean   | No       | —       | Type of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**                                                                                                                                                                                                                                                                       |
| `multiCategoryOptions` | string\[] | No       | —       | List of options you want to add for multiple-choice attribute. **Use only if the attribute's category is "normal" and attribute's type is "multiple-choice". None of the multicategory options can exceed max 200 characters.** For example: **\["USA","INDIA"]**                                                                                                 |
| `type`                 | string    | No       | —       | Type of the attribute. **Use only if the attribute's category is 'normal', 'category' or 'transactional'** Type **user and multiple-choice** is only available if the category is **normal** attribute Type **id** is only available if the category is **transactional** attribute Type **category** is only available if the category is **category** attribute |
| `value`                | string    | No       | —       | Value of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**                                                                                                                                                                                                                                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "attributeCategory": {
        "type": "string",
        "description": "Category of the attribute",
        "enum": [
          "normal",
          "transactional",
          "category",
          "calculated",
          "global"
        ]
      },
      "attributeName": {
        "type": "string",
        "description": "Name of the attribute"
      },
      "enumeration": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "description": "Label of the value"
            },
            "value": {
              "type": "integer",
              "description": "Id of the value"
            }
          },
          "required": [
            "label",
            "value"
          ]
        },
        "description": "List of values and labels that the attribute can take. **Use only if the attribute's category is \"category\"**. None of the category options can exceed max 200 characters. For example: **[{\"value\":1, \"label\":\"male\"}, {\"value\":2, \"label\":\"female\"}]**"
      },
      "isRecurring": {
        "type": "boolean",
        "description": "Type of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**"
      },
      "multiCategoryOptions": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of options you want to add for multiple-choice attribute. **Use only if the attribute's category is \"normal\" and attribute's type is \"multiple-choice\". None of the multicategory options can exceed max 200 characters.** For example: **[\"USA\",\"INDIA\"]**"
      },
      "type": {
        "type": "string",
        "description": "Type of the attribute. **Use only if the attribute's category is 'normal', 'category' or 'transactional'** Type **user and multiple-choice** is only available if the category is **normal** attribute Type **id** is only available if the category is **transactional** attribute Type **category** is only available if the category is **category** attribute",
        "enum": [
          "text",
          "date",
          "float",
          "boolean",
          "id",
          "category",
          "multiple-choice",
          "user"
        ]
      },
      "value": {
        "type": "string",
        "description": "Value of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**"
      }
    },
    "required": [
      "PCID",
      "attributeCategory",
      "attributeName"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_create\_batch\_events

Create events in batch

**Parameters:**

| Parameter | Type      | Required | Default | Description      |
| --------- | --------- | -------- | ------- | ---------------- |
| `events`  | object\[] | Yes      | —       | The events value |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "events": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "contact_properties": {
              "type": "object",
              "description": "Properties defining the state of the contact associated to this event. Useful to update contact attributes defined in your contacts database while passing the event. For example: **\"FIRSTNAME\": \"Jane\" , \"AGE\": 37**"
            },
            "event_date": {
              "type": "string",
              "description": "Timestamp of when the event occurred (e.g. \"2024-01-24T17:39:57+01:00\"). If no value is passed, the timestamp of the event creation is used."
            },
            "event_name": {
              "type": "string",
              "description": "The name of the event that occurred. This is how you will find your event in Brevo. Limited to 255 characters, alphanumerical characters and - _ only."
            },
            "event_properties": {
              "type": "object",
              "description": "Properties of the event. Top level properties and nested properties can be used to better segment contacts and personalise workflow conditions. The following field type are supported: string, number, boolean (true/false), date (Timestamp e.g. \"2024-01-24T17:39:57+01:00\"). Keys are limited to 255 characters, alphanumerical characters and - _ only. Size is limited to 50Kb."
            },
            "identifiers": {
              "type": "object",
              "description": "Identifies the contact associated with the event. At least one identifier is required."
            },
            "object": {
              "type": "object",
              "description": "Identifiers of the object record associated with this event. Ignored if the object type or identifier for this record does not exist on the account."
            }
          },
          "required": [
            "event_name",
            "identifiers"
          ]
        },
        "description": "The events value"
      }
    },
    "required": [
      "PCID",
      "events"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_create\_contact

Create a contact

**Parameters:**

| Parameter             | Type       | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------- | ---------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `attributes`          | object     | No       | —       | Pass the set of attributes and their values. The attribute's parameter should be passed in capital letter while creating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored. **These attributes must be present in your Brevo account**. For eg: **\{"FNAME":"Elly", "LNAME":"Roger", "COUNTRIES": \["India","China"]}** |
| `email`               | string     | No       | —       | Email address of the user. **Mandatory if "ext\_id"  & "SMS" field is not passed.**                                                                                                                                                                                                                                                                                                   |
| `emailBlacklisted`    | boolean    | No       | —       | Set this field to blacklist the contact for emails (emailBlacklisted = true)                                                                                                                                                                                                                                                                                                          |
| `ext_id`              | string     | No       | —       | Pass your own Id to create a contact.                                                                                                                                                                                                                                                                                                                                                 |
| `forceMerge`          | boolean    | No       | —       | When true, if the contact being created shares an identifier (email, SMS, ext\_id, whatsapp, landline) with an existing contact, the two contacts are force-merged. The contact with the most recent `last_modified` timestamp is retained; the other is deleted. When false (default), a 4xx error is returned on identifier conflict.                                               |
| `getId`               | boolean    | No       | —       | When true, the response returns the `id` of the surviving contact after merge.                                                                                                                                                                                                                                                                                                        |
| `listIds`             | integer\[] | No       | —       | Ids of the lists to add the contact to                                                                                                                                                                                                                                                                                                                                                |
| `smsBlacklisted`      | boolean    | No       | —       | Set this field to blacklist the contact for SMS (smsBlacklisted = true)                                                                                                                                                                                                                                                                                                               |
| `smtpBlacklistSender` | string\[]  | No       | —       | transactional email forbidden sender for contact. Use only for email Contact ( only available if updateEnabled = true )                                                                                                                                                                                                                                                               |
| `updateEnabled`       | boolean    | No       | —       | Facilitate to update the existing contact in the same request (updateEnabled = true)                                                                                                                                                                                                                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "attributes": {
        "type": "object",
        "description": "Pass the set of attributes and their values. The attribute's parameter should be passed in capital letter while creating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored. **These attributes must be present in your Brevo account**. For eg: **{\"FNAME\":\"Elly\", \"LNAME\":\"Roger\", \"COUNTRIES\": [\"India\",\"China\"]}**"
      },
      "email": {
        "type": "string",
        "description": "Email address of the user. **Mandatory if \"ext_id\"  & \"SMS\" field is not passed.**"
      },
      "emailBlacklisted": {
        "type": "boolean",
        "description": "Set this field to blacklist the contact for emails (emailBlacklisted = true)"
      },
      "ext_id": {
        "type": "string",
        "description": "Pass your own Id to create a contact."
      },
      "forceMerge": {
        "type": "boolean",
        "description": "When true, if the contact being created shares an identifier (email, SMS, ext_id, whatsapp, landline) with an existing contact, the two contacts are force-merged. The contact with the most recent `last_modified` timestamp is retained; the other is deleted. When false (default), a 4xx error is returned on identifier conflict."
      },
      "getId": {
        "type": "boolean",
        "description": "When true, the response returns the `id` of the surviving contact after merge."
      },
      "listIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Ids of the lists to add the contact to"
      },
      "smsBlacklisted": {
        "type": "boolean",
        "description": "Set this field to blacklist the contact for SMS (smsBlacklisted = true)"
      },
      "smtpBlacklistSender": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "email"
        },
        "description": "transactional email forbidden sender for contact. Use only for email Contact ( only available if updateEnabled = true )"
      },
      "updateEnabled": {
        "type": "boolean",
        "description": "Facilitate to update the existing contact in the same request (updateEnabled = true)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_create\_doi\_contact

Create Contact via DOI (Double-Opt-In) Flow

**Parameters:**

| Parameter        | Type       | Required | Default | Description                                                                                                                                                                                        |
| ---------------- | ---------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `attributes`     | object     | No       | —       | Pass the set of attributes and their values. **These attributes must be present in your Brevo account**. For eg. **\{'FNAME':'Elly', 'LNAME':'Roger', 'COUNTRIES': \['India','China']}**           |
| `email`          | string     | Yes      | —       | Email address where the confirmation email will be sent. This email address will be the identifier for all other contact attributes.                                                               |
| `excludeListIds` | integer\[] | No       | —       | Lists under user account where contact should not be added                                                                                                                                         |
| `includeListIds` | integer\[] | Yes      | —       | Lists under user account where contact should be added                                                                                                                                             |
| `redirectionUrl` | string     | Yes      | —       | URL of the web page that user will be redirected to after clicking on the double opt in URL. When editing your DOI template you can reference this URL by using the tag **\{\{ params.DOIurl }}**. |
| `templateId`     | integer    | Yes      | —       | Id of the Double opt-in (DOI) template                                                                                                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "attributes": {
        "type": "object",
        "description": "Pass the set of attributes and their values. **These attributes must be present in your Brevo account**. For eg. **{'FNAME':'Elly', 'LNAME':'Roger', 'COUNTRIES': ['India','China']}**"
      },
      "email": {
        "type": "string",
        "description": "Email address where the confirmation email will be sent. This email address will be the identifier for all other contact attributes."
      },
      "excludeListIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Lists under user account where contact should not be added"
      },
      "includeListIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Lists under user account where contact should be added"
      },
      "redirectionUrl": {
        "type": "string",
        "description": "URL of the web page that user will be redirected to after clicking on the double opt in URL. When editing your DOI template you can reference this URL by using the tag **{{ params.DOIurl }}**."
      },
      "templateId": {
        "type": "integer",
        "description": "Id of the Double opt-in (DOI) template"
      }
    },
    "required": [
      "PCID",
      "email",
      "includeListIds",
      "redirectionUrl",
      "templateId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_create\_event

Create an event

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                             |
| -------------------- | ------ | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `contact_properties` | object | No       | —       | Properties defining the state of the contact associated to this event. Useful to update contact attributes defined in your contacts database while passing the event. For example: **"FIRSTNAME": "Jane" , "AGE": 37**                                                                                                                                                                  |
| `event_date`         | string | No       | —       | ISO 8601 timestamp of when the event occurred (e.g. "2024-01-24T17:39:57+01:00"). If no value is passed, the timestamp of the event creation is used.                                                                                                                                                                                                                                   |
| `event_name`         | string | Yes      | —       | The name of the event that occurred. This is how you will find your event in Brevo. Limited to 255 characters; only alphanumeric characters, hyphens (-), and underscores (\_) are allowed.                                                                                                                                                                                             |
| `event_properties`   | object | No       | —       | Properties of the event. Top level properties and nested properties can be used to better segment contacts and personalise workflow conditions. The following field types are supported: string, number, boolean (true/false), date (Timestamp e.g. "2024-01-24T17:39:57+01:00"). Keys are limited to 255 characters, alphanumerical characters and - \_ only. Size is limited to 50KB. |
| `identifiers`        | object | Yes      | —       | Identifies the contact associated with the event. At least one identifier is required.                                                                                                                                                                                                                                                                                                  |
| `object`             | object | No       | —       | Identifiers of the object record associated with this event. Ignored if the object type or identifier for this record does not exist on the account.                                                                                                                                                                                                                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "contact_properties": {
        "type": "object",
        "description": "Properties defining the state of the contact associated to this event. Useful to update contact attributes defined in your contacts database while passing the event. For example: **\"FIRSTNAME\": \"Jane\" , \"AGE\": 37**"
      },
      "event_date": {
        "type": "string",
        "description": "ISO 8601 timestamp of when the event occurred (e.g. \"2024-01-24T17:39:57+01:00\"). If no value is passed, the timestamp of the event creation is used."
      },
      "event_name": {
        "type": "string",
        "description": "The name of the event that occurred. This is how you will find your event in Brevo. Limited to 255 characters; only alphanumeric characters, hyphens (-), and underscores (_) are allowed."
      },
      "event_properties": {
        "type": "object",
        "description": "Properties of the event. Top level properties and nested properties can be used to better segment contacts and personalise workflow conditions. The following field types are supported: string, number, boolean (true/false), date (Timestamp e.g. \"2024-01-24T17:39:57+01:00\"). Keys are limited to 255 characters, alphanumerical characters and - _ only. Size is limited to 50KB."
      },
      "identifiers": {
        "type": "object",
        "description": "Identifies the contact associated with the event. At least one identifier is required.",
        "properties": {
          "contact_id": {
            "type": "integer",
            "description": "Internal unique contact ID. When present, this takes priority over all other identifiers for event attribution and contact resolution."
          },
          "email_id": {
            "type": "string",
            "description": "Email Id associated with the event"
          },
          "ext_id": {
            "type": "string",
            "description": "ext_id associated with the event"
          },
          "landline_number_id": {
            "type": "string",
            "description": "landline_number associated with the event"
          },
          "phone_id": {
            "type": "string",
            "description": "SMS associated with the event"
          },
          "whatsapp_id": {
            "type": "string",
            "description": "whatsapp associated with the event"
          }
        }
      },
      "object": {
        "type": "object",
        "description": "Identifiers of the object record associated with this event. Ignored if the object type or identifier for this record does not exist on the account.",
        "properties": {
          "identifiers": {
            "type": "object",
            "description": "Identifiers for the object."
          },
          "type": {
            "type": "string",
            "description": "Type of object (e.g., subscription, vehicle, etc.)"
          }
        }
      }
    },
    "required": [
      "PCID",
      "event_name",
      "identifiers"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_create\_folder

Create a folder

**Parameters:**

| Parameter | Type   | Required | Default | Description        |
| --------- | ------ | -------- | ------- | ------------------ |
| `name`    | string | No       | —       | Name of the folder |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "name": {
        "type": "string",
        "description": "Name of the folder"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_create\_list

Create a list

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                                 |
| ---------- | ------- | -------- | ------- | ----------------------------------------------------------- |
| `folderId` | integer | Yes      | —       | Id of the parent folder in which this list is to be created |
| `name`     | string  | Yes      | —       | Name of the list                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "folderId": {
        "type": "integer",
        "description": "Id of the parent folder in which this list is to be created"
      },
      "name": {
        "type": "string",
        "description": "Name of the list"
      }
    },
    "required": [
      "PCID",
      "folderId",
      "name"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_delete\_attribute

Delete an attribute

**Parameters:**

| Parameter           | Type   | Required | Default | Description                    |
| ------------------- | ------ | -------- | ------- | ------------------------------ |
| `attributeCategory` | string | Yes      | —       | Category of the attribute      |
| `attributeName`     | string | Yes      | —       | Name of the existing attribute |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "attributeCategory": {
        "type": "string",
        "description": "Category of the attribute",
        "enum": [
          "normal",
          "transactional",
          "category",
          "calculated",
          "global"
        ]
      },
      "attributeName": {
        "type": "string",
        "description": "Name of the existing attribute"
      }
    },
    "required": [
      "PCID",
      "attributeCategory",
      "attributeName"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_delete\_contact

Delete a contact

**Parameters:**

| Parameter        | Type   | Required | Default | Description                                                                                                                                                                                                  |
| ---------------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `identifier`     | object | Yes      | —       | Email (urlencoded) OR ID of the contact OR EXT\_ID attribute (urlencoded)                                                                                                                                    |
| `identifierType` | string | No       | —       | email\_id for Email, contact\_id for ID of the contact, ext\_id for EXT\_ID attribute, phone\_id for SMS attribute, whatsapp\_id for WHATSAPP attribute, landline\_number\_id for LANDLINE\_NUMBER attribute |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "identifier": {
        "description": "Email (urlencoded) OR ID of the contact OR EXT_ID attribute (urlencoded)"
      },
      "identifierType": {
        "type": "string",
        "description": "email_id for Email, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute",
        "enum": [
          "email_id",
          "contact_id",
          "ext_id",
          "phone_id",
          "whatsapp_id",
          "landline_number_id"
        ]
      }
    },
    "required": [
      "PCID",
      "identifier"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_delete\_folder

Delete a folder (and all its lists)

**Parameters:**

| Parameter  | Type    | Required | Default | Description      |
| ---------- | ------- | -------- | ------- | ---------------- |
| `folderId` | integer | Yes      | —       | Id of the folder |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "folderId": {
        "type": "integer",
        "description": "Id of the folder"
      }
    },
    "required": [
      "PCID",
      "folderId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_delete\_list

Delete a list

**Parameters:**

| Parameter | Type    | Required | Default | Description    |
| --------- | ------- | -------- | ------- | -------------- |
| `listId`  | integer | Yes      | —       | Id of the list |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "listId": {
        "type": "integer",
        "description": "Id of the list"
      }
    },
    "required": [
      "PCID",
      "listId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_delete\_multi\_attribute\_options

Delete a multiple-choice attribute option

**Parameters:**

| Parameter                       | Type   | Required | Default | Description                                                                   |
| ------------------------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------- |
| `attributeType`                 | string | Yes      | —       | Type of the attribute                                                         |
| `multipleChoiceAttribute`       | string | Yes      | —       | Name of the existing multiple-choice attribute                                |
| `multipleChoiceAttributeOption` | string | Yes      | —       | Name of the existing multiple-choice attribute option that you want to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "attributeType": {
        "type": "string",
        "description": "Type of the attribute",
        "enum": [
          "multiple-choice"
        ]
      },
      "multipleChoiceAttribute": {
        "type": "string",
        "description": "Name of the existing multiple-choice attribute"
      },
      "multipleChoiceAttributeOption": {
        "type": "string",
        "description": "Name of the existing multiple-choice attribute option that you want to delete"
      }
    },
    "required": [
      "PCID",
      "attributeType",
      "multipleChoiceAttribute",
      "multipleChoiceAttributeOption"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_attributes

List all attributes

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_contact\_info

Get a contact's details

**Parameters:**

| Parameter        | Type   | Required | Default | Description                                                                                                                                                                                                  |
| ---------------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `identifier`     | object | Yes      | —       | Email (urlencoded) OR ID of the contact OR its SMS attribute value OR EXT\_ID attribute (urlencoded)                                                                                                         |
| `identifierType` | string | No       | —       | email\_id for Email, phone\_id for SMS attribute, contact\_id for ID of the contact, ext\_id for EXT\_ID attribute, whatsapp\_id for WHATSAPP attribute, landline\_number\_id for LANDLINE\_NUMBER attribute |
| `startDate`      | string | No       | —       | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate. Must not be greater than the current date.                  |
| `endDate`        | string | No       | —       | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate. Must not be greater than the current date.              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "identifier": {
        "description": "Email (urlencoded) OR ID of the contact OR its SMS attribute value OR EXT_ID attribute (urlencoded)"
      },
      "identifierType": {
        "type": "string",
        "description": "email_id for Email, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute",
        "enum": [
          "email_id",
          "phone_id",
          "contact_id",
          "ext_id",
          "whatsapp_id",
          "landline_number_id"
        ]
      },
      "startDate": {
        "type": "string",
        "description": "**Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate. Must not be greater than the current date."
      },
      "endDate": {
        "type": "string",
        "description": "**Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate. Must not be greater than the current date."
      }
    },
    "required": [
      "PCID",
      "identifier"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_contact\_stats

Get email campaigns' statistics for a contact

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                                                                                                                                                                                                                          |
| ------------ | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `identifier` | object | Yes      | —       | Email (urlencoded) OR ID of the contact                                                                                                                                                                                                                                              |
| `startDate`  | string | No       | —       | **Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate. Must not be greater than the current date.                                                                                          |
| `endDate`    | string | No       | —       | **Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate. Must not be greater than the current date. Maximum difference between startDate and endDate should not be greater than 90 days. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "identifier": {
        "description": "Email (urlencoded) OR ID of the contact"
      },
      "startDate": {
        "type": "string",
        "description": "**Mandatory if endDate is used.** Starting date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be lower than equal to endDate. Must not be greater than the current date."
      },
      "endDate": {
        "type": "string",
        "description": "**Mandatory if startDate is used.** Ending date (YYYY-MM-DD) of the statistic events specific to campaigns. Must be greater than equal to startDate. Must not be greater than the current date. Maximum difference between startDate and endDate should not be greater than 90 days."
      }
    },
    "required": [
      "PCID",
      "identifier"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_contacts

Get all the contacts

**Parameters:**

| Parameter       | Type       | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| --------------- | ---------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `limit`         | integer    | No       | —       | Number of documents per page                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `offset`        | integer    | No       | —       | Index of the first document of the page                                                                                                                                                                                                                                                                                                                                                                                                          |
| `modifiedSince` | string     | No       | —       | Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**                                                                                                                                                                                                                                                                      |
| `createdSince`  | string     | No       | —       | Filter (urlencoded) the contacts created after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**                                                                                                                                                                                                                                                                       |
| `sort`          | string     | No       | —       | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed                                                                                                                                                                                                                                                                                                                   |
| `ids`           | integer\[] | No       | —       | Filter by a list of contact IDs. You can pass a **maximum of 20 IDs**. All elements must be integers.                                                                                                                                                                                                                                                                                                                                            |
| `segmentId`     | integer    | No       | —       | Id of the segment. **Either listIds or segmentId can be passed.** Must be a positive integer (minimum value of 1).                                                                                                                                                                                                                                                                                                                               |
| `listIds`       | integer\[] | No       | —       | Ids of the list. **Either listIds or segmentId can be passed.**                                                                                                                                                                                                                                                                                                                                                                                  |
| `filter`        | string     | No       | —       | Filter the contacts on the basis of attributes. **Allowed operator: equals. For multiple-choice options, the filter will apply an AND condition between the options. For category attributes, the filter will work with both id and value. (e.g. filter=equals(FIRSTNAME,"Antoine"), filter=equals(B1, true), filter=equals(DOB, "1989-11-23"), filter=equals(GENDER, "1"), filter=equals(GENDER, "MALE"), filter=equals(COUNTRY,"USA, INDIA")** |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "limit": {
        "type": "integer",
        "description": "Number of documents per page"
      },
      "offset": {
        "type": "integer",
        "description": "Index of the first document of the page"
      },
      "modifiedSince": {
        "type": "string",
        "description": "Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**"
      },
      "createdSince": {
        "type": "string",
        "description": "Filter (urlencoded) the contacts created after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**"
      },
      "sort": {
        "type": "string",
        "description": "Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed",
        "enum": [
          "asc",
          "desc"
        ]
      },
      "ids": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Filter by a list of contact IDs. You can pass a **maximum of 20 IDs**. All elements must be integers."
      },
      "segmentId": {
        "type": "integer",
        "description": "Id of the segment. **Either listIds or segmentId can be passed.** Must be a positive integer (minimum value of 1)."
      },
      "listIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Ids of the list. **Either listIds or segmentId can be passed.**"
      },
      "filter": {
        "type": "string",
        "description": "Filter the contacts on the basis of attributes. **Allowed operator: equals. For multiple-choice options, the filter will apply an AND condition between the options. For category attributes, the filter will work with both id and value. (e.g. filter=equals(FIRSTNAME,\"Antoine\"), filter=equals(B1, true), filter=equals(DOB, \"1989-11-23\"), filter=equals(GENDER, \"1\"), filter=equals(GENDER, \"MALE\"), filter=equals(COUNTRY,\"USA, INDIA\")**"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_events

Get events

**Parameters:**

| Parameter     | Type       | Required | Default | Description                                                                                                                                            |
| ------------- | ---------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `contact_id`  | integer\[] | No       | —       | Filter by contact ID (repeatable)                                                                                                                      |
| `event_name`  | string\[]  | No       | —       | Filter by event name (repeatable)                                                                                                                      |
| `object_type` | string\[]  | No       | —       | Filter by object type (repeatable)                                                                                                                     |
| `startDate`   | string     | No       | —       | Mandatory if endDate is used. Start of date range (YYYY-MM-DD or RFC3339). Defaults to 6 months ago when omitted alongside endDate. Must be ≤ endDate. |
| `endDate`     | string     | No       | —       | Mandatory if startDate is used. End of date range (YYYY-MM-DD or RFC3339). Must be ≥ startDate.                                                        |
| `limit`       | integer    | No       | —       | Max events to return. Default 100, min 1, max 10000.                                                                                                   |
| `offset`      | integer    | No       | —       | Events to skip for pagination. Default 0, min 0.                                                                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "contact_id": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Filter by contact ID (repeatable)"
      },
      "event_name": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by event name (repeatable)"
      },
      "object_type": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by object type (repeatable)"
      },
      "startDate": {
        "type": "string",
        "description": "Mandatory if endDate is used. Start of date range (YYYY-MM-DD or RFC3339). Defaults to 6 months ago when omitted alongside endDate. Must be ≤ endDate."
      },
      "endDate": {
        "type": "string",
        "description": "Mandatory if startDate is used. End of date range (YYYY-MM-DD or RFC3339). Must be ≥ startDate."
      },
      "limit": {
        "type": "integer",
        "description": "Max events to return. Default 100, min 1, max 10000."
      },
      "offset": {
        "type": "integer",
        "description": "Events to skip for pagination. Default 0, min 0."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_folder

Returns a folder's details

**Parameters:**

| Parameter  | Type    | Required | Default | Description      |
| ---------- | ------- | -------- | ------- | ---------------- |
| `folderId` | integer | Yes      | —       | id of the folder |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "folderId": {
        "type": "integer",
        "description": "id of the folder"
      }
    },
    "required": [
      "PCID",
      "folderId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_folder\_lists

Get lists in a folder

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                                                                                                    |
| ---------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `folderId` | integer | Yes      | —       | Id of the folder                                                                                                               |
| `limit`    | integer | No       | —       | Number of documents per page                                                                                                   |
| `offset`   | integer | No       | —       | Index of the first document of the page                                                                                        |
| `sort`     | string  | No       | —       | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "folderId": {
        "type": "integer",
        "description": "Id of the folder"
      },
      "limit": {
        "type": "integer",
        "description": "Number of documents per page"
      },
      "offset": {
        "type": "integer",
        "description": "Index of the first document of the page"
      },
      "sort": {
        "type": "string",
        "description": "Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed",
        "enum": [
          "asc",
          "desc"
        ]
      }
    },
    "required": [
      "PCID",
      "folderId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_folders

Get all folders

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                    |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `limit`   | integer | No       | —       | Number of documents per page                                                                                                   |
| `offset`  | integer | No       | —       | Index of the first document of the page                                                                                        |
| `sort`    | string  | No       | —       | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "limit": {
        "type": "integer",
        "description": "Number of documents per page"
      },
      "offset": {
        "type": "integer",
        "description": "Index of the first document of the page"
      },
      "sort": {
        "type": "string",
        "description": "Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed",
        "enum": [
          "asc",
          "desc"
        ]
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_from\_list

Get contacts in a list

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                                                                                                 |
| --------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `listId`        | integer | Yes      | —       | Id of the list                                                                                                                                                              |
| `modifiedSince` | string  | No       | —       | Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.** |
| `limit`         | integer | No       | —       | Number of documents per page                                                                                                                                                |
| `offset`        | integer | No       | —       | Index of the first document of the page                                                                                                                                     |
| `sort`          | string  | No       | —       | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "listId": {
        "type": "integer",
        "description": "Id of the list"
      },
      "modifiedSince": {
        "type": "string",
        "description": "Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result.**"
      },
      "limit": {
        "type": "integer",
        "description": "Number of documents per page"
      },
      "offset": {
        "type": "integer",
        "description": "Index of the first document of the page"
      },
      "sort": {
        "type": "string",
        "description": "Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed",
        "enum": [
          "asc",
          "desc"
        ]
      }
    },
    "required": [
      "PCID",
      "listId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_list

Get a list's details

**Parameters:**

| Parameter   | Type    | Required | Default | Description                                                                                                                                                                                                                             |
| ----------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `listId`    | integer | Yes      | —       | Id of the list                                                                                                                                                                                                                          |
| `startDate` | string  | No       | —       | **Mandatory if endDate is used**. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for a specific list id. **Prefer to pass your timezone in date-time format for accurate result** |
| `endDate`   | string  | No       | —       | **Mandatory if startDate is used**. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for a specific list id. **Prefer to pass your timezone in date-time format for accurate result** |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "listId": {
        "type": "integer",
        "description": "Id of the list"
      },
      "startDate": {
        "type": "string",
        "description": "**Mandatory if endDate is used**. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for a specific list id. **Prefer to pass your timezone in date-time format for accurate result**"
      },
      "endDate": {
        "type": "string",
        "description": "**Mandatory if startDate is used**. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to aggregate the sent email campaigns for a specific list id. **Prefer to pass your timezone in date-time format for accurate result**"
      }
    },
    "required": [
      "PCID",
      "listId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_lists

Get all the lists

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                    |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `limit`   | integer | No       | —       | Number of documents per page                                                                                                   |
| `offset`  | integer | No       | —       | Index of the first document of the page                                                                                        |
| `sort`    | string  | No       | —       | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "limit": {
        "type": "integer",
        "description": "Number of documents per page"
      },
      "offset": {
        "type": "integer",
        "description": "Index of the first document of the page"
      },
      "sort": {
        "type": "string",
        "description": "Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed",
        "enum": [
          "asc",
          "desc"
        ]
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_get\_segments

Get all the segments

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                    |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `limit`   | integer | No       | —       | Number of documents per page                                                                                                   |
| `offset`  | integer | No       | —       | Index of the first document of the page                                                                                        |
| `sort`    | string  | No       | —       | Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "limit": {
        "type": "integer",
        "description": "Number of documents per page"
      },
      "offset": {
        "type": "integer",
        "description": "Index of the first document of the page"
      },
      "sort": {
        "type": "string",
        "description": "Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed",
        "enum": [
          "asc",
          "desc"
        ]
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_getrecords

Get the list of object records and total records count for an object.

**Parameters:**

| Parameter     | Type    | Required | Default | Description                                                                                                                                         |
| ------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type` | string  | Yes      | —       | Object type for the records to retrieve. Must be a previously created custom object type. Contact as object type is not supported in this endpoint. |
| `limit`       | integer | Yes      | —       | Number of records returned per page                                                                                                                 |
| `page_num`    | integer | Yes      | —       | Page number for pagination. It's used to fetch the object records on a provided page number. Must be a valid positive integer.                      |
| `sort`        | string  | No       | —       | Sort order, must be 'asc' or 'desc'. Default to 'desc' if not provided.                                                                             |
| `association` | string  | No       | —       | Whether to include associations, must be 'true' or 'false'. Default to 'false' if not provided.                                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "object_type": {
        "type": "string",
        "description": "Object type for the records to retrieve. Must be a previously created custom object type. Contact as object type is not supported in this endpoint."
      },
      "limit": {
        "type": "integer",
        "description": "Number of records returned per page"
      },
      "page_num": {
        "type": "integer",
        "description": "Page number for pagination. It's used to fetch the object records on a provided page number. Must be a valid positive integer."
      },
      "sort": {
        "type": "string",
        "description": "Sort order, must be 'asc' or 'desc'. Default to 'desc' if not provided.",
        "enum": [
          "asc",
          "desc"
        ]
      },
      "association": {
        "type": "string",
        "description": "Whether to include associations, must be 'true' or 'false'. Default to 'false' if not provided.",
        "enum": [
          "true",
          "false"
        ]
      }
    },
    "required": [
      "PCID",
      "object_type",
      "limit",
      "page_num"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_import\_contacts

Import contacts

**Parameters:**

| Parameter                 | Type       | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------- | ---------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `consentGroupIds`         | integer\[] | No       | —       | **Optional.** Ids of the consent groups to which all imported contacts will be added. Requires consent groups to be enabled for the organisation. For example, **\[1, 3]**.                                                                                                                                                                                                                   |
| `disableNotification`     | boolean    | No       | —       | To disable email notification                                                                                                                                                                                                                                                                                                                                                                 |
| `emailBlacklist`          | boolean    | No       | —       | To blacklist all the contacts for email                                                                                                                                                                                                                                                                                                                                                       |
| `emptyContactsAttributes` | boolean    | No       | —       | To facilitate the choice to erase any attribute of the existing contacts with empty value. emptyContactsAttributes = true means the empty fields in your import will erase any attribute that currently contain data in Brevo, & emptyContactsAttributes = false means the empty fields will not affect your existing data ( \*\*only available if `updateExistingContacts` set to true \*\*) |
| `fileBody`                | string     | No       | —       | **Mandatory if fileUrl and jsonBody is not defined.** CSV content to be imported. Use semicolon to separate multiple attributes. **Maximum allowed file body size is 10MB** . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of file body size while parsing. Please use fileUrl instead to import bigger files.                                 |
| `fileUrl`                 | string     | No       | —       | **Mandatory if fileBody and jsonBody is not defined.** URL of the file to be imported (**no local file**). Possible file formats: #### .txt, .csv, .json                                                                                                                                                                                                                                      |
| `jsonBody`                | object\[]  | No       | —       | **Mandatory if fileUrl and fileBody is not defined.** JSON content to be imported. **Maximum allowed json body size is 10MB** . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of json body size while parsing. Please use fileUrl instead to import bigger files.                                                                               |
| `listIds`                 | integer\[] | No       | —       | **Mandatory if newList is not defined.** Ids of the lists in which the contacts shall be imported. For example, **\[2, 4, 7]**.                                                                                                                                                                                                                                                               |
| `newList`                 | object     | No       | —       | To create a new list and import the contacts into it, pass the listName and an optional folderId.                                                                                                                                                                                                                                                                                             |
| `notifyUrl`               | string     | No       | —       | URL that will be called once the import process is finished. For reference, [https://help.brevo.com/hc/en-us/articles/360007666479](https://help.brevo.com/hc/en-us/articles/360007666479)                                                                                                                                                                                                    |
| `smsBlacklist`            | boolean    | No       | —       | To blacklist all the contacts for sms                                                                                                                                                                                                                                                                                                                                                         |
| `updateExistingContacts`  | boolean    | No       | —       | To facilitate the choice to update the existing contacts                                                                                                                                                                                                                                                                                                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "consentGroupIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "**Optional.** Ids of the consent groups to which all imported contacts will be added. Requires consent groups to be enabled for the organisation. For example, **[1, 3]**."
      },
      "disableNotification": {
        "type": "boolean",
        "description": "To disable email notification"
      },
      "emailBlacklist": {
        "type": "boolean",
        "description": "To blacklist all the contacts for email"
      },
      "emptyContactsAttributes": {
        "type": "boolean",
        "description": "To facilitate the choice to erase any attribute of the existing contacts with empty value. emptyContactsAttributes = true means the empty fields in your import will erase any attribute that currently contain data in Brevo, & emptyContactsAttributes = false means the empty fields will not affect your existing data ( **only available if `updateExistingContacts` set to true **)"
      },
      "fileBody": {
        "type": "string",
        "description": "**Mandatory if fileUrl and jsonBody is not defined.** CSV content to be imported. Use semicolon to separate multiple attributes. **Maximum allowed file body size is 10MB** . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of file body size while parsing. Please use fileUrl instead to import bigger files."
      },
      "fileUrl": {
        "type": "string",
        "description": "**Mandatory if fileBody and jsonBody is not defined.** URL of the file to be imported (**no local file**). Possible file formats: #### .txt, .csv, .json"
      },
      "jsonBody": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "attributes": {
              "type": "object",
              "description": "List of attributes to be imported"
            },
            "email": {
              "type": "string",
              "description": "The email value"
            }
          }
        },
        "description": "**Mandatory if fileUrl and fileBody is not defined.** JSON content to be imported. **Maximum allowed json body size is 10MB** . However we recommend a safe limit of around 8 MB to avoid the issues caused due to increase of json body size while parsing. Please use fileUrl instead to import bigger files."
      },
      "listIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "**Mandatory if newList is not defined.** Ids of the lists in which the contacts shall be imported. For example, **[2, 4, 7]**."
      },
      "newList": {
        "type": "object",
        "description": "To create a new list and import the contacts into it, pass the listName and an optional folderId.",
        "properties": {
          "folderId": {
            "type": "integer",
            "description": "Id of the folder where this new list shall be created. **Mandatory if listName is not empty**"
          },
          "listName": {
            "type": "string",
            "description": "List with listName will be created first and users will be imported in it. **Mandatory if listIds is empty**."
          }
        }
      },
      "notifyUrl": {
        "type": "string",
        "description": "URL that will be called once the import process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479"
      },
      "smsBlacklist": {
        "type": "boolean",
        "description": "To blacklist all the contacts for sms"
      },
      "updateExistingContacts": {
        "type": "boolean",
        "description": "To facilitate the choice to update the existing contacts"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_remove\_contact\_from\_list

Delete a contact from a list

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                |
| --------- | ------- | -------- | ------- | -------------------------------------------------------------------------- |
| `listId`  | integer | Yes      | —       | Id of the list                                                             |
| `body`    | object  | Yes      | —       | Emails adresses OR IDs OR EXT\_ID attributes of the contacts OR 'all' true |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "listId": {
        "type": "integer",
        "description": "Id of the list"
      },
      "body": {
        "description": "Emails adresses OR IDs OR EXT_ID attributes of the contacts OR 'all' true"
      }
    },
    "required": [
      "PCID",
      "listId",
      "body"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_request\_contact\_export

Export contacts

**Parameters:**

| Parameter                   | Type      | Required | Default | Description                                                                                                                                                                                                                     |
| --------------------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `customContactFilter`       | object    | Yes      | —       | Set the filter for the contacts to be exported.                                                                                                                                                                                 |
| `disableNotification`       | boolean   | No       | —       | To avoid generating the email notification upon contact export, pass **true**                                                                                                                                                   |
| `exportAttributes`          | string\[] | No       | —       | List of all the attributes that you want to export. \*\*These attributes must be present in your contact database. It is required if exportMandatoryAttributes is set false. \*\* For example: **\['fname', 'lname', 'email']** |
| `exportDateInUTC`           | boolean   | No       | —       | Specifies whether the date fields createdAt, modifiedAt in the exported data should be returned in UTC format.                                                                                                                  |
| `exportMandatoryAttributes` | boolean   | No       | —       | To export mandatory attributes like EMAIL, ADDED\_TIME, MODIFIED\_TIME                                                                                                                                                          |
| `exportMetadata`            | string\[] | No       | —       | Export metadata of contacts such as \_listIds, ADDED\_TIME, MODIFIED\_TIME.                                                                                                                                                     |
| `exportSubscriptionStatus`  | string\[] | No       | —       | Export subscription status of contacts for email & sms marketting. Pass email\_marketing to obtain the marketing email subscription status & sms\_marketing to retrieve the marketing SMS status of the contact.                |
| `notifyUrl`                 | string    | No       | —       | Webhook that will be called once the export process is finished. For reference, [https://help.brevo.com/hc/en-us/articles/360007666479](https://help.brevo.com/hc/en-us/articles/360007666479)                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "customContactFilter": {
        "type": "object",
        "description": "Set the filter for the contacts to be exported.",
        "properties": {
          "actionForContacts": {
            "type": "string",
            "description": "**Mandatory if neither actionForEmailCampaigns nor actionForSmsCampaigns is passed.** This will export the contacts on the basis of provided action applied on contacts as per the list id. * **allContacts** - Fetch the list of all contacts for a particular list. * **subscribed & unsubscribed** - Fetch the list of subscribed / unsubscribed (blacklisted via any means) contacts for a particular list. * **unsubscribedPerList** - Fetch the list of contacts that are unsubscribed from a particular list only.",
            "enum": [
              "allContacts",
              "subscribed",
              "unsubscribed",
              "unsubscribedPerList"
            ]
          },
          "actionForEmailCampaigns": {
            "type": "string",
            "description": "**Mandatory if neither actionForContacts nor actionForSmsCampaigns is passed.** This will export the contacts on the basis of provided action applied on email campaigns. * **openers & nonOpeners** - emailCampaignId is mandatory. Fetch the list of readers / non-readers for a particular email campaign. * **clickers & nonClickers** - emailCampaignId is mandatory. Fetch the list of clickers / non-clickers for a particular email campaign. * **unsubscribed** - emailCampaignId is mandatory. Fetch the list of all unsubscribed (blacklisted via any means) contacts for a particular email campaign. * **hardBounces & softBounces** - emailCampaignId is optional. Fetch the list of hard bounces / soft bounces for a particular / all email campaign(s).",
            "enum": [
              "openers",
              "nonOpeners",
              "clickers",
              "nonClickers",
              "unsubscribed",
              "hardBounces",
              "softBounces"
            ]
          },
          "actionForSmsCampaigns": {
            "type": "string",
            "description": "**Mandatory if neither actionForContacts nor actionForEmailCampaigns is passed.** This will export the contacts on the basis of provided action applied on sms campaigns. * **unsubscribed** - Fetch the list of all unsubscribed (blacklisted via any means) contacts for all / particular sms campaigns. * **hardBounces & softBounces** - Fetch the list of hard bounces / soft bounces for all / particular sms campaigns.",
            "enum": [
              "hardBounces",
              "softBounces",
              "unsubscribed"
            ]
          },
          "emailCampaignId": {
            "type": "integer",
            "description": "Considered only if **actionForEmailCampaigns** is passed, ignored otherwise. **Mandatory if action is one of the following - openers, nonOpeners, clickers, nonClickers, unsubscribed.** The id of the email campaign for which the corresponding action shall be applied in the filter."
          },
          "listId": {
            "type": "integer",
            "description": "ID of the list. This is mandatory if actionForContacts is specified and segmentId is not provided. Either segmentId or listId must be included."
          },
          "segmentId": {
            "type": "integer",
            "description": "ID of the segment. This is mandatory if actionForContacts is specified and listId is not provided. Either segmentId or listId must be included."
          },
          "smsCampaignId": {
            "type": "integer",
            "description": "Considered only if **actionForSmsCampaigns** is passed, ignored otherwise. The id of sms campaign for which the corresponding action shall be applied in the filter."
          }
        }
      },
      "disableNotification": {
        "type": "boolean",
        "description": "To avoid generating the email notification upon contact export, pass **true**"
      },
      "exportAttributes": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of all the attributes that you want to export. **These attributes must be present in your contact database. It is required if exportMandatoryAttributes is set false. ** For example: **['fname', 'lname', 'email']**"
      },
      "exportDateInUTC": {
        "type": "boolean",
        "description": "Specifies whether the date fields createdAt, modifiedAt in the exported data should be returned in UTC format."
      },
      "exportMandatoryAttributes": {
        "type": "boolean",
        "description": "To export mandatory attributes like EMAIL, ADDED_TIME, MODIFIED_TIME"
      },
      "exportMetadata": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Export metadata of contacts such as _listIds, ADDED_TIME, MODIFIED_TIME."
      },
      "exportSubscriptionStatus": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Export subscription status of contacts for email & sms marketting. Pass email_marketing to obtain the marketing email subscription status & sms_marketing to retrieve the marketing SMS status of the contact."
      },
      "notifyUrl": {
        "type": "string",
        "description": "Webhook that will be called once the export process is finished. For reference, https://help.brevo.com/hc/en-us/articles/360007666479"
      }
    },
    "required": [
      "PCID",
      "customContactFilter"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_update\_attribute

Update contact attribute

**Parameters:**

| Parameter              | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                   |
| ---------------------- | --------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `attributeCategory`    | string    | Yes      | —       | Category of the attribute                                                                                                                                                                                                                                                                     |
| `attributeName`        | string    | Yes      | —       | Name of the existing attribute                                                                                                                                                                                                                                                                |
| `enumeration`          | object\[] | No       | —       | List of the values and labels that the attribute can take. **Use only if the attribute's category is "category"** None of the category options can exceed max 200 characters. For example, **\[\{"value":1, "label":"male"}, \{"value":2, "label":"female"}]**                                |
| `multiCategoryOptions` | string\[] | No       | —       | Use this option to add multiple-choice attributes options only if the attribute's category is "normal". **This option is specifically designed for updating multiple-choice attributes. None of the multicategory options can exceed max 200 characters.**. For example: **\["USA","INDIA"]** |
| `value`                | string    | No       | —       | Value of the attribute to update. **Use only if the attribute's category is 'calculated' or 'global'**                                                                                                                                                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "attributeCategory": {
        "type": "string",
        "description": "Category of the attribute",
        "enum": [
          "category",
          "calculated",
          "global",
          "normal"
        ]
      },
      "attributeName": {
        "type": "string",
        "description": "Name of the existing attribute"
      },
      "enumeration": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "description": "Label of the value"
            },
            "value": {
              "type": "integer",
              "description": "Id of the value"
            }
          },
          "required": [
            "label",
            "value"
          ]
        },
        "description": "List of the values and labels that the attribute can take. **Use only if the attribute's category is \"category\"** None of the category options can exceed max 200 characters. For example, **[{\"value\":1, \"label\":\"male\"}, {\"value\":2, \"label\":\"female\"}]**"
      },
      "multiCategoryOptions": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Use this option to add multiple-choice attributes options only if the attribute's category is \"normal\". **This option is specifically designed for updating multiple-choice attributes. None of the multicategory options can exceed max 200 characters.**. For example: **[\"USA\",\"INDIA\"]**"
      },
      "value": {
        "type": "string",
        "description": "Value of the attribute to update. **Use only if the attribute's category is 'calculated' or 'global'**"
      }
    },
    "required": [
      "PCID",
      "attributeCategory",
      "attributeName"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_update\_batch\_contacts

Update multiple contacts

**Parameters:**

| Parameter  | Type      | Required | Default | Description                    |
| ---------- | --------- | -------- | ------- | ------------------------------ |
| `contacts` | object\[] | No       | —       | List of contacts to be updated |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "contacts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "attributes": {
              "type": "object",
              "description": "Pass the set of attributes to be updated. **These attributes must be present in your account**. To update existing email address of a contact with the new one please pass EMAIL in attribtes. For example, **{ \"EMAIL\":\"newemail@domain.com\", \"FNAME\":\"Ellie\", \"LNAME\":\"Roger\"}**. Keep in mind transactional attributes can be updated the same way as normal attributes. Mobile Number in **SMS** field should be passed with proper country code. For example: **{\"SMS\":\"+91xxxxxxxxxx\"} or {\"SMS\":\"0091xxxxxxxxxx\"}**"
            },
            "email": {
              "type": "string",
              "format": "email",
              "description": "Email address of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)"
            },
            "emailBlacklisted": {
              "type": "boolean",
              "description": "Set/unset this field to blacklist/allow the contact for emails (emailBlacklisted = true)"
            },
            "ext_id": {
              "type": "string",
              "description": "Pass your own Id to update ext_id of a contact."
            },
            "id": {
              "type": "integer",
              "format": "int64",
              "description": "id of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)"
            },
            "listIds": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Ids of the lists to add the contact to"
            },
            "sms": {
              "type": "string",
              "description": "SMS of the user to be updated (For each operation only pass one of the supported contact identifiers. Email, id or sms)"
            },
            "smsBlacklisted": {
              "type": "boolean",
              "description": "Set/unset this field to blacklist/allow the contact for SMS (smsBlacklisted = true)"
            },
            "smtpBlacklistSender": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "transactional email forbidden sender for contact. Use only for email Contact"
            },
            "unlinkListIds": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Ids of the lists to remove the contact from"
            }
          }
        },
        "description": "List of contacts to be updated"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_update\_contact

Update a contact

**Parameters:**

| Parameter             | Type       | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------- | ---------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `identifier`          | object     | Yes      | —       | Email (urlencoded) OR ID of the contact OR EXT\_ID attribute (urlencoded) OR its SMS attribute value OR its WHATSAPP attribute value OR its LANDLINE\_NUMBER attribute value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `identifierType`      | string     | No       | —       | email\_id for Email, contact\_id for ID of the contact, ext\_id for EXT\_ID attribute, phone\_id for SMS attribute, whatsapp\_id for WHATSAPP attribute, landline\_number\_id for LANDLINE\_NUMBER attribute                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `attributes`          | object     | No       | —       | Pass the set of attributes to be updated. **These attributes must be present in your account**. To update existing email address of a contact with the new one please pass EMAIL in attributes. For example, **\{ "EMAIL":"[newemail@domain.com](mailto:newemail@domain.com)", "FNAME":"Ellie", "LNAME":"Roger", "COUNTRIES":\["India","China"]}**. The attribute's parameter should be passed in capital letter while updating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored .Keep in mind transactional attributes can be updated the same way as normal attributes. Mobile Number in **SMS** field should be passed with proper country code. For example: **\{"SMS":"+91xxxxxxxxxx"} or \{"SMS":"0091xxxxxxxxxx"}** |
| `emailBlacklisted`    | boolean    | No       | —       | Set/unset this field to blacklist/allow the contact for emails (emailBlacklisted = true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `ext_id`              | string     | No       | —       | Pass your own Id to update ext\_id of a contact.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `forceMerge`          | boolean    | No       | —       | When true, if the contact being updated shares an identifier (email, SMS, ext\_id, whatsapp, landline) with an existing contact, the two contacts are force-merged. The contact with the most recent `last_modified` timestamp is retained; the other is deleted. When false (default), a 4xx error is returned on identifier conflict.                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `listIds`             | integer\[] | No       | —       | Ids of the lists to add the contact to                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `smsBlacklisted`      | boolean    | No       | —       | Set/unset this field to blacklist/allow the contact for SMS (smsBlacklisted = true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `smtpBlacklistSender` | string\[]  | No       | —       | transactional email forbidden sender for contact. Use only for email Contact                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `unlinkListIds`       | integer\[] | No       | —       | Ids of the lists to remove the contact from                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "identifier": {
        "description": "Email (urlencoded) OR ID of the contact OR EXT_ID attribute (urlencoded) OR its SMS attribute value OR its WHATSAPP attribute value OR its LANDLINE_NUMBER attribute value"
      },
      "identifierType": {
        "type": "string",
        "description": "email_id for Email, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute",
        "enum": [
          "email_id",
          "contact_id",
          "ext_id",
          "phone_id",
          "whatsapp_id",
          "landline_number_id"
        ]
      },
      "attributes": {
        "type": "object",
        "description": "Pass the set of attributes to be updated. **These attributes must be present in your account**. To update existing email address of a contact with the new one please pass EMAIL in attributes. For example, **{ \"EMAIL\":\"newemail@domain.com\", \"FNAME\":\"Ellie\", \"LNAME\":\"Roger\", \"COUNTRIES\":[\"India\",\"China\"]}**. The attribute's parameter should be passed in capital letter while updating a contact. Values that don't match the attribute type (e.g. text or string in a date attribute) will be ignored .Keep in mind transactional attributes can be updated the same way as normal attributes. Mobile Number in **SMS** field should be passed with proper country code. For example: **{\"SMS\":\"+91xxxxxxxxxx\"} or {\"SMS\":\"0091xxxxxxxxxx\"}**"
      },
      "emailBlacklisted": {
        "type": "boolean",
        "description": "Set/unset this field to blacklist/allow the contact for emails (emailBlacklisted = true)"
      },
      "ext_id": {
        "type": "string",
        "description": "Pass your own Id to update ext_id of a contact."
      },
      "forceMerge": {
        "type": "boolean",
        "description": "When true, if the contact being updated shares an identifier (email, SMS, ext_id, whatsapp, landline) with an existing contact, the two contacts are force-merged. The contact with the most recent `last_modified` timestamp is retained; the other is deleted. When false (default), a 4xx error is returned on identifier conflict."
      },
      "listIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Ids of the lists to add the contact to"
      },
      "smsBlacklisted": {
        "type": "boolean",
        "description": "Set/unset this field to blacklist/allow the contact for SMS (smsBlacklisted = true)"
      },
      "smtpBlacklistSender": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "email"
        },
        "description": "transactional email forbidden sender for contact. Use only for email Contact"
      },
      "unlinkListIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Ids of the lists to remove the contact from"
      }
    },
    "required": [
      "PCID",
      "identifier"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_update\_folder

Update a folder

**Parameters:**

| Parameter  | Type    | Required | Default | Description        |
| ---------- | ------- | -------- | ------- | ------------------ |
| `folderId` | integer | Yes      | —       | Id of the folder   |
| `name`     | string  | No       | —       | Name of the folder |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "folderId": {
        "type": "integer",
        "description": "Id of the folder"
      },
      "name": {
        "type": "string",
        "description": "Name of the folder"
      }
    },
    "required": [
      "PCID",
      "folderId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_update\_list

Update a list

**Parameters:**

| Parameter  | Type    | Required | Default | Description                                                                                                                |
| ---------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------- |
| `listId`   | integer | Yes      | —       | Id of the list                                                                                                             |
| `folderId` | integer | No       | —       | Id of the folder in which the list is to be moved. Either of the two parameters (name, folderId) can be updated at a time. |
| `name`     | string  | No       | —       | Name of the list. Either of the two parameters (name, folderId) can be updated at a time.                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "listId": {
        "type": "integer",
        "description": "Id of the list"
      },
      "folderId": {
        "type": "integer",
        "description": "Id of the folder in which the list is to be moved. Either of the two parameters (name, folderId) can be updated at a time."
      },
      "name": {
        "type": "string",
        "description": "Name of the list. Either of the two parameters (name, folderId) can be updated at a time."
      }
    },
    "required": [
      "PCID",
      "listId"
    ]
  }
  ```
</Expandable>

***

## brevo\_contacts\_upsertrecords

Create/Update object records in bulk

**Parameters:**

| Parameter     | Type      | Required | Default | Description                                                                                                                                                                     |
| ------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type` | string    | Yes      | —       | Object type for the records to upsert. Must be a previously created custom object type. Only lowercase alphanumeric characters and underscores are allowed (max 32 characters). |
| `records`     | object\[] | Yes      | —       | List of object records to be upsert. Each record can have attributes, identifiers, and associations.                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "object_type": {
        "type": "string",
        "description": "Object type for the records to upsert. Must be a previously created custom object type. Only lowercase alphanumeric characters and underscores are allowed (max 32 characters)."
      },
      "records": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "associations": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "object_type": {
                    "type": "string",
                    "description": "Type of the associated object"
                  },
                  "action": {
                    "type": "string",
                    "description": "Action to perform on the association. - `link`: Create association between records (default if not provided) - `unlink`: Remove association between records. Idempotent — unlinking a non-existing association is a no-op success. "
                  },
                  "records": {
                    "type": "array"
                  }
                }
              },
              "description": "List of associations for the object record. Maximum 20 total entries allowed, with a maximum of 10 link actions and 10 unlink actions. Each entry specifies an object_type and an action (link or unlink). Unlink is idempotent — removing a non-existing association does not return an error. Both associated records must already exist before creating a link."
            },
            "attributes": {
              "type": "object",
              "description": "Key-value pairs of attribute data for the object record. Each key must be the attribute **key** (e.g., `company_name`, `engine_type`), not the attribute label (e.g., \"Company Name\", \"Engine Type\"). Only attributes that already exist in the object schema will be accepted — unknown keys are silently ignored. Minimum 1 attribute is required.  For `category` or `multiple_category` attributes, set the value to the option **key** (not the option label or option ID). You can find available option keys in the `options` array returned by the GET attributes endpoint, or in the frontend under each attribute's settings.  For example, use the option key \"hybrid\" not the label \"Hybrid\" — using the label will be silently ignored.  For `multiple_choice` type, pass an **array of option keys** (not display labels). For example, if options have keys `\"sunroof\"` and `\"leather_seats\"`, pass `[\"sunroof\", \"leather_seats\"]`."
            },
            "identifiers": {
              "type": "object",
              "description": "Identifiers for the object record. Supports `id` (singular, not `ids`) or `ext_id`. - `ext_id`: Your external system's identifier for this record. - `id`: Internal Brevo record ID — can only be used for **updating** existing records, not for creation. NOTE: - This is an optional field. If no identifier is provided, Brevo auto-generates an internal ID that you can use for future operations. - If both `ext_id` and `id` are provided, `id` takes precedence and the operation is treated as an update. It is recommended to provide only one identifier per record."
            }
          }
        },
        "description": "List of object records to be upsert. Each record can have attributes, identifiers, and associations."
      }
    },
    "required": [
      "PCID",
      "object_type",
      "records"
    ]
  }
  ```
</Expandable>

***

## brevo-contacts\_create\_consent\_group

Create a consent group

**Parameters:**

| Parameter     | Type       | Required | Default | Description                                                                                                                                                   |
| ------------- | ---------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `description` | string     | No       | —       | Optional description (max 500 characters)                                                                                                                     |
| `listIds`     | integer\[] | No       | —       | Optional list of contact list IDs. Contacts from these lists will be copied once into this consent group at creation time.                                    |
| `name`        | string     | Yes      | —       | Unique name for the consent group (max 255 characters)                                                                                                        |
| `signupMode`  | string     | Yes      | —       | Controls how contacts are added to the group. `manual` — contacts are added explicitly via the API. `automatic` — contacts are added automatically at signup. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "description": {
        "type": "string",
        "description": "Optional description (max 500 characters)"
      },
      "listIds": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "int64"
        },
        "description": "Optional list of contact list IDs. Contacts from these lists will be copied once into this consent group at creation time."
      },
      "name": {
        "type": "string",
        "description": "Unique name for the consent group (max 255 characters)"
      },
      "signupMode": {
        "type": "string",
        "description": "Controls how contacts are added to the group. `manual` — contacts are added explicitly via the API. `automatic` — contacts are added automatically at signup.",
        "enum": [
          "manual",
          "automatic"
        ]
      }
    },
    "required": [
      "PCID",
      "name",
      "signupMode"
    ]
  }
  ```
</Expandable>

***

## brevo-contacts\_delete\_consent\_group

Delete a consent group

**Parameters:**

| Parameter | Type    | Required | Default | Description                       |
| --------- | ------- | -------- | ------- | --------------------------------- |
| `id`      | integer | Yes      | —       | ID of the consent group to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "ID of the consent group to delete"
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## brevo-contacts\_get\_consent\_group

Get a consent group

**Parameters:**

| Parameter | Type    | Required | Default | Description             |
| --------- | ------- | -------- | ------- | ----------------------- |
| `id`      | integer | Yes      | —       | ID of the consent group |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "ID of the consent group"
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## brevo-contacts\_get\_consent\_groups

List all consent groups

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                              |
| ------------ | ------- | -------- | ------- | -------------------------------------------------------- |
| `limit`      | integer | No       | —       | Maximum number of results to return (default 10, max 50) |
| `offset`     | integer | No       | —       | Number of results to skip (default 0)                    |
| `id`         | integer | No       | —       | Filter by consent group ID                               |
| `name`       | string  | No       | —       | Filter by name (case-insensitive partial match)          |
| `signupMode` | string  | No       | —       | Filter by signup mode                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of results to return (default 10, max 50)"
      },
      "offset": {
        "type": "integer",
        "description": "Number of results to skip (default 0)"
      },
      "id": {
        "type": "integer",
        "description": "Filter by consent group ID"
      },
      "name": {
        "type": "string",
        "description": "Filter by name (case-insensitive partial match)"
      },
      "signupMode": {
        "type": "string",
        "description": "Filter by signup mode",
        "enum": [
          "manual",
          "automatic"
        ]
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## brevo-contacts\_update\_consent\_group

Update a consent group

**Parameters:**

| Parameter     | Type    | Required | Default | Description                                         |
| ------------- | ------- | -------- | ------- | --------------------------------------------------- |
| `id`          | integer | Yes      | —       | ID of the consent group to update                   |
| `description` | string  | No       | —       | New description (max 500 characters)                |
| `name`        | string  | No       | —       | New name for the consent group (max 255 characters) |
| `signupMode`  | string  | No       | —       | New signup mode                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "ID of the consent group to update"
      },
      "description": {
        "type": "string",
        "description": "New description (max 500 characters)"
      },
      "name": {
        "type": "string",
        "description": "New name for the consent group (max 255 characters)"
      },
      "signupMode": {
        "type": "string",
        "description": "New signup mode",
        "enum": [
          "manual",
          "automatic"
        ]
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>
