Front · Capability

Core API — Message Templates

Core API — Message Templates. 11 operations. Lead operation: Get child templates. Self-contained Naftiko capability covering one Front business surface.

Run with Naftiko FrontMessage Templates

What You Can Do

GET
Getchildtemplates — Get child templates
/v1/message-template-folders/{message-template-folder-id}/message-templates
POST
Createchildtemplate — Create child template
/v1/message-template-folders/{message-template-folder-id}/message-templates
GET
Listmessagetemplates — List message templates
/v1/message-templates
POST
Createmessagetemplate — Create message template
/v1/message-templates
GET
Getmessagetemplate — Get message template
/v1/message-templates/{message-template-id}
PATCH
Updatemessagetemplate — Update message template
/v1/message-templates/{message-template-id}
DELETE
Deletemessagetemplate — Delete message template
/v1/message-templates/{message-template-id}
GET
Listteammatemessagetemplates — List teammate message templates
/v1/teammates/{teammate-id}/message-templates
POST
Createteammatemessagetemplate — Create teammate message template
/v1/teammates/{teammate-id}/message-templates
GET
Listteammessagetemplates — List team message templates
/v1/teams/{team-id}/message-templates
POST
Createteammessagetemplate — Create team message template
/v1/teams/{team-id}/message-templates

MCP Tools

get-child-templates

Get child templates

read-only idempotent
create-child-template

Create child template

list-message-templates

List message templates

read-only idempotent
create-message-template

Create message template

get-message-template

Get message template

read-only idempotent
update-message-template

Update message template

idempotent
delete-message-template

Delete message template

idempotent
list-teammate-message-templates

List teammate message templates

read-only idempotent
create-teammate-message-template

Create teammate message template

list-team-message-templates

List team message templates

read-only idempotent
create-team-message-template

Create team message template

Capability Spec

