object NoteData
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "example": "In communication with client for resolution of queries.",
      "maxLength": 3000,
      "minLength": 1,
      "description": "Text content of a note"
    },
    "dealIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991"
      ],
      "description": "Deal Ids linked to a note"
    },
    "companyIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991"
      ],
      "description": "Company Ids linked to a note"
    },
    "contactIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        247,
        1,
        2
      ],
      "description": "Contact Ids linked to a note"
    }
  },
  "description": "Note data to be saved"
}
object NoteId
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad09",
      "description": "Unique note Id"
    }
  },
  "description": "Updated Note ID"
}
array NoteList
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Note"
  },
  "description": "List of notes"
}
object Pipeline
{
  "type": "object",
  "properties": {
    "stages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PipelineStage"
      },
      "description": "List of stages"
    },
    "pipeline": {
      "type": "string",
      "example": "5ea675e3da0dd085acaea610",
      "description": "Pipeline id"
    },
    "pipeline_name": {
      "type": "string",
      "example": "Sales Pipeline",
      "description": "Pipeline name"
    }
  },
  "description": "List of stages"
}
object PipelineStage
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "9e577ff7-8e42-4ab3-be26-2b5e01b42518",
      "description": "Stage id"
    },
    "name": {
      "type": "string",
      "example": "New",
      "description": "Stage name"
    }
  },
  "description": "List of stages"
}
array Pipelines
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Pipeline"
  },
  "description": "List of pipeline"
}
object Task
{
  "type": "object",
  "required": [
    "taskTypeId",
    "name",
    "date"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad06",
      "description": "Unique task id"
    },
    "name": {
      "type": "string",
      "example": "Task: Connect with client",
      "description": "Name of task"
    },
    "dealsIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Deal ids for deals a task is linked to"
    },
    "taskTypeId": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad09",
      "description": "Id for type of task e.g Call / Email / Meeting etc."
    },
    "contactsIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        1,
        2,
        3
      ],
      "description": "Contact ids for contacts linked to this task"
    },
    "companiesIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Companies ids for companies a task is linked to"
    }
  },
  "description": "Task Details"
}
object TaskList
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Task"
      },
      "description": "List of tasks"
    }
  },
  "description": "List of tasks"
}
object TaskReminder
{
  "type": "object",
  "required": [
    "value",
    "unit",
    "types"
  ],
  "properties": {
    "unit": {
      "enum": [
        "minutes",
        "hours",
        "weeks",
        "days"
      ],
      "type": "string",
      "description": "Unit of time before reminder is to be sent"
    },
    "types": {
      "type": "array",
      "items": {
        "enum": [
          "email",
          "push"
        ],
        "type": "string"
      },
      "example": [
        "email"
      ],
      "description": "Type of task reminder e.g email, push"
    },
    "value": {
      "type": "integer",
      "example": 10,
      "description": "Value of time unit before reminder is to be sent"
    }
  },
  "description": "Task reminder date/time for a task"
}
object TaskTypes
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "61a88a2eb7a574180261234",
      "description": "Id of task type"
    },
    "title": {
      "type": "string",
      "example": "Email",
      "description": "Title of task type"
    }
  },
  "description": "Task types details"
}
object TasksCreateNewTaskRequest
{
  "type": "object",
  "required": [
    "name",
    "taskTypeId",
    "date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "format": "date-time",
      "example": "2021-11-01T17:44:54.668Z",
      "description": "Task due date and time"
    },
    "done": {
      "type": "boolean",
      "example": false,
      "description": "Task marked as done"
    },
    "name": {
      "type": "string",
      "example": "Task: Connect with client",
      "description": "Name of task"
    },
    "notes": {
      "type": "string",
      "example": "In communication with client for resolution of queries.",
      "description": "Notes added to a task"
    },
    "dealsIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Deal ids for deals a task is linked to"
    },
    "duration": {
      "type": "integer",
      "format": "int64",
      "example": 600000,
      "minimum": 0,
      "description": "Duration of task in milliseconds [1 minute = 60000 ms]"
    },
    "reminder": {
      "$ref": "#/components/schemas/TaskReminder"
    },
    "assignToId": {
      "type": "string",
      "example": "5faab4b7f195bb3c4c31e62a",
      "description": "To assign a task to a user you can use either the account email or ID."
    },
    "taskTypeId": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad09",
      "description": "Id for type of task e.g Call / Email / Meeting etc."
    },
    "contactsIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        1,
        2,
        3
      ],
      "description": "Contact ids for contacts linked to this task"
    },
    "companiesIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Companies ids for companies a task is linked to"
    }
  }
}
object TasksCreateNewTaskResponse
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad06",
      "description": "Unique task id"
    }
  },
  "description": "Task Details"
}
object TasksUpdateTaskRequest
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "format": "date-time",
      "example": "2021-11-01T17:44:54.668Z",
      "description": "Task date/time"
    },
    "done": {
      "type": "boolean",
      "example": false,
      "description": "Task marked as done"
    },
    "name": {
      "type": "string",
      "example": "Task: Connect with client",
      "description": "Name of task"
    },
    "notes": {
      "type": "string",
      "example": "In communication with client for resolution of queries.",
      "description": "Notes added to a task"
    },
    "dealsIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Deal ids for deals a task is linked to"
    },
    "duration": {
      "type": "integer",
      "format": "int64",
      "example": 600000,
      "description": "Duration of task in milliseconds [1 minute = 60000 ms]"
    },
    "reminder": {
      "$ref": "#/components/schemas/TaskReminder"
    },
    "assignToId": {
      "type": "string",
      "example": "5faab4b7f195bb3c4c31e62a",
      "description": "To assign a task to a user you can use either the account email or ID."
    },
    "taskTypeId": {
      "type": "string",
      "example": "61a5cd07ca1347c82306ad09",
      "description": "Id for type of task e.g Call / Email / Meeting etc."
    },
    "contactsIds": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "example": [
        1,
        2,
        3
      ],
      "description": "Contact ids for contacts linked to this task"
    },
    "companiesIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "61a5ce58c5d4795761045990",
        "61a5ce58c5d4795761045991",
        "61a5ce58c5d4795761045992"
      ],
      "description": "Companies ids for companies a task is linked to"
    }
  }
}
object TransactionalEmailsGetEmailStatusByIdResponse
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/getScheduledEmailByBatchId"
    },
    {
      "$ref": "#/components/schemas/getScheduledEmailByMessageId"
    }
  ]
}
object TransactionalWhatsAppSendMessageRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/sendWhatsappMessageTemplate"
    },
    {
      "$ref": "#/components/schemas/sendWhatsappMessageText"
    }
  ]
}
object TransactionalWhatsAppSendMessageResponse
{
  "type": "object",
  "required": [
    "messageId"
  ],
  "properties": {
    "messageId": {
      "type": "string",
      "format": "uuidv4",
      "example": "23befbae-1505-47a8-bd27-e30ef739f32c",
      "description": "messageId of sent message"
    }
  }
}
object WebhooksExportAllEventsRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/exportWebhooksHistory"
    }
  ]
}
object WhatsappCampStats
{
  "type": "object",
  "required": [
    "sent",
    "delivered",
    "read",
    "unsubscribe",
    "notSent"
  ],
  "properties": {
    "read": {
      "type": "integer",
      "example": 2
    },
    "sent": {
      "type": "integer",
      "example": 3
    },
    "notSent": {
      "type": "integer",
      "example": 4
    },
    "delivered": {
      "type": "integer",
      "example": 3
    },
    "unsubscribe": {
      "type": "integer",
      "example": 0
    }
  }
}
object WhatsappCampTemplate
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "wta107",
      "description": "name of the template"
    },
    "category": {
      "type": "string",
      "example": "Marketing",
      "description": "description of the template"
    },
    "language": {
      "type": "string",
      "example": "en_GB",
      "description": "language of the template"
    },
    "components": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/componentItems"
      },
      "description": "array of component item objects"
    },
    "button_type": {
      "type": "string",
      "example": "QUICK_REPLIES"
    },
    "header_type": {
      "type": "string",
      "example": "text",
      "description": "type of header"
    },
    "hide_footer": {
      "type": "boolean",
      "example": true
    },
    "body_variables": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/variablesItems"
      },
      "description": "array of variables item variables"
    },
    "display_header": {
      "type": "boolean",
      "example": true
    },
    "contains_button": {
      "type": "boolean",
      "example": false
    },
    "header_variables": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/variablesItems"
      },
      "description": "array of variables item object"
    }
  }
}
object abTestCampaignResult
{
  "type": "object",
  "properties": {
    "openRate": {
      "type": "string",
      "example": "70%",
      "description": "Open rate for current winning version"
    },
    "clickRate": {
      "type": "string",
      "example": "70%",
      "description": "Click rate for current winning version"
    },
    "statistics": {
      "type": "object",
      "required": [
        "clicks",
        "complaints",
        "hardBounces",
        "openers",
        "softBounces",
        "unsubscribed"
      ],
      "properties": {
        "clicks": {
          "$ref": "#/components/schemas/abTestVersionStats"
        },
        "openers": {
          "$ref": "#/components/schemas/abTestVersionStats"
        },
        "complaints": {
          "$ref": "#/components/schemas/abTestVersionStats"
        },
        "hardBounces": {
          "$ref": "#/components/schemas/abTestVersionStats"
        },
        "softBounces": {
          "$ref": "#/components/schemas/abTestVersionStats"
        },
        "unsubscribed": {
          "$ref": "#/components/schemas/abTestVersionStats"
        }
      }
    },
    "clickedLinks": {
      "type": "object",
      "required": [
        "Version A",
        "Version B"
      ],
      "properties": {
        "Version A": {
          "$ref": "#/components/schemas/abTestVersionClicks"
        },
        "Version B": {
          "$ref": "#/components/schemas/abTestVersionClicks"
        }
      }
    },
    "winningVersion": {
      "enum": [
        "notAvailable",
        "pending",
        "tie",
        "A",
        "B"
      ],
      "type": "string",
      "example": "A",
      "description": "Winning Campaign Info. pending = Campaign has been picked for sending and winning version is yet to be decided, tie = A tie happened between both the versions, notAvailable = Campaign has not yet been picked for sending."
    },
    "winningCriteria": {
      "enum": [
        "Open",
        "Click"
      ],
      "type": "string",
      "example": "Open",
      "description": "Criteria choosen for winning version (Open/Click)"
    },
    "winningSubjectLine": {
      "type": "string",
      "example": "Subject Line A",
      "description": "Subject Line of current winning version"
    },
    "winningVersionRate": {
      "type": "string",
      "example": "70%",
      "description": "Open/Click rate for the winner version"
    }
  }
}
array abTestVersionClicks
{
  "type": "array",
  "items": {
    "type": "object",
    "required": [
      "clickRate",
      "clicksCount",
      "link"
    ],
    "properties": {
      "link": {
        "type": "string",
        "example": "https://facbook.com/versionA",
        "description": "URL of the link"
      },
      "clickRate": {
        "type": "string",
        "example": "40%",
        "description": "Percentage of clicks of link with respect to total clicks"
      },
      "clicksCount": {
        "type": "integer",
        "format": "int64",
        "example": 3,
        "description": "Number of times a link is clicked"
      }
    }
  },
  "description": "Information on clicked links for a particular version"
}
object abTestVersionStats
{
  "type": "object",
  "required": [
    "Version A",
    "Version B"
  ],
  "properties": {
    "Version A": {
      "type": "string",
      "example": "50%",
      "description": "percentage of an event for version A"
    },
    "Version B": {
      "type": "string",
      "example": "50%",
      "description": "percentage of an event for version B"
    }
  },
  "description": "Percentage of a particular event for both versions"
}
object addChildDomain
{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "example": "mychilddomain.com",
      "description": "Sender domain to add for a specific child account"
    }
  }
}
object addContactToListByEmails
{
  "type": "object",
  "properties": {
    "emails": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "email",
        "example": "john.smith@contact.com",
        "description": "Email to add to a list"
      },
      "maxItems": 150,
      "minItems": 1,
      "description": "Emails to add to a list. You can pass a **maximum of 150 emails** for addition in one request. **_If you need to add the emails in bulk, please prefer /contacts/import api._**\n"
    }
  }
}
object addContactToListByIDs
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64",
        "example": 10,
        "description": "ID to add to a list"
      },
      "maxItems": 150,
      "minItems": 1,
      "description": "IDs to add to a list. You can pass a **maximum of 150 IDs** for addition in one request. **_If you need to add the emails in bulk, please prefer /contacts/import api._**\n"
    }
  }
}
object addCredits
{
  "type": "object",
  "properties": {
    "sms": {
      "type": "integer",
      "format": "int64",
      "example": 450,
      "description": "**Required if email credits are empty.** SMS credits to be added to the child account\n"
    },
    "email": {
      "type": "integer",
      "format": "int64",
      "example": 1200,
      "description": "**Required if sms credits are empty.** Email credits to be added to the child account\n"
    }
  }
}
object authenticateDomainModel
{
  "type": "object",
  "required": [
    "domain_name",
    "message"
  ],
  "properties": {
    "message": {
      "type": "string",
      "example": "Domain has been authenticated successfully.",
      "description": "Success message"
    },
    "domain_name": {
      "type": "string",
      "example": "myexample.com",
      "description": "Domain"
    }
  }
}
object blockDomain
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "example": "example.com",
      "description": "name of the domain to be blocked"
    }
  }
}
object bodyVariablesItems
{
  "type": "object"
}
object cart
{
  "type": "object",
  "required": [
    "currency",
    "specificAmount"
  ],
  "properties": {
    "currency": {
      "enum": [
        "EUR"
      ],
      "type": "string",
      "example": "EUR",
      "description": "Currency code for the payment amount.\n"
    },
    "specificAmount": {
      "type": "integer",
      "format": "int64",
      "example": 1200,
      "description": "Payment amount, in cents.\ne.g. if you want to request €12.00, then the amount in cents is 1200.\n"
    }
  },
  "description": "Specify the payment currency and amount.\n"
}
object componentItems
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "example": "Life is a long lesson in humility"
    },
    "type": {
      "type": "string",
      "example": "BODY"
    }
  }
}
object configuration
{
  "required": [
    "customSuccessUrl"
  ],
  "properties": {
    "customSuccessUrl": {
      "type": "string",
      "format": "url",
      "example": "https://my-company.com/payment-success",
      "description": "Absolute URL of the custom success page.\n"
    }
  },
  "description": "Optional. Redirect contact to a custom success page once payment is successful. If empty the default Brevo page will be displayed once a payment is validated\n"
}
object corporateGroupDetailsResponse
{
  "type": "object",
  "properties": {
    "group": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Group id"
        },
        "createdAt": {
          "type": "string",
          "description": "Group creation date"
        },
        "groupName": {
          "type": "string",
          "description": "Name of the group"
        }
      }
    },
    "users": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email address of the user"
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the user"
          },
          "firstName": {
            "type": "string",
            "description": "First name of the user"
          }
        }
      }
    },
    "sub-accounts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Id of the sub-account organzation"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation date of the sub-account organzation"
          },
          "companyName": {
            "type": "string",
            "description": "Name of the sub-account organzation"
          }
        }
      }
    }
  }
}
object createApiKeyResponse
{
  "type": "object",
  "required": [
    "status",
    "key"
  ],
  "properties": {
    "key": {
      "type": "string",
      "example": "xkeysib-21881axxxxxcc92e04-mIrexxxx7z",
      "description": "API key"
    },
    "status": {
      "type": "string",
      "example": "success",
      "description": "Status of the API operation."
    }
  }
}
object createAttribute
{
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "text",
        "date",
        "float",
        "boolean",
        "id",
        "category"
      ],
      "type": "string",
      "example": "text",
      "description": "Type of the attribute. **Use only if the attribute's category is 'normal', 'category' or 'transactional'**\nType **boolean** is only available if the category is **normal** attribute\nType **id** is only available if the category is **transactional** attribute\nType **category** is only available if the category is **category** attribute\n"
    },
    "value": {
      "type": "string",
      "example": "COUNT[BLACKLISTED,BLACKLISTED,<,NOW()]",
      "description": "Value of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**\n"
    },
    "enumeration": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "label",
          "value"
        ],
        "properties": {
          "label": {
            "type": "string",
            "example": "Women",
            "description": "Label of the value"
          },
          "value": {
            "type": "integer",
            "example": 1,
            "description": "Id of the value"
          }
        }
      },
      "description": "List of values and labels that the attribute can take. **Use only if the attribute's category is \"category\"**. For example:\n**[{\"value\":1, \"label\":\"male\"}, {\"value\":2, \"label\":\"female\"}]**\n"
    },
    "isRecurring": {
      "type": "boolean",
      "example": true,
      "description": "Type of the attribute. **Use only if the attribute's category is 'calculated' or 'global'**\n"
    }
  }
}
object createCategoryModel
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 122,
      "description": "ID of the category when a new category is created"
    }
  }
}
object createChild
{
  "type": "object",
  "required": [
    "companyName",
    "email",
    "firstName",
    "lastName",
    "password"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "example": "josh.cruise@example.com",
      "description": "Email address to create the child account"
    },
    "language": {
      "enum": [
        "fr",
        "es",
        "pt",
        "it",
        "de",
        "en"
      ],
      "type": "string",
      "example": "en",
      "description": "Language of the child account"
    },
    "lastName": {
      "type": "string",
      "example": "Cruise",
      "description": "Last name to use to create the child account"
    },
    "password": {
      "type": "string",
      "format": "password",
      "example": "Pa55w0rd65",
      "description": "Password for the child account to login"
    },
    "firstName": {
      "type": "string",
      "example": "Josh",
      "description": "First name to use to create the child account"
    },
    "companyName": {
      "type": "string",
      "example": "Your Company",
      "description": "Company name to use to create the child account"
    }
  }
}
object createContact
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "example": "elly@example.com",
      "description": "Email address of the user. **Mandatory if \"SMS\" field is not passed in \"attributes\" parameter**. Mobile Number in **SMS** field should be passed with proper country code. For example:\n**{\"SMS\":\"+91xxxxxxxxxx\"}** or **{\"SMS\":\"0091xxxxxxxxxx\"}**\n"
    },
    "ext_id": {
      "type": "string",
      "example": "externalId",
      "description": "Pass your own Id to create a contact."
    },
    "listIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64",
        "example": 36,
        "description": "Id of the list to add the contact to"
      },
      "description": "Ids of the lists to add the contact to"
    },
    "attributes": {
      "type": "object",
      "example": {
        "FNAME": "Elly",
        "LNAME": "Roger"
      },
      "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:\n**{\"FNAME\":\"Elly\", \"LNAME\":\"Roger\"}**\n",
      "additionalProperties": {}
    },
    "updateEnabled": {
      "type": "boolean",
      "default": false,
      "example": false,
      "description": "Facilitate to update the existing contact in the same request (updateEnabled = true)"
    },
    "smsBlacklisted": {
      "type": "boolean",
      "example": false,
      "description": "Set this field to blacklist the contact for SMS (smsBlacklisted = true)"
    },
    "emailBlacklisted": {
      "type": "boolean",
      "example": false,
      "description": "Set this field to blacklist the contact for emails (emailBlacklisted = 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 )"
    }
  }
}
object createDoiContact
{
  "type": "object",
  "required": [
    "email",
    "includeListIds",
    "redirectionUrl",
    "templateId"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "example": "elly@example.com",
      "description": "Email address where the confirmation email will be sent. This email address will be the identifier for all other contact attributes."
    },
    "attributes": {
      "type": "object",
      "example": {
        "FNAME": "Elly",
        "LNAME": "Roger"
      },
      "description": "Pass the set of attributes and their values. **These attributes must be present in your Brevo account**. For eg. **{'FNAME':'Elly', 'LNAME':'Roger'}**\n",
      "additionalProperties": {}
    },
    "templateId": {
      "type": "integer",
      "format": "int64",
      "example": 2,
      "description": "Id of the Double opt-in (DOI) template"
    },
    "excludeListIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64",
        "example": 36,
        "description": "Id of the list"
      },
      "description": "Lists under user account where contact should not be added"
    },
    "includeListIds": {
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64",
        "example": 36,
        "description": "Id of the list"
      },
      "description": "Lists under user account where contact should be added"
    },
    "redirectionUrl": {
      "type": "string",
      "format": "url",
      "example": "http://requestb.in/173lyyx1",
      "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 }}**.\n"
    }
  }
}
object createDomain
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "mycompany.com",
      "description": "Domain name"
    }
  }
}
object createDomainModel
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 5,
      "description": "ID of the Domain created"
    },
    "message": {
      "type": "string",
      "example": "Domain added successfully. To authenticate it, add following DNS records",
      "description": "Success message"
    },
    "dns_records": {
      "type": "object",
      "properties": {
        "brevo_code": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "value": {
              "type": "string"
            },
            "status": {
              "type": "boolean"
            },
            "host_name": {
              "type": "string"
            }
          }
        },
        "dkim_record": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "value": {
              "type": "string"
            },
            "status": {
              "type": "boolean"
            },
            "host_name": {
              "type": "string"
            }
          }
        },
        "dmarc_record": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "value": {
              "type": "string"
            },
            "status": {
              "type": "boolean"
            },
            "host_name": {
              "type": "string"
            }
          }
        }
      }
    },
    "domain_name": {
      "type": "string",
      "example": "example.com",
      "description": "Domain"
    },
    "domain_provider": {
      "type": "string",
      "example": "GoDaddy",
      "description": "Domain Provider"
    }
  }
}
object createEmailCampaign
{
  "type": "object",
  "required": [
    "name",
    "sender"
  ],
  "properties": {
    "tag": {
      "type": "string",
      "example": "Newsletter",
      "description": "Tag of the campaign"
    },
    "name": {
      "type": "string",
      "example": "Newsletter - May 2017",
      "description": "Name of the campaign"
    },
    "footer": {
      "type": "string",
      "example": "[DEFAULT_FOOTER]",
      "description": "Footer of the email campaign"
    },
    "header": {
      "type": "string",
      "example": "[DEFAULT_HEADER]",
      "description": "Header of the email campaign"
    },
    "params": {
      "type": "object",
      "example": {
        "FNAME": "Joe",
        "LNAME": "Doe"
      },
      "description": "Pass the set of attributes to customize the type classic campaign. For example: **{\"FNAME\":\"Joe\", \"LNAME\":\"Doe\"}**. Only available if **type** is **classic**. It's considered only if campaign is in _New Template Language format_. The New Template Language is dependent on the values of **subject, htmlContent/htmlUrl, sender.name & toField**\n",
      "additionalProperties": {}
    },
    "sender": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "example": 3,
          "description": "Select the sender for the campaign on the basis of sender id.\n_In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)_.\n"
        },
        "name": {
          "type": "string",
          "example": "Mary from MyShop",
          "description": "Sender Name"
        },
        "email": {
          "type": "string",
          "format": "email",
          "example": "newsletter@myshop.com",
          "description": "Sender email"
        }
      },
      "description": "Sender details including id or email and name (_optional_). Only one of either Sender's email or Sender's ID shall be passed in one request at a time. For example:\n**{\"name\":\"xyz\", \"email\":\"example@abc.com\"}**\n**{\"name\":\"xyz\", \"id\":123}**\n"
    },
    "htmlUrl": {
      "type": "string",
      "format": "url",
      "example": "https://html.domain.com",
      "description": "**Mandatory if htmlContent and templateId are empty**. Url to the message (HTML). For example:\n**https://html.domain.com**\n"
    },
    "replyTo": {
      "type": "string",
      "format": "email",
      "example": "support@myshop.com",
      "description": "Email on which the campaign recipients will be able to reply to"
    },
    "subject": {
      "type": "string",
      "example": "Discover the New Collection !",
      "description": "Subject of the campaign. **Mandatory if abTesting is false**.\nIgnored if abTesting is true.\n"
    },
    "toField": {
      "type": "string",
      "example": "{FNAME} {LNAME}",
      "description": "To personalize the **To** Field. If you want to include the first name and last name of your recipient, add **{FNAME} {LNAME}**. These contact attributes must already exist in your Brevo account. If input parameter **params** used please use **{{contact.FNAME}} {{contact.LNAME}}** for personalization\n"
    },
    "subjectA": {
      "type": "string",
      "example": "Discover the New Collection!",
      "description": "Subject A of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n"
    },
    "subjectB": {
      "type": "string",
      "example": "Want to discover the New Collection?",
      "description": "Subject B of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n"
    },
    "abTesting": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Status of A/B Test. abTesting = false means it is disabled & abTesting = true means it is enabled. **subjectA, subjectB, splitRule, winnerCriteria & winnerDelay** will be considered when abTesting is set to true.\nsubjectA & subjectB are mandatory together & subject if passed is ignored. **Can be set to true only if sendAtBestTime is false**.\nYou will be able to set up two subject lines for your campaign and send them to a random sample of your total recipients. Half of the test group will receive version A, and the other half will receive version B\n"
    },
    "splitRule": {
      "type": "integer",
      "format": "int64",
      "example": 50,
      "maximum": 50,
      "minimum": 1,
      "description": "Add the size of your test groups. **Mandatory if abTesting = true & 'recipients' is passed**. We'll send version A and B to a random sample of recipients, and then the winning version to everyone else\n"
    },
    "recipients": {
      "type": "object",
      "properties": {
        "listIds": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64",
            "example": 32
          },
          "description": "**Mandatory if scheduledAt is not empty**. List Ids to send the campaign to\n"
        },
        "segmentIds": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64",
            "example": 23
          },
          "description": "**Mandatory if listIds are not used**. Segment ids to send the campaign to.\n"
        },
        "exclusionListIds": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64",
            "example": 8
          },
          "description": "List ids to exclude from the campaign"
        }
      },
      "description": "Segment ids and List ids to include/exclude from campaign"
    },
    "templateId": {
      "type": "integer",
      "format": "int64",
      "description": "**Mandatory if htmlContent and htmlUrl are empty**. Id of the transactional\nemail template with status _active_. Used to copy only its content fetched\nfrom htmlContent/htmlUrl to an email campaign for RSS feature.\n"
    },
    "htmlContent": {
      "type": "string",
      "example": "<!DOCTYPE html> <html> <body> <h1>Confirm you email</h1> <p>Please confirm your email address by clicking on the link below</p> </body> </html>",
      "description": "Mandatory if htmlUrl and templateId are empty. Body of the message (HTML).\n"
    },
    "previewText": {
      "type": "string",
      "example": "Thanks for your order!",
      "description": "Preview text or preheader of the email campaign"
    },
    "scheduledAt": {
      "type": "string",
      "example": "2017-06-01T10:30:00.000Z",
      "description": "Sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). **Prefer to pass your timezone in date-time format for accurate result**.\nIf sendAtBestTime is set to true, your campaign will be sent according to the date passed (ignoring the time part). For example:\n**2017-06-01T12:30:00+02:00**\n"
    },
    "utmCampaign": {
      "type": "string",
      "example": "NL_05_2017",
      "description": "Customize the utm_campaign value. If this field is empty, the campaign name will be used. Only alphanumeric characters and spaces are allowed"
    },
    "winnerDelay": {
      "type": "integer",
      "format": "int64",
      "example": 50,
      "maximum": 168,
      "minimum": 1,
      "description": "Choose the duration of the test in hours. Maximum is 7 days, pass 24*7 = 168 hours. The winning version will be sent at the end of the test. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerDelay` is ignored if passed\n"
    },
    "increaseRate": {
      "type": "integer",
      "format": "int64",
      "example": 70,
      "maximum": 100,
      "minimum": 0,
      "description": "**Mandatory if ipWarmupEnable is set to true**. Set a percentage increase rate for warming up your ip. We recommend you set the increase rate to 30% per day. If you want to send the same number of emails every day, set the daily increase value to 0%.\n"
    },
    "initialQuota": {
      "type": "integer",
      "format": "int64",
      "example": 3000,
      "description": "**Mandatory if ipWarmupEnable is set to true**. Set an initial quota greater than 1 for warming up your ip. We recommend you set a value of 3000.\n"
    },
    "mirrorActive": {
      "type": "boolean",
      "example": true,
      "description": "Use true to enable the mirror link"
    },
    "updateFormId": {
      "type": "string",
      "example": "6313436b9ad40e23b371d095",
      "description": "**Mandatory if templateId is used containing the {{ update_profile }} tag**. Enter an update profile form id. The form id is a 24 digit alphanumeric id that can be found in the URL when editing the form. If not entered, then the default update profile form will be used.\n"
    },
    "attachmentUrl": {
      "type": "string",
      "format": "url",
      "example": "https://attachment.domain.com",
      "description": "Absolute url of the attachment (no local file).\nExtension allowed:\n#### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps\n"
    },
    "ipWarmupEnable": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "**Available for dedicated ip clients**. Set this to true if you wish to warm up your ip.\n"
    },
    "sendAtBestTime": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Set this to true if you want to send your campaign at best time."
    },
    "winnerCriteria": {
      "enum": [
        "open",
        "click"
      ],
      "type": "string",
      "example": "open",
      "description": "Choose the metrics that will determinate the winning version. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerCriteria` is ignored if passed\n"
    },
    "unsubscriptionPageId": {
      "type": "string",
      "example": "62cbb7fabbe85021021aac52",
      "description": "Enter an unsubscription page id. The page id is a 24 digit alphanumeric id that can be found in the URL when editing the page. If not entered, then the default unsubscription page will be used.\n"
    },
    "inlineImageActivation": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Use true to embedded the images in your email. Final size of\nthe email should be less than **4MB**. Campaigns with embedded images can\n_not be sent to more than 5000 contacts_\n"
    }
  }
}
object createExternalFeed
{
  "type": "object",
  "required": [
    "name",
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "url",
      "example": "http://requestb.in/173lyyx1",
      "description": "URL of the feed"
    },
    "name": {
      "type": "string",
      "example": "New feed",
      "description": "Name of the feed"
    },
    "cache": {
      "type": "boolean",
      "default": false,
      "example": true,
      "description": "Toggle caching of feed url response"
    },
    "token": {
      "type": "string",
      "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
      "description": "Token for authType `token`"
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "userId",
            "description": "Name of the header"
          },
          "value": {
            "type": "string",
            "example": "user12345",
            "description": "Value of the header"
          }
        }
      },
      "example": [
        {
          "name": "header1",
          "value": "value1"
        },
        {
          "name": "header2",
          "value": "value2"
        }
      ],
      "description": "Custom headers for the feed"
    },
    "authType": {
      "enum": [
        "basic",
        "token",
        "noAuth"
      ],
      "type": "string",
      "default": "noAuth",
      "description": "Auth type of the feed:\n * `basic`\n * `token`\n * `noAuth`\n"
    },
    "password": {
      "type": "string",
      "example": "password",
      "description": "Password for authType `basic`"
    },
    "username": {
      "type": "string",
      "example": "user",
      "description": "Username for authType `basic`"
    },
    "maxRetries": {
      "type": "integer",
      "default": 5,
      "example": 5,
      "maximum": 5,
      "minimum": 0,
      "description": "Maximum number of retries on the feed url"
    }
  }
}
object createList
{
  "type": "object",
  "required": [
    "folderId",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Magento Customer - ES",
      "description": "Name of the list"
    },
    "folderId": {
      "type": "integer",
      "format": "int64",
      "example": 2,
      "description": "Id of the parent folder in which this list is to be created"
    }
  }
}
object createModel
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 5,
      "description": "ID of the object created"
    }
  }
}
object createPaymentRequest
{
  "type": "object",
  "required": [
    "reference",
    "contactId",
    "cart",
    "configuration"
  ],
  "properties": {
    "cart": {
      "$ref": "#/components/schemas/cart"
    },
    "contactId": {
      "type": "integer",
      "format": "int64",
      "example": 43,
      "description": "Brevo ID of the contact requested to pay.\n"
    },
    "reference": {
      "type": "string",
      "example": "Invoice #INV0001",
      "description": "Reference of the payment request, it will appear on the payment page.\n"
    },
    "notification": {
      "$ref": "#/components/schemas/notification"
    },
    "configuration": {
      "$ref": "#/components/schemas/configuration"
    }
  }
}
object createProductModel
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 122,
      "description": "ID of the Product when a new product is created"
    }
  }
}
object createReseller
{
  "type": "object",
  "required": [
    "authKey"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 1234567,
      "description": "Id of Reseller child created"
    },
    "authKey": {
      "type": "string",
      "example": "xkeysib-21881axxxxxcc92e04-mIrexxxx7z",
      "description": "AuthKey of Reseller child created"
    }
  }
}
object createSender
{
  "type": "object",
  "required": [
    "email",
    "name"
  ],
  "properties": {
    "ips": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "domain",
          "ip"
        ],
        "properties": {
          "ip": {
            "type": "string",
            "example": "123.98.689.7",
            "description": "Dedicated IP available in your account"
          },
          "domain": {
            "type": "string",
            "example": "mycompany.com",
            "description": "Domain of the IP"
          },
          "weight": {
            "type": "integer",
            "format": "int64",
            "example": 50,
            "maximum": 100,
            "minimum": 1,
            "description": "Weight to apply to the IP. Sum of all IP weights must be 100. Should be passed for either ALL or NONE of the IPs. If it's not passed, the sending will be equally balanced on all IPs."
          }
        }
      },
      "description": "**Mandatory in case of dedicated IP**. IPs to associate to the sender\n"
    },
    "name": {
      "type": "string",
      "example": "Newsletter",
      "description": "From Name to use for the sender"
    },
    "email": {
      "type": "string",
      "format": "email",
      "example": "newsletter@mycompany.com",
      "description": "From email to use for the sender. A verification email will be sent to this address."
    }
  }
}
object createSenderModel
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "example": 5,
      "description": "ID of the Sender created"
    },
    "spfError": {
      "type": "boolean",
      "example": true,
      "description": "Status of SPF configuration for the sender (true = SPF not well configured, false = SPF well configured)"
    },
    "dkimError": {
      "type": "boolean",
      "example": false,
      "description": "Status of DKIM configuration for the sender (true = DKIM not well configured, false = DKIM well configured)"
    }
  }
}
Load more schemas