StackOne · Capability
Marketing — Templates
Marketing — Templates. 12 operations. Lead operation: List email templates. Self-contained Naftiko capability covering one Stackone business surface.
What You Can Do
GET
Marketinglistemailtemplates
— List email templates
/v1/unified/marketing/templates/email
POST
Marketingcreateemailtemplate
— Create email template
/v1/unified/marketing/templates/email
GET
Marketinggetemailtemplate
— Get email template
/v1/unified/marketing/templates/email/{id}
PATCH
Marketingupdateemailtemplate
— Update email template
/v1/unified/marketing/templates/email/{id}
GET
Marketinglistomnichanneltemplates
— List omni-channel templates
/v1/unified/marketing/templates/omni-channel
POST
Marketingcreateomnichanneltemplate
— Create omni-channel template
/v1/unified/marketing/templates/omni-channel
GET
Marketinggetomnichanneltemplate
— Get omni-channel template
/v1/unified/marketing/templates/omni-channel/{id}
PATCH
Marketingupdateomnichanneltemplate
— Update omni-channel template
/v1/unified/marketing/templates/omni-channel/{id}
GET
Marketinglistpushtemplates
— List push templates
/v1/unified/marketing/templates/push
POST
Marketingcreatepushtemplate
— Create push template
/v1/unified/marketing/templates/push
GET
Marketinggetpushtemplate
— Get push template
/v1/unified/marketing/templates/push/{id}
PATCH
Marketingupdatepushtemplate
— Update push template
/v1/unified/marketing/templates/push/{id}
MCP Tools
list-email-templates
List email templates
read-only
idempotent
create-email-template
Create email template
get-email-template
Get email template
read-only
idempotent
update-email-template
Update email template
idempotent
list-omni-channel-templates
List omni-channel templates
read-only
idempotent
create-omni-channel-template
Create omni-channel template
get-omni-channel-template
Get omni-channel template
read-only
idempotent
update-omni-channel-template
Update omni-channel template
idempotent
list-push-templates
List push templates
read-only
idempotent
create-push-template
Create push template
get-push-template
Get push template
read-only
idempotent
update-push-template
Update push template
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Marketing — Templates
description: 'Marketing — Templates. 12 operations. Lead operation: List email templates. Self-contained Naftiko capability
covering one Stackone business surface.'
tags:
- Stackone
- Templates
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
STACKONE_API_KEY: STACKONE_API_KEY
capability:
consumes:
- type: http
namespace: stackone-templates
baseUri: https://api.stackone.com
description: Marketing — Templates business capability. Self-contained, no shared references.
resources:
- name: unified-marketing-templates-email
path: /unified/marketing/templates/email
operations:
- name: marketinglistemailtemplates
method: GET
description: List email templates
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
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: marketingcreateemailtemplate
method: POST
description: Create email template
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-marketing-templates-email-id
path: /unified/marketing/templates/email/{id}
operations:
- name: marketinggetemailtemplate
method: GET
description: Get email template
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- 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: marketingupdateemailtemplate
method: PATCH
description: Update email template
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- name: id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: unified-marketing-templates-omni_channel
path: /unified/marketing/templates/omni_channel
operations:
- name: marketinglistomnichanneltemplates
method: GET
description: List omni-channel templates
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
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: marketingcreateomnichanneltemplate
method: POST
description: Create omni-channel template
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-marketing-templates-omni_channel-id
path: /unified/marketing/templates/omni_channel/{id}
operations:
- name: marketinggetomnichanneltemplate
method: GET
description: Get omni-channel template
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- 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: marketingupdateomnichanneltemplate
method: PATCH
description: Update omni-channel template
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- name: id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: unified-marketing-templates-push
path: /unified/marketing/templates/push
operations:
- name: marketinglistpushtemplates
method: GET
description: List push templates
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
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: marketingcreatepushtemplate
method: POST
description: Create push template
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-marketing-templates-push-id
path: /unified/marketing/templates/push/{id}
operations:
- name: marketinggetpushtemplate
method: GET
description: Get push template
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- 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: marketingupdatepushtemplate
method: PATCH
description: Update push template
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-account-id
in: header
type: string
description: The account identifier
required: true
- name: id
in: path
type: string
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-templates-rest
port: 8080
description: REST adapter for Marketing — Templates. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/unified/marketing/templates/email
name: unified-marketing-templates-email
description: REST surface for unified-marketing-templates-email.
operations:
- method: GET
name: marketinglistemailtemplates
description: List email templates
call: stackone-templates.marketinglistemailtemplates
with:
x-account-id: rest.x-account-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
outputParameters:
- type: object
mapping: $.
- method: POST
name: marketingcreateemailtemplate
description: Create email template
call: stackone-templates.marketingcreateemailtemplate
with:
x-account-id: rest.x-account-id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/unified/marketing/templates/email/{id}
name: unified-marketing-templates-email-id
description: REST surface for unified-marketing-templates-email-id.
operations:
- method: GET
name: marketinggetemailtemplate
description: Get email template
call: stackone-templates.marketinggetemailtemplate
with:
x-account-id: rest.x-account-id
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
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: marketingupdateemailtemplate
description: Update email template
call: stackone-templates.marketingupdateemailtemplate
with:
x-account-id: rest.x-account-id
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/unified/marketing/templates/omni-channel
name: unified-marketing-templates-omni-channel
description: REST surface for unified-marketing-templates-omni_channel.
operations:
- method: GET
name: marketinglistomnichanneltemplates
description: List omni-channel templates
call: stackone-templates.marketinglistomnichanneltemplates
with:
x-account-id: rest.x-account-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
outputParameters:
- type: object
mapping: $.
- method: POST
name: marketingcreateomnichanneltemplate
description: Create omni-channel template
call: stackone-templates.marketingcreateomnichanneltemplate
with:
x-account-id: rest.x-account-id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/unified/marketing/templates/omni-channel/{id}
name: unified-marketing-templates-omni-channel-id
description: REST surface for unified-marketing-templates-omni_channel-id.
operations:
- method: GET
name: marketinggetomnichanneltemplate
description: Get omni-channel template
call: stackone-templates.marketinggetomnichanneltemplate
with:
x-account-id: rest.x-account-id
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
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: marketingupdateomnichanneltemplate
description: Update omni-channel template
call: stackone-templates.marketingupdateomnichanneltemplate
with:
x-account-id: rest.x-account-id
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/unified/marketing/templates/push
name: unified-marketing-templates-push
description: REST surface for unified-marketing-templates-push.
operations:
- method: GET
name: marketinglistpushtemplates
description: List push templates
call: stackone-templates.marketinglistpushtemplates
with:
x-account-id: rest.x-account-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
outputParameters:
- type: object
mapping: $.
- method: POST
name: marketingcreatepushtemplate
description: Create push template
call: stackone-templates.marketingcreatepushtemplate
with:
x-account-id: rest.x-account-id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/unified/marketing/templates/push/{id}
name: unified-marketing-templates-push-id
description: REST surface for unified-marketing-templates-push-id.
operations:
- method: GET
name: marketinggetpushtemplate
description: Get push template
call: stackone-templates.marketinggetpushtemplate
with:
x-account-id: rest.x-account-id
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
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: marketingupdatepushtemplate
description: Update push template
call: stackone-templates.marketingupdatepushtemplate
with:
x-account-id: rest.x-account-id
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: stackone-templates-mcp
port: 9090
transport: http
description: MCP adapter for Marketing — Templates. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-email-templates
description: List email templates
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-templates.marketinglistemailtemplates
with:
x-account-id: tools.x-account-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
outputParameters:
- type: object
mapping: $.
- name: create-email-template
description: Create email template
hints:
readOnly: false
destructive: false
idempotent: false
call: stackone-templates.marketingcreateemailtemplate
with:
x-account-id: tools.x-account-id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-email-template
description: Get email template
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-templates.marketinggetemailtemplate
with:
x-account-id: tools.x-account-id
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
outputParameters:
- type: object
mapping: $.
- name: update-email-template
description: Update email template
hints:
readOnly: false
destructive: false
idempotent: true
call: stackone-templates.marketingupdateemailtemplate
with:
x-account-id: tools.x-account-id
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-omni-channel-templates
description: List omni-channel templates
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-templates.marketinglistomnichanneltemplates
with:
x-account-id: tools.x-account-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
outputParameters:
- type: object
mapping: $.
- name: create-omni-channel-template
description: Create omni-channel template
hints:
readOnly: false
destructive: false
idempotent: false
call: stackone-templates.marketingcreateomnichanneltemplate
with:
x-account-id: tools.x-account-id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-omni-channel-template
description: Get omni-channel template
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-templates.marketinggetomnichanneltemplate
with:
x-account-id: tools.x-account-id
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
outputParameters:
- type: object
mapping: $.
- name: update-omni-channel-template
description: Update omni-channel template
hints:
readOnly: false
destructive: false
idempotent: true
call: stackone-templates.marketingupdateomnichanneltemplate
with:
x-account-id: tools.x-account-id
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-push-templates
description: List push templates
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-templates.marketinglistpushtemplates
with:
x-account-id: tools.x-account-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
outputParameters:
- type: object
mapping: $.
- name: create-push-template
description: Create push template
hints:
readOnly: false
destructive: false
idempotent: false
call: stackone-templates.marketingcreatepushtemplate
with:
x-account-id: tools.x-account-id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-push-template
description: Get push template
hints:
readOnly: true
destructive: false
idempotent: true
call: stackone-templates.marketinggetpushtemplate
with:
x-account-id: tools.x-account-id
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
outputParameters:
- type: object
mapping: $.
- name: update-push-template
description: Update push template
hints:
readOnly: false
destructive: false
idempotent: true
call: stackone-templates.marketingupdatepushtemplate
with:
x-account-id: tools.x-account-id
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.