Vessel Deals API

The Deals API from Vessel — 3 operation(s) for deals.

OpenAPI Specification

vessel-deals-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Vessel CRM Accounts Deals 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: Deals
paths:
  /crm/deals:
    get:
      operationId: getAllDeals
      summary: Get All Deals
      description: Returns all deals/opportunities from the connected CRM.
      tags:
      - Deals
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List of deals
          content:
            application/json:
              schema:
                type: object
                properties:
                  deals:
                    type: array
                    items:
                      $ref: '#/components/schemas/Deal'
                  nextCursor:
                    type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /crm/deals/create:
    post:
      operationId: createDeal
      summary: Create a Deal
      description: Creates a new deal in the connected CRM.
      tags:
      - Deals
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DealInput'
      responses:
        '200':
          description: Deal created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deal'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /crm/deals/update:
    post:
      operationId: updateDeal
      summary: Update a Deal
      description: Updates an existing deal in the connected CRM.
      tags:
      - Deals
      parameters:
      - name: accessToken
        in: query
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - type: object
                required:
                - id
                properties:
                  id:
                    type: string
              - $ref: '#/components/schemas/DealInput'
      responses:
        '200':
          description: Deal updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deal'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    DealInput:
      type: object
      description: Input for creating or updating a CRM deal
      properties:
        name:
          type: string
        amount:
          type: number
        stage:
          type: string
        closeDate:
          type: string
        ownerId:
          type: string
        accountId:
          type: string
    Error:
      type: object
      description: API error response
      properties:
        error:
          type: string
          description: Error message
        code:
          type: string
          description: Error code
    Deal:
      type: object
      description: A CRM deal/opportunity record
      properties:
        id:
          type: string
          description: Unique deal ID (string-normalized)
        name:
          type: string
        amount:
          type: number
        stage:
          type: string
        closeDate:
          type: string
          format: date-time
        ownerId:
          type: string
        accountId:
          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