StackOne · Capability
Marketing — Contacts
Marketing — Contacts. 4 operations. Lead operation: List Contacts. Self-contained Naftiko capability covering one Stackone business surface.
What You Can Do
GET
Crmlistcontacts
— List Contacts
/v1/unified/crm/contacts
POST
Crmcreatecontact
— Creates a new Contact
/v1/unified/crm/contacts
GET
Crmgetcontact
— Get Contact
/v1/unified/crm/contacts/{id}
PATCH
Crmupdatecontact
— Update Contact (early access)
/v1/unified/crm/contacts/{id}
MCP Tools
list-contacts
List Contacts
read-only
idempotent
creates-new-contact
Creates a new Contact
get-contact
Get Contact
read-only
idempotent
update-contact-early-access
Update Contact (early access)
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Marketing — Contacts
description: 'Marketing — Contacts. 4 operations. Lead operation: List Contacts. Self-contained Naftiko capability covering
one Stackone business surface.'
tags:
- Stackone
- Contacts
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
STACKONE_API_KEY: STACKONE_API_KEY
capability:
consumes:
- type: http
namespace: stackone-contacts
baseUri: https://api.stackone.com
description: Marketing — Contacts business capability. Self-contained, no shared references.
resources:
- name: unified-crm-contacts
path: /unified/crm/contacts
operations:
- name: crmlistcontacts
method: GET
description: List Contacts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: page
in: query
type: string
description: The page number of the results to fetch
- name: page_size
in: query
type: string
description: The number of results per page
- name: raw
in: query
type: boolean
description: Indicates that the raw request result is returned
- name: fields
in: query
type: string
description: The comma separated list of fields to return in the response (if empty, all fields are returned)
- name: sync_token
in: query
type: string
description: The sync token to select the only updated results
- name: updated_after
in: query
type: string
description: Use a string with a date to only select results updated after that given date
- name: proxy
in: query
type: object
description: Query parameters that can be used to pass through parameters to the underlying provider request by
surrounding them with "proxy" key
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- name: crmcreatecontact
method: POST
description: Creates a new Contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: unified-crm-contacts-id
path: /unified/crm/contacts/{id}
operations:
- name: crmgetcontact
method: GET
description: Get Contact
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: page
in: query
type: string
description: The page number of the results to fetch
- name: page_size
in: query
type: string
description: The number of results per page
- name: raw
in: query
type: boolean
description: Indicates that the raw request result is returned
- name: fields
in: query
type: string
description: The comma separated list of fields to return in the response (if empty, all fields are returned)
- name: sync_token
in: query
type: string
description: The sync token to select the only updated results
- name: updated_after
in: query
type: string
description: Use a string with a date to only select results updated after that given date
- name: proxy
in: query
type: object
description: Query parameters that can be used to pass through parameters to the underlying provider request by
surrounding them with "proxy" key
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- name: crmupdatecontact
method: PATCH
description: Update Contact (early access)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: basic
username: '{{env.STACKONE_USER}}'
password: '{{env.STACKONE_PASS}}'
exposes:
- type: rest
namespace: stackone-contacts-rest
port: 8080
description: REST adapter for Marketing — Contacts. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/unified/crm/contacts
name: unified-crm-contacts
description: REST surface for unified-crm-contacts.
operations:
- method: GET
name: crmlistcontacts
description: List Contacts
call: stackone-contacts.crmlistcontacts
with:
page: rest.page
page_size: rest.page_size
raw: rest.raw
fields: rest.fields
sync_token: rest.sync_token
updated_after: rest.updated_after
proxy: rest.proxy
x-account-id: rest.x-account-id
outputParameters:
- type: object
mapping: $.
- method: POST
name: crmcreatecontact
description: Creates a new Contact
call: stackone-contacts.crmcreatecontact
with:
x-account-id: rest.x-account-id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/unified/crm/contacts/{id}
name: unified-crm-contacts-id
description: REST surface for unified-crm-contacts-id.
operations:
- method: GET
name: crmgetcontact
description: Get Contact
call: stackone-contacts.crmgetcontact
with:
id: rest.id
page: rest.page
page_size: rest.page_size
raw: rest.raw
fields: rest.fields
sync_token: rest.sync_token
updated_after: rest.updated_after
proxy: rest.proxy
x-account-id: rest.x-account-id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: crmupdatecontact
description: Update Contact (early access)
call: stackone-contacts.crmupdatecontact
with:
id: rest.id
x-account-id: rest.x-account-id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: stackone-contacts-mcp
port: 9090
transport: http
description: MCP adapter for Marketing — Contacts. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-contacts
description: List Contacts
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-contacts.crmlistcontacts
with:
page: tools.page
page_size: tools.page_size
raw: tools.raw
fields: tools.fields
sync_token: tools.sync_token
updated_after: tools.updated_after
proxy: tools.proxy
x-account-id: tools.x-account-id
outputParameters:
- type: object
mapping: $.
- name: creates-new-contact
description: Creates a new Contact
hints:
readOnly: false
destructive: false
idempotent: false
call: stackone-contacts.crmcreatecontact
with:
x-account-id: tools.x-account-id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-contact
description: Get Contact
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-contacts.crmgetcontact
with:
id: tools.id
page: tools.page
page_size: tools.page_size
raw: tools.raw
fields: tools.fields
sync_token: tools.sync_token
updated_after: tools.updated_after
proxy: tools.proxy
x-account-id: tools.x-account-id
outputParameters:
- type: object
mapping: $.
- name: update-contact-early-access
description: Update Contact (early access)
hints:
readOnly: false
destructive: false
idempotent: true
call: stackone-contacts.crmupdatecontact
with:
id: tools.id
x-account-id: tools.x-account-id
body: tools.body
outputParameters:
- type: object
mapping: $.