Zoho Notes API

The Notes API from Zoho — 4 operation(s) for notes.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-notes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Notes API
  version: 1.0.0
tags:
- name: Notes
paths:
  /{parentRecordModule}/{parentRecordId}/Notes:
    get:
      summary: List Notes for a Record
      description: Retrieves a paginated list of notes associated with a specific parent record in a CRM module.
      operationId: getNotes
      security:
      - iam-oauth2-schema:
        - ZohoCRM.modules.Leads.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Contacts.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Accounts.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Deals.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Tasks.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Events.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Calls.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Products.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Vendors.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Campaigns.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Cases.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Solutions.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Pricebooks.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Quotes.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Salesorders.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Purchaseorders.READ
        - ZohoCRM.modules.notes.READ
      - iam-oauth2-schema:
        - ZohoCRM.modules.Custom.READ
        - ZohoCRM.modules.notes.READ
      parameters:
      - $ref: '#/components/parameters/ParentRecordModule'
      - $ref: '#/components/parameters/ParentRecordId'
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/SortBy'
      - $ref: '#/components/parameters/SortOrder'
      responses:
        '200':
          description: Successful response with note records
          content:
            application/json:
              schema:
                type: object
                description: Response containing note data and pagination information
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of note records
                    maxItems: 200
                    items:
                      type: object
                      description: A note record with static fields and dynamic additional properties
                      additionalProperties: true
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the note
                          format: int64
                        Note_Title:
                          type:
                          - string
                          - 'null'
                          description: The title of the note
                          maxLength: 255
                        Note_Content:
                          type:
                          - string
                          - 'null'
                          description: The content/body of the note
                          maxLength: 65535
                        $attachments:
                          type:
                          - array
                          - 'null'
                          description: Attachments associated with the note
                          maxItems: 5
                          items:
                            type: object
                            description: Attachment file details
                            additionalProperties: true
                            properties:
                              $file_id:
                                type: string
                                description: Unique file identifier for the attachment
                                maxLength: 255
                              File_Name:
                                type: string
                                description: Name of the attached file
                                maxLength: 255
                              Size:
                                type: string
                                description: File size in bytes
                                format: int64
                              id:
                                type: string
                                description: Unique identifier of the attachment record
                                format: int64
                        Parent_Id:
                          type: object
                          description: Parent record information
                          additionalProperties: false
                          properties:
                            module:
                              type: object
                              description: Module information of the parent record
                              additionalProperties: false
                              properties:
                                api_name:
                                  type: string
                                  description: API name of the parent module
                                  maxLength: 50
                                id:
                                  type: string
                                  description: Module ID
                                  format: int64
                              required:
                              - api_name
                              - id
                            name:
                              type: string
                              description: Name of the parent record
                              maxLength: 255
                            id:
                              type: string
                              description: Unique identifier of the parent record
                              format: int64
                          required:
                          - module
                          - id
                          - name
                      required:
                      - id
                  info:
                    type: object
                    description: Pagination metadata
                    additionalProperties: false
                    properties:
                      page:
                        type: integer
                        format: int32
                        description: Current page number
                      per_page:
                        type: integer
                        format: int32
                        description: Number of records per page
                      count:
                        type: integer
                        format: int32
                        description: Number of records in current page
                      more_records:
                        type: boolean
                        description: Indicates if more records are available
                      next_page_token:
                        type:
                        - string
                        - 'null'
                        description: Token for fetching the next page
                      previous_page_token:
                        type:
                        - string
                        - 'null'
                        description: Token for fetching the previous page
                      page_token_expiry:
                        type:
                        - string
                        - 'null'
                        format: date-time
                        description: Expiry time of page tokens
                    required:
                    - page
                    - per_page
                    - count
                    - more_records
                required:
                - data
                - info
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          description: Bad Request - Invalid parameters or malformed request
          content:
            application/json:
              schema:
                description: Error response for note retrieval failures
                oneOf:
                - $ref: '#/components/schemas/BadRequestError'
                - $ref: '#/components/schemas/RequiredParamMissingError'
                - $ref: '#/components/schemas/DiscretePaginationLimitExceededError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
      - Notes
    post:
      summary: Create Notes for a Record
      description: Creates one or more notes associated with a specific parent record. Either note content or note title must be provided (at least one is mandatory).
      operationId: createNotes
      security:
      - iam-oauth2-schema:
        - ZohoCRM.modules.Leads.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Contacts.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Accounts.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Deals.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Tasks.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Events.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Calls.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Products.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Vendors.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Campaigns.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Cases.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Solutions.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Pricebooks.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Quotes.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Salesorders.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Purchaseorders.READ
        - ZohoCRM.modules.notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Custom.READ
        - ZohoCRM.modules.notes.CREATE
      parameters:
      - $ref: '#/components/parameters/ParentRecordModule'
      - $ref: '#/components/parameters/ParentRecordId'
      requestBody:
        description: Request body containing note data to create
        content:
          application/json:
            schema:
              type: object
              description: Request payload for creating notes
              additionalProperties: false
              properties:
                data:
                  type: array
                  description: Array of note objects to create
                  maxItems: 200
                  items:
                    type: object
                    description: Note object with title, content, and parent information
                    additionalProperties: true
                    properties:
                      Note_Content:
                        type: string
                        description: The content/body of the note
                        maxLength: 65535
                      Note_Title:
                        type: string
                        description: The title of the note
                        maxLength: 120
                      Parent_Id:
                        type: object
                        description: Parent record information
                        additionalProperties: false
                        properties:
                          module:
                            type: object
                            description: Module information of the parent record
                            additionalProperties: false
                            properties:
                              api_name:
                                type: string
                                description: API name of the parent module
                                maxLength: 50
                              id:
                                type: string
                                description: Module ID
                                format: int64
                          id:
                            type: string
                            description: Unique identifier of the parent record
                            format: int64
                        required:
                        - module
                        - id
              required:
              - data
        required: true
      responses:
        '201':
          description: Created - Note(s) successfully created
          content:
            application/json:
              schema:
                type: object
                description: Success response for note creation
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of creation results
                    maxItems: 200
                    items:
                      type: object
                      description: Individual note creation result
                      additionalProperties: false
                      properties:
                        code:
                          type: string
                          description: Result code
                          enum:
                          - SUCCESS
                        message:
                          type: string
                          description: Result message
                          maxLength: 500
                        status:
                          type: string
                          description: Status of the operation
                          enum:
                          - success
                        details:
                          type: object
                          description: Created note details
                          additionalProperties: false
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the created note
                              format: int64
                            Modified_Time:
                              type: string
                              description: Timestamp when the note was last modified
                              format: date-time
                            Created_Time:
                              type: string
                              description: Timestamp when the note was created
                              format: date-time
                            Created_By:
                              type: object
                              description: User who created the note
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                                  description: Name of the user
                                  maxLength: 255
                                id:
                                  type: string
                                  description: Unique identifier of the user
                                  format: int64
                              required:
                              - name
                              - id
                            Modified_By:
                              type: object
                              description: User who last modified the note
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                                  description: Name of the user
                                  maxLength: 255
                                id:
                                  type: string
                                  description: Unique identifier of the user
                                  format: int64
                              required:
                              - name
                              - id
                          required:
                          - id
                          - Modified_Time
                          - Created_Time
                          - Created_By
                          - Modified_By
                      required:
                      - code
                      - message
                      - status
                      - details
                required:
                - data
        '207':
          description: Multi-Status - Partial success with some records created and some failed
          content:
            application/json:
              schema:
                type: object
                description: Multi-status response for note creation with mixed results
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of creation results with mixed success and error statuses
                    maxItems: 200
                    items:
                      oneOf:
                      - type: object
                        description: Successful note creation result
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: Result code
                            enum:
                            - SUCCESS
                          message:
                            type: string
                            description: Result message
                            maxLength: 500
                          status:
                            type: string
                            description: Status of the operation
                            enum:
                            - success
                          details:
                            type: object
                            description: Created note details
                            additionalProperties: false
                            properties:
                              id:
                                type: string
                                description: Unique identifier of the created note
                                format: int64
                              Modified_Time:
                                type: string
                                description: Timestamp when the note was last modified
                                format: date-time
                              Created_Time:
                                type: string
                                description: Timestamp when the note was created
                                format: date-time
                              Created_By:
                                type: object
                                description: User who created the note
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                                    description: Name of the user
                                    maxLength: 255
                                  id:
                                    type: string
                                    description: Unique identifier of the user
                                    format: int64
                                required:
                                - name
                                - id
                              Modified_By:
                                type: object
                                description: User who last modified the note
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                                    description: Name of the user
                                    maxLength: 255
                                  id:
                                    type: string
                                    description: Unique identifier of the user
                                    format: int64
                                required:
                                - name
                                - id
                            required:
                            - id
                            - Modified_Time
                            - Created_Time
                            - Created_By
                            - Modified_By
                        required:
                        - code
                        - message
                        - status
                        - details
                      - type: object
                        description: Failed note creation result
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: Error code
                            enum:
                            - EXPECTED_FIELD_MISSING
                            - INVALID_DATA
                          message:
                            type: string
                            description: Error message
                            maxLength: 500
                          status:
                            type: string
                            description: Status of the operation
                            enum:
                            - error
                          details:
                            type: object
                            description: Error details
                            additionalProperties: true
                        required:
                        - code
                        - message
                        - status
                        - details
                required:
                - data
        '400':
          description: Bad Request - Invalid parameters or malformed request
          content:
            application/json:
              schema:
                description: Error response for note creation failures
                oneOf:
                - $ref: '#/components/schemas/BadRequestError'
                - $ref: '#/components/schemas/ExpectedFieldMissingError'
                - $ref: '#/components/schemas/InvalidDataError'
                - $ref: '#/components/schemas/NotAllowedError'
                - $ref: '#/components/schemas/FileSizeExceedsError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: Forbidden - User lacks required permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoPermissionError'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
      - Notes
    put:
      summary: Update Multiple Notes for a Record
      description: Updates one or more notes associated with a specific parent record. Either note content or note title must be provided (at least one is mandatory) for each note.
      operationId: updateBulkNotes
      security:
      - iam-oauth2-schema:
        - ZohoCRM.modules.Leads.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Contacts.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Accounts.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Deals.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Tasks.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Events.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Calls.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Products.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Vendors.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Campaigns.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Cases.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Solutions.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Pricebooks.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Quotes.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Salesorders.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Purchaseorders.READ
        - ZohoCRM.modules.notes.UPDATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Custom.READ
        - ZohoCRM.modules.notes.UPDATE
      parameters:
      - $ref: '#/components/parameters/ParentRecordModule'
      - $ref: '#/components/parameters/ParentRecordId'
      requestBody:
        description: Request body containing note data to update
        content:
          application/json:
            schema:
              type: object
              description: Request payload for updating notes
              additionalProperties: false
              properties:
                data:
                  type: array
                  description: Array of note objects to update
                  maxItems: 200
                  items:
                    type: object
                    description: Note object with id, title and/or content to update
                    additionalProperties: true
                    properties:
                      id:
                        type: string
                        description: Unique identifier of the note to update
                        format: int64
                      Note_Content:
                        type: string
                        description: The content/body of the note
                        maxLength: 65535
                      Note_Title:
                        type: string
                        description: The title of the note
                        maxLength: 120
                    required:
                    - id
              required:
              - data
        required: true
      responses:
        '200':
          description: Success - Note(s) successfully updated
          content:
            application/json:
              schema:
                type: object
                description: Success response for note update
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of update results
                    maxItems: 200
                    items:
                      type: object
                      description: Individual note update result
                      additionalProperties: false
                      properties:
                        code:
                          type: string
                          description: Result code
                          enum:
                          - SUCCESS
                        message:
                          type: string
                          description: Result message
                          maxLength: 500
                        status:
                          type: string
                          description: Status of the operation
                          enum:
                          - success
                        details:
                          type: object
                          description: Updated note details
                          additionalProperties: false
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the updated note
                              format: int64
                            Modified_Time:
                              type: string
                              description: Timestamp when the note was last modified
                              format: date-time
                            Created_Time:
                              type: string
                              description: Timestamp when the note was created
                              format: date-time
                            Created_By:
                              type: object
                              description: User who created the note
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                                  description: Name of the user
                                  maxLength: 255
                                id:
                                  type: string
                                  description: Unique identifier of the user
                                  format: int64
                              required:
                              - name
                              - id
                            Modified_By:
                              type: object
                              description: User who last modified the note
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                                  description: Name of the user
                                  maxLength: 255
                                id:
                                  type: string
                                  description: Unique identifier of the user
                                  format: int64
                              required:
                              - name
                              - id
                          required:
                          - id
                          - Modified_Time
                          - Created_Time
                          - Created_By
                          - Modified_By
                      required:
                      - code
                      - message
                      - status
                      - details
                required:
                - data
        '207':
          description: Multi-Status - Partial success with some records updated and some failed
          content:
            application/json:
              schema:
                type: object
                description: Multi-status response for note update with mixed results
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of update results with mixed success and error statuses
                    maxItems: 200
                    items:
                      oneOf:
                      - type: object
                        description: Successful note update result
                        additional

# --- truncated at 32 KB (158 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho/refs/heads/main/openapi/zoho-notes-api-openapi.yml