Vessel · Capability
Vessel CRM API — Contacts
Vessel CRM API — Contacts. 3 operations. Lead operation: Get All Contacts. Self-contained Naftiko capability covering one Vessel business surface.
What You Can Do
GET
Getallcontacts
— Get All Contacts
/v1/crm/contacts
POST
Createcontact
— Create a Contact
/v1/crm/contacts/create
POST
Updatecontact
— Update a Contact
/v1/crm/contacts/update
MCP Tools
get-all-contacts
Get All Contacts
read-only
idempotent
create-contact
Create a Contact
update-contact
Update a Contact
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Vessel CRM API — Contacts
description: 'Vessel CRM API — Contacts. 3 operations. Lead operation: Get All Contacts. Self-contained Naftiko capability
covering one Vessel business surface.'
tags:
- Vessel
- Contacts
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
VESSEL_API_KEY: VESSEL_API_KEY
capability:
consumes:
- type: http
namespace: crm-contacts
baseUri: https://api.vessel.land
description: Vessel CRM API — Contacts business capability. Self-contained, no shared references.
resources:
- name: crm-contacts
path: /crm/contacts
operations:
- name: getallcontacts
method: GET
description: Get All Contacts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accessToken
in: query
type: string
description: User connection access token
required: true
- name: cursor
in: query
type: string
description: Pagination cursor for next page
- name: crm-contacts-create
path: /crm/contacts/create
operations:
- name: createcontact
method: POST
description: Create a Contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accessToken
in: query
type: string
description: User connection access token
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: crm-contacts-update
path: /crm/contacts/update
operations:
- name: updatecontact
method: POST
description: Update a Contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accessToken
in: query
type: string
description: User connection access token
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: vessel-api-token
value: '{{env.VESSEL_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: crm-contacts-rest
port: 8080
description: REST adapter for Vessel CRM API — Contacts. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/crm/contacts
name: crm-contacts
description: REST surface for crm-contacts.
operations:
- method: GET
name: getallcontacts
description: Get All Contacts
call: crm-contacts.getallcontacts
with:
accessToken: rest.accessToken
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- path: /v1/crm/contacts/create
name: crm-contacts-create
description: REST surface for crm-contacts-create.
operations:
- method: POST
name: createcontact
description: Create a Contact
call: crm-contacts.createcontact
with:
accessToken: rest.accessToken
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/crm/contacts/update
name: crm-contacts-update
description: REST surface for crm-contacts-update.
operations:
- method: POST
name: updatecontact
description: Update a Contact
call: crm-contacts.updatecontact
with:
accessToken: rest.accessToken
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: crm-contacts-mcp
port: 9090
transport: http
description: MCP adapter for Vessel CRM API — Contacts. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-all-contacts
description: Get All Contacts
hints:
readOnly: true
destructive: false
idempotent: true
call: crm-contacts.getallcontacts
with:
accessToken: tools.accessToken
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: create-contact
description: Create a Contact
hints:
readOnly: false
destructive: false
idempotent: false
call: crm-contacts.createcontact
with:
accessToken: tools.accessToken
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-contact
description: Update a Contact
hints:
readOnly: false
destructive: false
idempotent: false
call: crm-contacts.updatecontact
with:
accessToken: tools.accessToken
body: tools.body
outputParameters:
- type: object
mapping: $.