How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Vessel CRM API (v1, legacy)

The first-generation Vessel CRM API, published under /crm/* with the vessel-api-token header and an accessToken query/body parameter. Superseded by the v2 unified CRM API under /api/unifications/crm and marked as hidden/legacy in Vessel's own documentation navigation, but still published as a full OpenAPI 3.1 contract with search, batch and custom-field operations the v2 surface does not carry. Published by Vessel as OpenAPI 3.1.0 with 93 operations.

Vessel CRM API (v1, legacy) is one of 20 APIs that Vessel publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include CRM, Legacy, v1, Search, and Batch. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a GitHub repository.

This API exposes 93 operations across 68 paths, organized into 20 resource areas, and defines 47 schemas. It is described by OpenAPI 3.1.0, at version 2.0.

Requests are made against a single base URL, https://api.vessel.dev.

93 operations 68 paths 47 schemas 2 DELETE49 GET13 PATCH29 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2.0
Base URL
https://api.vessel.land
Authentication
API Key
Resource Areas
20

Authentication & Security 1

Vessel CRM API (v1, legacy) declares 1 security scheme for authenticating requests. An API key is passed in the header as vessel-api-token (VesselAPIToken). By default, every request must be authenticated.

Paths & Operations 93

Across 68 paths, the API surfaces 93 operations — 2 DELETE, 49 GET, 13 PATCH, 29 POST. They span 20 resource areas, including users, Operations, contacts, contactCustomFields, deals, accounts, leads, leadCustomFields, and 12 more. Each is listed below with its method, path, parameters, and response codes.

users 5
GET
/crm/users
Get All Users
get-all-crm-users 5 params → 200
POST
/crm/users/search
Search Users
search-crm-users 4 params body → 200
GET
/crm/user
Get User
get-one-crm-user 3 params → 200
GET
/crm/user/details
Get User Details
get-details-crm-user 3 params → 200
GET
/crm/user/batch
Get Batch Users
get-batch-crm-user 3 params → 200
Operations 11
POST
/crm/users/associations
Associations for Users
get-all-crm-users-associations body
PATCH
/crm/contact/custom-field
Update Contact Custom Field
patch-contact-custom-field body → 200
PATCH
/crm/account/custom-field
Update Account Custom Field
patch-account-custom-field body → 200
PATCH
/crm/lead/custom-field
Update Lead Custom Field
patch-lead-custom-field body → 200
GET
/crm/calls
Get All Calls
get-all-crm-calls 4 params → 200
POST
/crm/calls/search
Search Calls
search-crm-calls 4 params body → 200
GET
/crm/call
Get Call
get-one-crm-call 3 params → 200
POST
/crm/call
Create Call
post-crm-call body → 200
PATCH
/crm/call
Update Call
put-crm-call body → 200
GET
/crm/call/details
Get Call Details
get-details-crm-call 3 params → 200
POST
/crm/call/batch
Batch Calls
get-batch-crm-call body → 200
contacts 7
GET
/crm/contacts
Get All Contacts
get-all-crm-contacts 4 params → 200
POST
/crm/contacts/search
Search Contacts
search-crm-contacts 4 params body → 200
GET
/crm/contact
Get Contact
get-one-crm-contact 3 params → 200
POST
/crm/contact
Create Contact
post-crm-contact body → 200
PATCH
/crm/contact
Update Contact
put-crm-contact body → 200
GET
/crm/contact/details
Get Contact Details
get-details-crm-contact 3 params → 200
GET
/crm/contact/batch
Get Batch Contacts
get-batch-crm-contact 3 params → 200
contactCustomFields 1
POST
/crm/contact/custom-field
Create Contact Custom Field
post-contact-custom-field body → 200
deals 7
GET
/crm/deals
Get All Deals
get-all-crm-deals 4 params → 200
POST
/crm/deals/search
Search Deals
search-crm-deals 4 params body → 200
GET
/crm/deal
Get Deal
get-one-crm-deal 3 params → 200
POST
/crm/deal
Create Deal
post-crm-deal body → 200
PATCH
/crm/deal
Update Deal
put-crm-deal body → 200
GET
/crm/deal/details
Get Deal Details
get-details-crm-deal 4 params → 200
GET
/crm/deal/batch
Get Batch Deals
get-batch-crm-deal 3 params → 200
accounts 7
GET
/crm/accounts
Get All Accounts
get-all-crm-accounts 4 params → 200
POST
/crm/accounts/search
Search Accounts
search-crm-accounts 4 params body → 200
GET
/crm/account
Get Account
get-one-crm-account 3 params → 200
POST
/crm/account
Create Account
post-crm-account body → 200
PATCH
/crm/account
Update Account
put-crm-account body → 200
GET
/crm/account/details
Get Account Details
get-details-crm-account 3 params → 200
GET
/crm/account/batch
Get Batch Accounts
get-batch-crm-account 3 params → 200
leads 7
GET
/crm/leads
Get All Leads
get-all-crm-leads 4 params → 200
POST
/crm/leads/search
Search Leads
search-crm-leads 4 params body → 200
GET
/crm/lead
Get Lead
get-one-crm-lead 3 params → 200
POST
/crm/lead
Create Lead
post-crm-lead body → 200
PATCH
/crm/lead
Update Lead
put-crm-lead body → 200
GET
/crm/lead/details
Get Lead Details
get-details-crm-lead 3 params → 200
GET
/crm/lead/batch
Get Batch Leads
get-batch-crm-lead 3 params → 200
leadCustomFields 1
POST
/crm/lead/custom-field
Create Lead Custom Field
post-lead-custom-field body → 200
notes 7
GET
/crm/notes
Get All Notes
get-all-crm-notes 4 params → 200
POST
/crm/notes/search
Search Notes
search-crm-notes 4 params body → 200
GET
/crm/note
Get Note
get-one-crm-note 3 params → 200
POST
/crm/note
Create Note
post-crm-note body → 200
PATCH
/crm/note
Update Note
put-crm-note body → 200
GET
/crm/note/details
Get Note Details
get-details-crm-note 3 params → 200
GET
/crm/note/batch
Get Batch Notes
get-batch-crm-note 3 params → 200
tasks 7
GET
/crm/tasks
Get All Tasks
get-all-crm-tasks 4 params → 200
POST
/crm/tasks/search
Search Tasks
search-crm-tasks 4 params body → 200
GET
/crm/task
Get Task
get-one-crm-task 3 params → 200
POST
/crm/task
Create Task
post-crm-task body → 200
PATCH
/crm/task
Update Task
put-crm-task body → 200
GET
/crm/task/details
Get Task Details
get-details-crm-task 3 params → 200
GET
/crm/task/batch
Get Batch Tasks
get-batch-crm-task 3 params → 200
events 7
GET
/crm/events
Get All Events
get-all-crm-events 4 params → 200
POST
/crm/events/search
Search Events
search-crm-events 4 params body → 200
GET
/crm/event
Get Event
get-one-crm-event 3 params → 200
POST
/crm/event
Create Event
post-crm-event body → 200
PATCH
/crm/event
Update Event
put-crm-event body → 200
GET
/crm/event/details
Get Event Details
get-details-crm-event 3 params → 200
GET
/crm/event/batch
Get Batch Events
get-batch-crm-event 3 params → 200
attendees 7
GET
/crm/event/attendees
Get All Event Attendees
get-all-crm-event-attendees 4 params → 200
POST
/crm/event/attendees/search
Search Event Attendees
search-crm-event-attendees 4 params body → 200
GET
/crm/event/attendee
Get Event Attendee
get-one-crm-event-attendee 3 params → 200
POST
/crm/event/attendee
Create Event Attendee
post-crm-event-attendee → 200
PATCH
/crm/event/attendee
Update Event Attendee
put-crm-event-attendee → 200
GET
/crm/event/attendee/details
Get Event Attendee Details
get-details-crm-event-attendee 3 params → 200
GET
/crm/event/attendee/batch
Get Batch Event Attendees
get-batch-crm-event-attendee 3 params → 200
emails 7
GET
/crm/emails
Get All Emails
get-all-crm-emails 4 params → 200
POST
/crm/emails/search
Search Emails
search-crm-emails 4 params body → 200
GET
/crm/email
Get Email
get-one-crm-email 3 params → 200
POST
/crm/email
Create Email
post-crm-email body → 200
PATCH
/crm/email
Update Email
put-crm-email body → 200
GET
/crm/email/details
Get Email Details
get-details-crm-email 3 params → 200
GET
/crm/email/batch
Get Batch Emails
get-batch-crm-email 3 params → 200
lists 2
GET
/crm/lists
Get All Lists
get-all-crm-lists 4 params → 200
GET
/crm/list
Get List
get-one-crm-list 5 params → 200
passthrough 1
POST
/crm/passthrough
Passthrough Request
post-crm-passthrough body → 200
tokens 1
POST
/link/token
Create Link Token
post-link-token → 200
links 1
POST
/link/exchange
Exchange Public Token for Access Token
post-link-exchange body → 200
connections 3
GET
/connection/connection
Get Connection
get-one-connection 1 param → 200
DELETE
/connection/connection
Delete Connection
delete-connection body → 200
GET
/connection/connections
Get All Connections
get-all-crm-connections → 200
integrations 1
GET
/connection/crm/integrations
Get CRM Integrations
get-all-crm-integrations → 200
webhooks 3
GET
/connection/webhook
Get Webhook
get-one-webhook 2 params → 200
POST
/connection/webhook
Create Webhook
post-webhook body → 200
DELETE
/connection/webhook
Remove Webhook
delete-webhook body → 200

Schemas 47

The contract defines 47 schemas that model the data the API accepts and returns. The most detailed are Email (18 properties), EmailCreate (16 properties), Call (16 properties), Deal (14 properties). Each schema is shown below with its type and property counts.

InvalidIds
array
Ids that didn't return anything. Will be an empty array if all Ids are valid.
User
object
Users of the connected CRM platform. These are not the contacts or leads, but rather the user accounts from the connected CRM.
9 properties 5 required
Contact
object
Information about an individual affiliated with another CRM Object (e.g., a Lead, a Deal, etc)
12 properties 5 required
Address
object
5 properties
Deal
object
(Alias: Opportunity) An object representing either the opportunity to sell a product to an Account, or in the case of an isWon deal, a product sold to an Accou…
14 properties 7 required
Account
object
(Alias: company, organization) An organization involved with your business.
14 properties 5 required
Lead
object
A Lead represents an individual, or sometimes an organization, that is interested in purchasing your product (i.e., is a potential Deal). CRM Caveats: - HubSpo…
13 properties 5 required
Note
object
A Note attached to some CRM Object.
8 properties 5 required
Task
object
A task attached to some CRM object
12 properties 5 required
Event
object
Events are a type of activity that has attendees and takes place at a certain point in time (i.e., has a start and end date). For the currently supported CRMs,…
13 properties 5 required
EventAttendee
object
Event Attendees hold information about someone who attendeed or was invited to an event. Attendees are always associated with some Event and another person obj…
9 properties 6 required
Field
object
(Alias: property) A field is a key-value pair on a CRM Object that provides information about that object.
10 properties 8 required
Email
object
An email is a message sent from one person to another through an email service. Emails involve participants - the person who the email was sent to, or the pers…
18 properties 8 required
Call
object
16 properties
StringFilter
object
8 properties
BooleanFilter
object
2 properties
NumberFilter
object
8 properties
StringListFilter
object
4 properties
DateFilter
object
8 properties
CallCreate
object
13 properties 3 required
CallUpdate
object
2 properties 1 required
EmailCreate
object
16 properties 3 required
EmailUpdate
object
4 properties
EventAttendeeCreate
object
6 properties 2 required
EventAttendeeUpdate
object
1 property
EventCreate
object
13 properties 2 required
EventUpdate
object
9 properties
TaskCreate
object
12 properties
TaskUpdate
object
8 properties
ContactUpdate
object
Update a Contact.
8 properties
ContactCreate
object
Properties that a contact can be created with
9 properties 1 required
DealUpdate
object
7 properties 1 required
DealCreate
object
8 properties 2 required
AccountUpdate
object
10 properties 1 required
AccountCreate
object
10 properties 1 required
NoteCreate
object
Create a new Note. You may only associate a note with at most one entity of each type upon creation.
7 properties
NoteUpdate
object
Update an existing Note. Please note that updating associations is not currently supported.
3 properties
LeadUpdate
object
8 properties
LeadCreate
object
8 properties 1 required
CustomFieldCreate
object
4 properties 2 required
CustomFieldUpdate
object
2 properties 1 required
ListWithAssociations
object
A List or View in a CRM
7 properties 6 required
ListWithoutAssociations
object
A List or View in a CRM
6 properties 5 required
Integration
object
3 properties
WebhookMetadataCreate
object
Information describing a webhook
1 property
WebhookMetadata
object
4 properties
Connection
object
6 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

vessel-crm-v1-openapi.yml Raw ↑

Other APIs Vessel publishes across the network.

Vessel Platform API
Vessel CRM Unified API
Vessel Sales Engagement Unified API
Vessel Chat Unified API
Vessel Dialer Unified API
Vessel Marketing Automation Unified API
Vessel Engagement API (v1, legacy)
Vessel Salesforce Actions API
Vessel Slack Actions API
Vessel Microsoft Teams Actions API
Vessel Outreach Actions API
Vessel Salesloft Actions API
Where this information came from

This is an independent, third-party profile of Vessel CRM API (v1, legacy), published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.