Vessel Notes API

The Notes API from Vessel — 2 operation(s) for notes.

OpenAPI Specification

vessel-notes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Vessel CRM Accounts Notes API
  description: The Vessel CRM API provides a unified interface for CRM operations across Salesforce, HubSpot, Zoho, Pipedrive, Close, Freshsales, Microsoft Dynamics, Affinity, monday.com, and Freshdesk. Operations are normalized across all CRM systems with consistent object models for contacts, deals, accounts, leads, notes, tasks, emails, calls, events, and users. Authentication uses vessel-api-token header and accessToken query parameter.
  version: '1.0'
  contact:
    name: Vessel Support
    email: support@vessel.dev
    url: https://www.vessel.dev/
  license:
    name: Proprietary
    url: https://www.vessel.dev/
servers:
- url: https://api.vessel.land
  description: Vessel CRM API
security:
- apiToken: []
tags:
- name: Notes
paths:
  /crm/notes:
    get:
      operationId: getAllNotes
      summary: Get All Notes
      description: Returns all notes from the connected CRM.
      tags:
      - Notes
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of notes
          content:
            application/json:
              schema:
                type: object
                properties:
                  notes:
                    type: array
                    items:
                      $ref: '#/components/schemas/Note'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /crm/notes/create:
    post:
      operationId: createNote
      summary: Create a Note
      description: Creates a new note in the connected CRM.
      tags:
      - Notes
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NoteInput'
      responses:
        '200':
          description: Note created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Note'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    NoteInput:
      type: object
      description: Input for creating a CRM note
      properties:
        content:
          type: string
        contactId:
          type: string
        dealId:
          type: string
    Error:
      type: object
      description: API error response
      properties:
        error:
          type: string
          description: Error message
        code:
          type: string
          description: Error code
    Note:
      type: object
      description: A CRM note record
      properties:
        id:
          type: string
        content:
          type: string
        contactId:
          type: string
        dealId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: vessel-api-token
      description: Your Vessel API token for server-side authentication