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), `
` (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: `

` (paragraph), `` / `` (bold), `` / `` (italic), `` (underline), `
` (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.