openapi: 3.2.0 info: title: Sales CRM Notes API version: 1.0.0 servers: - url: https://api.brevo.com/v3 description: https://api.brevo.com/v3 tags: - name: notes paths: /crm/notes: get: operationId: getAllNotes summary: Get all notes description: Retrieve a paginated list of CRM notes with optional filtering by entity type, entity IDs, and date range. Results are sorted by creation date in descending order by default, with a default limit of 50 notes per page. tags: - notes parameters: - name: entity in: query description: Filter by note entity type required: false schema: $ref: '#/components/schemas/CrmNotesGetParametersEntity' - name: entityIds in: query description: Filter by note entity IDs required: false schema: type: string - name: dateFrom in: query description: dateFrom to date range filter type (timestamp in milliseconds) required: false schema: type: integer - name: dateTo in: query description: dateTo to date range filter type (timestamp in milliseconds) required: false schema: type: integer - name: offset in: query description: Index of the first document of the page required: false schema: type: integer format: int64 - name: limit in: query description: Number of documents per page required: false schema: type: integer format: int64 default: 50 - name: sort in: query description: Sort the results in the ascending/descending order. Default order is **descending** by creation if `sort` is not passed required: false schema: $ref: '#/components/schemas/CrmNotesGetParametersSort' - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Returns notes list with filters content: application/json: schema: type: array items: $ref: '#/components/schemas/Note' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetAllNotesRequestBadRequestError' post: operationId: createANote summary: Create a note description: Create a new CRM note and optionally associate it with contacts, companies, or deals. The note text content is required, and you can link the note to multiple entities simultaneously during creation. tags: - notes parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Created new note content: application/json: schema: $ref: '#/components/schemas/Notes_createANote_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/CreateANoteRequestBadRequestError' '415': description: Format is not supported content: application/json: schema: $ref: '#/components/schemas/errorModel' requestBody: description: Note data to create a note. content: application/json: schema: $ref: '#/components/schemas/NoteData' /crm/notes/{id}: get: operationId: getANote summary: Get a note description: Retrieve the full details of a single CRM note by its identifier. The response includes the note''s text content, creation date, author, and any associated contacts, companies, or deals. tags: - notes parameters: - name: id in: path description: Note ID to get required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Returns the Note by id content: application/json: schema: $ref: '#/components/schemas/Note' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetANoteRequestBadRequestError' '404': description: Returned when item not found content: application/json: schema: $ref: '#/components/schemas/errorModel' patch: operationId: updateANote summary: Update a note description: Update an existing CRM note''s text content and its associations with contacts, companies, or deals. You can modify the note text, change the pinned status, or update the linked entities. tags: - notes parameters: - name: id in: path description: Note ID to update required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '204': description: Note updated successfully content: application/json: schema: type: object properties: {} '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/UpdateANoteRequestBadRequestError' '404': description: Returned when item not found content: application/json: schema: $ref: '#/components/schemas/errorModel' '415': description: Format is not supported content: application/json: schema: $ref: '#/components/schemas/errorModel' requestBody: description: Note data to update a note. content: application/json: schema: $ref: '#/components/schemas/NoteData' delete: operationId: deleteANote summary: Delete a note description: Permanently delete a CRM note by its identifier. This removes the note and unlinks it from any associated contacts, companies, or deals. tags: - notes parameters: - name: id in: path description: Note ID to delete required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '204': description: Returned when item deleted content: application/json: schema: type: object properties: {} '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/DeleteANoteRequestBadRequestError' '404': description: Returned when item not found content: application/json: schema: $ref: '#/components/schemas/errorModel' components: schemas: NoteData: type: object properties: companyIds: type: array items: type: string description: Company Ids linked to a note contactIds: type: array items: type: integer description: Contact Ids linked to a note dealIds: type: array items: type: string description: Deal Ids linked to a note text: type: string description: 'Content of the note. Supports HTML for rich text formatting. Supported tags include: `
` (paragraph), `` / `` (bold), `` / `` (italic), `` (underline), ` ` (paragraph), `` / `` (bold), `` / `` (italic), `` (underline), `
` (line break), `` (labelled hyperlink). Example labelled link: `Link text`.'
required:
- text
description: Note data to be saved
title: NoteData
CrmNotesGetParametersEntity:
type: string
enum:
- companies
- deals
- contacts
title: CrmNotesGetParametersEntity
CrmNotesIdPatchResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- invalid_parameter
- missing_parameter
- out_of_range
- campaign_processing
- campaign_sent
- document_not_found
- not_enough_credits
- permission_denied
- duplicate_parameter
- duplicate_request
- method_not_allowed
- unauthorized
- account_under_validation
- not_acceptable
- bad_request
- unprocessable_entity
- Domain does not exist
- Contact email not found
- Attribute not found
- Category id not found
- Invalid parameters passed
- Record(s) for identifier not found
- Returned when query params are invalid
- Returned when invalid data posted
- Feed not found
- Campaign ID not found
- api-key not found
- DMARC policy requires domain authentication
- DNS records not properly configured
- Invalid OTP code provided
- OTP code has expired
- Domain already exists in your account
- The sum of all IP weights must equal 100
- Authentication failed
- Insufficient credits
- Request already processed
description: Error code displayed in case of a failure
title: CrmNotesIdPatchResponsesContentApplicationJsonSchemaCode
GetANoteRequestBadRequestError:
type: object
properties:
code:
$ref: '#/components/schemas/CrmNotesIdGetResponsesContentApplicationJsonSchemaCode'
description: Error code displayed in case of a failure
message:
type: string
description: Readable message associated to the failure
required:
- code
- message
title: GetANoteRequestBadRequestError
Note:
type: object
properties:
id:
type: string
description: Unique note Id
text:
type: string
description: 'Content of the note. Supports HTML for rich text formatting. Supported tags include: `
` (line break), `` (labelled hyperlink). Example labelled link: `Link text`.'
contactIds:
type: array
items:
type: integer
description: Contact ids linked to a note
companyIds:
type: array
items:
type: string
description: Company ids linked to a note
dealIds:
type: array
items:
type: string
description: Deal ids linked to a note
authorId:
$ref: '#/components/schemas/NoteAuthorId'
description: Account details of user which created the note
createdAt:
type: string
format: date-time
description: Note created date/time
updatedAt:
type: string
format: date-time
description: Note updated date/time
required:
- text
description: Note Details
title: Note
Notes_createANote_Response_200:
type: object
properties:
id:
type: string
description: Unique note Id
description: Created Note ID
title: Notes_createANote_Response_200
CreateANoteRequestBadRequestError:
type: object
properties:
code:
$ref: '#/components/schemas/CrmNotesPostResponsesContentApplicationJsonSchemaCode'
description: Error code displayed in case of a failure
message:
type: string
description: Readable message associated to the failure
required:
- code
- message
title: CreateANoteRequestBadRequestError
GetAllNotesRequestBadRequestError:
type: object
properties:
code:
$ref: '#/components/schemas/CrmNotesGetResponsesContentApplicationJsonSchemaCode'
description: Error code displayed in case of a failure
message:
type: string
description: Readable message associated to the failure
required:
- code
- message
title: GetAllNotesRequestBadRequestError
errorModel:
type: object
properties:
code:
type: string
description: Error code displayed in case of a failure
message:
type: string
description: Readable message associated to the failure
required:
- message
title: errorModel
NoteAuthorId:
type: object
properties: {}
description: Account details of user which created the note
title: NoteAuthorId
CrmNotesGetResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- invalid_parameter
- missing_parameter
- out_of_range
- campaign_processing
- campaign_sent
- document_not_found
- not_enough_credits
- permission_denied
- duplicate_parameter
- duplicate_request
- method_not_allowed
- unauthorized
- account_under_validation
- not_acceptable
- bad_request
- unprocessable_entity
- Domain does not exist
- Contact email not found
- Attribute not found
- Category id not found
- Invalid parameters passed
- Record(s) for identifier not found
- Returned when query params are invalid
- Returned when invalid data posted
- Feed not found
- Campaign ID not found
- api-key not found
- DMARC policy requires domain authentication
- DNS records not properly configured
- Invalid OTP code provided
- OTP code has expired
- Domain already exists in your account
- The sum of all IP weights must equal 100
- Authentication failed
- Insufficient credits
- Request already processed
description: Error code displayed in case of a failure
title: CrmNotesGetResponsesContentApplicationJsonSchemaCode
CrmNotesIdDeleteResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- invalid_parameter
- missing_parameter
- out_of_range
- campaign_processing
- campaign_sent
- document_not_found
- not_enough_credits
- permission_denied
- duplicate_parameter
- duplicate_request
- method_not_allowed
- unauthorized
- account_under_validation
- not_acceptable
- bad_request
- unprocessable_entity
- Domain does not exist
- Contact email not found
- Attribute not found
- Category id not found
- Invalid parameters passed
- Record(s) for identifier not found
- Returned when query params are invalid
- Returned when invalid data posted
- Feed not found
- Campaign ID not found
- api-key not found
- DMARC policy requires domain authentication
- DNS records not properly configured
- Invalid OTP code provided
- OTP code has expired
- Domain already exists in your account
- The sum of all IP weights must equal 100
- Authentication failed
- Insufficient credits
- Request already processed
description: Error code displayed in case of a failure
title: CrmNotesIdDeleteResponsesContentApplicationJsonSchemaCode
CrmNotesPostResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- invalid_parameter
- missing_parameter
- out_of_range
- campaign_processing
- campaign_sent
- document_not_found
- not_enough_credits
- permission_denied
- duplicate_parameter
- duplicate_request
- method_not_allowed
- unauthorized
- account_under_validation
- not_acceptable
- bad_request
- unprocessable_entity
- Domain does not exist
- Contact email not found
- Attribute not found
- Category id not found
- Invalid parameters passed
- Record(s) for identifier not found
- Returned when query params are invalid
- Returned when invalid data posted
- Feed not found
- Campaign ID not found
- api-key not found
- DMARC policy requires domain authentication
- DNS records not properly configured
- Invalid OTP code provided
- OTP code has expired
- Domain already exists in your account
- The sum of all IP weights must equal 100
- Authentication failed
- Insufficient credits
- Request already processed
description: Error code displayed in case of a failure
title: CrmNotesPostResponsesContentApplicationJsonSchemaCode
DeleteANoteRequestBadRequestError:
type: object
properties:
code:
$ref: '#/components/schemas/CrmNotesIdDeleteResponsesContentApplicationJsonSchemaCode'
description: Error code displayed in case of a failure
message:
type: string
description: Readable message associated to the failure
required:
- code
- message
title: DeleteANoteRequestBadRequestError
CrmNotesIdGetResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- invalid_parameter
- missing_parameter
- out_of_range
- campaign_processing
- campaign_sent
- document_not_found
- not_enough_credits
- permission_denied
- duplicate_parameter
- duplicate_request
- method_not_allowed
- unauthorized
- account_under_validation
- not_acceptable
- bad_request
- unprocessable_entity
- Domain does not exist
- Contact email not found
- Attribute not found
- Category id not found
- Invalid parameters passed
- Record(s) for identifier not found
- Returned when query params are invalid
- Returned when invalid data posted
- Feed not found
- Campaign ID not found
- api-key not found
- DMARC policy requires domain authentication
- DNS records not properly configured
- Invalid OTP code provided
- OTP code has expired
- Domain already exists in your account
- The sum of all IP weights must equal 100
- Authentication failed
- Insufficient credits
- Request already processed
description: Error code displayed in case of a failure
title: CrmNotesIdGetResponsesContentApplicationJsonSchemaCode
CrmNotesGetParametersSort:
type: string
enum:
- asc
- desc
title: CrmNotesGetParametersSort
UpdateANoteRequestBadRequestError:
type: object
properties:
code:
$ref: '#/components/schemas/CrmNotesIdPatchResponsesContentApplicationJsonSchemaCode'
description: Error code displayed in case of a failure
message:
type: string
description: Readable message associated to the failure
required:
- code
- message
title: UpdateANoteRequestBadRequestError
securitySchemes:
api-key:
type: apiKey
in: header
name: api-key
description: The API key should be passed in the request headers as `api-key` for authentication.