Unified.to · Capability
Unified.to API — contact
Unified.to API — contact. 6 operations. Lead operation: List all contacts. Self-contained Naftiko capability covering one Unified To business surface.
What You Can Do
GET
Listcrmcontacts
— List all contacts
/v1/crm/{connection-id}/contact
POST
Createcrmcontact
— Create a contact
/v1/crm/{connection-id}/contact
DELETE
Removecrmcontact
— Remove a contact
/v1/crm/{connection-id}/contact/{id}
GET
Getcrmcontact
— Retrieve a contact
/v1/crm/{connection-id}/contact/{id}
PATCH
Patchcrmcontact
— Update a contact
/v1/crm/{connection-id}/contact/{id}
PUT
Updatecrmcontact
— Update a contact
/v1/crm/{connection-id}/contact/{id}
MCP Tools
list-all-contacts
List all contacts
read-only
idempotent
create-contact
Create a contact
remove-contact
Remove a contact
idempotent
retrieve-contact
Retrieve a contact
read-only
idempotent
update-contact
Update a contact
idempotent
update-contact-2
Update a contact
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Unified.to API — contact
description: 'Unified.to API — contact. 6 operations. Lead operation: List all contacts. Self-contained Naftiko capability
covering one Unified To business surface.'
tags:
- Unified To
- contact
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
UNIFIED_TO_API_KEY: UNIFIED_TO_API_KEY
capability:
consumes:
- type: http
namespace: crm-contact
baseUri: https://api.unified.to
description: Unified.to API — contact business capability. Self-contained, no shared references.
resources:
- name: crm-connection_id-contact
path: /crm/{connection_id}/contact
operations:
- name: listcrmcontacts
method: GET
description: List all contacts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: number
- name: offset
in: query
type: number
- name: updated_gte
in: query
type: string
description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ
format)
- name: sort
in: query
type: string
- name: order
in: query
type: string
- name: query
in: query
type: string
description: Query string to search. eg. email address or name
- name: company_id
in: query
type: string
description: The company ID to filter by (reference to CrmCompany)
- name: deal_id
in: query
type: string
description: The deal ID to filter by (reference to CrmDeal)
- name: user_id
in: query
type: string
description: The user/employee ID to filter by (reference to HrisEmployee)
- name: fields
in: query
type: array
description: Fields to return
- name: raw
in: query
type: string
description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
- name: connection_id
in: path
type: string
description: ID of the connection
required: true
- name: createcrmcontact
method: POST
description: Create a contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fields
in: query
type: array
description: Fields to return
- name: raw
in: query
type: string
description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
- name: connection_id
in: path
type: string
description: ID of the connection
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: crm-connection_id-contact-id
path: /crm/{connection_id}/contact/{id}
operations:
- name: removecrmcontact
method: DELETE
description: Remove a contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: connection_id
in: path
type: string
description: ID of the connection
required: true
- name: id
in: path
type: string
description: ID of the Contact
required: true
- name: getcrmcontact
method: GET
description: Retrieve a contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fields
in: query
type: array
description: Fields to return
- name: raw
in: query
type: string
description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
- name: connection_id
in: path
type: string
description: ID of the connection
required: true
- name: id
in: path
type: string
description: ID of the Contact
required: true
- name: patchcrmcontact
method: PATCH
description: Update a contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fields
in: query
type: array
description: Fields to return
- name: raw
in: query
type: string
description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
- name: connection_id
in: path
type: string
description: ID of the connection
required: true
- name: id
in: path
type: string
description: ID of the Contact
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: updatecrmcontact
method: PUT
description: Update a contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fields
in: query
type: array
description: Fields to return
- name: raw
in: query
type: string
description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
- name: connection_id
in: path
type: string
description: ID of the connection
required: true
- name: id
in: path
type: string
description: ID of the Contact
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: authorization
value: '{{env.UNIFIED_TO_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: crm-contact-rest
port: 8080
description: REST adapter for Unified.to API — contact. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/crm/{connection-id}/contact
name: crm-connection-id-contact
description: REST surface for crm-connection_id-contact.
operations:
- method: GET
name: listcrmcontacts
description: List all contacts
call: crm-contact.listcrmcontacts
with:
limit: rest.limit
offset: rest.offset
updated_gte: rest.updated_gte
sort: rest.sort
order: rest.order
query: rest.query
company_id: rest.company_id
deal_id: rest.deal_id
user_id: rest.user_id
fields: rest.fields
raw: rest.raw
connection_id: rest.connection_id
outputParameters:
- type: object
mapping: $.
- method: POST
name: createcrmcontact
description: Create a contact
call: crm-contact.createcrmcontact
with:
fields: rest.fields
raw: rest.raw
connection_id: rest.connection_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/crm/{connection-id}/contact/{id}
name: crm-connection-id-contact-id
description: REST surface for crm-connection_id-contact-id.
operations:
- method: DELETE
name: removecrmcontact
description: Remove a contact
call: crm-contact.removecrmcontact
with:
connection_id: rest.connection_id
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: GET
name: getcrmcontact
description: Retrieve a contact
call: crm-contact.getcrmcontact
with:
fields: rest.fields
raw: rest.raw
connection_id: rest.connection_id
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: patchcrmcontact
description: Update a contact
call: crm-contact.patchcrmcontact
with:
fields: rest.fields
raw: rest.raw
connection_id: rest.connection_id
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatecrmcontact
description: Update a contact
call: crm-contact.updatecrmcontact
with:
fields: rest.fields
raw: rest.raw
connection_id: rest.connection_id
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: crm-contact-mcp
port: 9090
transport: http
description: MCP adapter for Unified.to API — contact. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-all-contacts
description: List all contacts
hints:
readOnly: true
destructive: false
idempotent: true
call: crm-contact.listcrmcontacts
with:
limit: tools.limit
offset: tools.offset
updated_gte: tools.updated_gte
sort: tools.sort
order: tools.order
query: tools.query
company_id: tools.company_id
deal_id: tools.deal_id
user_id: tools.user_id
fields: tools.fields
raw: tools.raw
connection_id: tools.connection_id
outputParameters:
- type: object
mapping: $.
- name: create-contact
description: Create a contact
hints:
readOnly: false
destructive: false
idempotent: false
call: crm-contact.createcrmcontact
with:
fields: tools.fields
raw: tools.raw
connection_id: tools.connection_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-contact
description: Remove a contact
hints:
readOnly: false
destructive: true
idempotent: true
call: crm-contact.removecrmcontact
with:
connection_id: tools.connection_id
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: retrieve-contact
description: Retrieve a contact
hints:
readOnly: true
destructive: false
idempotent: true
call: crm-contact.getcrmcontact
with:
fields: tools.fields
raw: tools.raw
connection_id: tools.connection_id
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: update-contact
description: Update a contact
hints:
readOnly: false
destructive: false
idempotent: true
call: crm-contact.patchcrmcontact
with:
fields: tools.fields
raw: tools.raw
connection_id: tools.connection_id
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-contact-2
description: Update a contact
hints:
readOnly: false
destructive: false
idempotent: true
call: crm-contact.updatecrmcontact
with:
fields: tools.fields
raw: tools.raw
connection_id: tools.connection_id
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.