core-message-templates.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Core API — Message Templates
  description: 'Core API — Message Templates. 11 operations. Lead operation: Get child templates. Self-contained Naftiko capability
    covering one Front business surface.'
  tags:
  - Front
  - Message Templates
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FRONT_API_KEY: FRONT_API_KEY
capability:
  consumes:
  - type: http
    namespace: core-message-templates
    baseUri: https://api2.frontapp.com
    description: Core API — Message Templates business capability. Self-contained, no shared references.
    resources:
    - name: message_template_folders-message_template_folder_id-message_templates
      path: /message_template_folders/{message_template_folder_id}/message_templates
      operations:
      - name: getchildtemplates
        method: GET
        description: Get child templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_template_folder_id
          in: path
          type: string
          description: The message template folder ID
          required: true
      - name: createchildtemplate
        method: POST
        description: Create child template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_template_folder_id
          in: path
          type: string
          description: The parent message template folder ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: message_templates
      path: /message_templates
      operations:
      - name: listmessagetemplates
        method: GET
        description: List message templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createmessagetemplate
        method: POST
        description: Create message template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: message_templates-message_template_id
      path: /message_templates/{message_template_id}
      operations:
      - name: getmessagetemplate
        method: GET
        description: Get message template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_template_id
          in: path
          type: string
          description: The message template ID
          required: true
      - name: updatemessagetemplate
        method: PATCH
        description: Update message template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_template_id
          in: path
          type: string
          description: The message template ID
          required: true
      - name: deletemessagetemplate
        method: DELETE
        description: Delete message template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_template_id
          in: path
          type: string
          description: The message template ID
          required: true
    - name: teammates-teammate_id-message_templates
      path: /teammates/{teammate_id}/message_templates
      operations:
      - name: listteammatemessagetemplates
        method: GET
        description: List teammate message templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teammate_id
          in: path
          type: string
          description: The teammate ID. Alternatively, you can supply an email as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).
          required: true
      - name: createteammatemessagetemplate
        method: POST
        description: Create teammate message template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teammate_id
          in: path
          type: string
          description: The teammate ID. Alternatively, you can supply an email as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: teams-team_id-message_templates
      path: /teams/{team_id}/message_templates
      operations:
      - name: listteammessagetemplates
        method: GET
        description: List team message templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_id
          in: path
          type: string
          description: The team ID
          required: true
      - name: createteammessagetemplate
        method: POST
        description: Create team message template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_id
          in: path
          type: string
          description: The team ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.FRONT_API_KEY}}'
  exposes:
  - type: rest
    namespace: core-message-templates-rest
    port: 8080
    description: REST adapter for Core API — Message Templates. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/message-template-folders/{message-template-folder-id}/message-templates
      name: message-template-folders-message-template-folder-id-message-templates
      description: REST surface for message_template_folders-message_template_folder_id-message_templates.
      operations:
      - method: GET
        name: getchildtemplates
        description: Get child templates
        call: core-message-templates.getchildtemplates
        with:
          message_template_folder_id: rest.message_template_folder_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createchildtemplate
        description: Create child template
        call: core-message-templates.createchildtemplate
        with:
          message_template_folder_id: rest.message_template_folder_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/message-templates
      name: message-templates
      description: REST surface for message_templates.
      operations:
      - method: GET
        name: listmessagetemplates
        description: List message templates
        call: core-message-templates.listmessagetemplates
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createmessagetemplate
        description: Create message template
        call: core-message-templates.createmessagetemplate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/message-templates/{message-template-id}
      name: message-templates-message-template-id
      description: REST surface for message_templates-message_template_id.
      operations:
      - method: GET
        name: getmessagetemplate
        description: Get message template
        call: core-message-templates.getmessagetemplate
        with:
          message_template_id: rest.message_template_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatemessagetemplate
        description: Update message template
        call: core-message-templates.updatemessagetemplate
        with:
          message_template_id: rest.message_template_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletemessagetemplate
        description: Delete message template
        call: core-message-templates.deletemessagetemplate
        with:
          message_template_id: rest.message_template_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teammates/{teammate-id}/message-templates
      name: teammates-teammate-id-message-templates
      description: REST surface for teammates-teammate_id-message_templates.
      operations:
      - method: GET
        name: listteammatemessagetemplates
        description: List teammate message templates
        call: core-message-templates.listteammatemessagetemplates
        with:
          teammate_id: rest.teammate_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createteammatemessagetemplate
        description: Create teammate message template
        call: core-message-templates.createteammatemessagetemplate
        with:
          teammate_id: rest.teammate_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/message-templates
      name: teams-team-id-message-templates
      description: REST surface for teams-team_id-message_templates.
      operations:
      - method: GET
        name: listteammessagetemplates
        description: List team message templates
        call: core-message-templates.listteammessagetemplates
        with:
          team_id: rest.team_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createteammessagetemplate
        description: Create team message template
        call: core-message-templates.createteammessagetemplate
        with:
          team_id: rest.team_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: core-message-templates-mcp
    port: 9090
    transport: http
    description: MCP adapter for Core API — Message Templates. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-child-templates
      description: Get child templates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-message-templates.getchildtemplates
      with:
        message_template_folder_id: tools.message_template_folder_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-child-template
      description: Create child template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-message-templates.createchildtemplate
      with:
        message_template_folder_id: tools.message_template_folder_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-message-templates
      description: List message templates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-message-templates.listmessagetemplates
      outputParameters:
      - type: object
        mapping: $.
    - name: create-message-template
      description: Create message template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-message-templates.createmessagetemplate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-message-template
      description: Get message template
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-message-templates.getmessagetemplate
      with:
        message_template_id: tools.message_template_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-message-template
      description: Update message template
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: core-message-templates.updatemessagetemplate
      with:
        message_template_id: tools.message_template_id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-message-template
      description: Delete message template
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: core-message-templates.deletemessagetemplate
      with:
        message_template_id: tools.message_template_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-teammate-message-templates
      description: List teammate message templates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-message-templates.listteammatemessagetemplates
      with:
        teammate_id: tools.teammate_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-teammate-message-template
      description: Create teammate message template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-message-templates.createteammatemessagetemplate
      with:
        teammate_id: tools.teammate_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-team-message-templates
      description: List team message templates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-message-templates.listteammessagetemplates
      with:
        team_id: tools.team_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-team-message-template
      description: Create team message template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-message-templates.createteammessagetemplate
      with:
        team_id: tools.team_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.