Iterable · Capability

Iterable REST API — Templates

Iterable REST API — Templates. 5 operations. Lead operation: Get an email template. Self-contained Naftiko capability covering one Iterable business surface.

Run with Naftiko IterableTemplates

What You Can Do

GET
Getemailtemplate — Get an email template
/v1/templates/email/get
POST
Updateemailtemplate — Update an email template
/v1/templates/email/update
GET
Getinapptemplate — Get an in-app message template
/v1/templates/inapp/get
GET
Getpushtemplate — Get a push notification template
/v1/templates/push/get
GET
Getsmstemplate — Get an SMS template
/v1/templates/sms/get

MCP Tools

get-email-template

Get an email template

read-only idempotent
update-email-template

Update an email template

get-app-message-template

Get an in-app message template

read-only idempotent
get-push-notification-template

Get a push notification template

read-only idempotent
get-sms-template

Get an SMS template

read-only idempotent

Capability Spec

rest-templates.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Iterable REST API — Templates
  description: 'Iterable REST API — Templates. 5 operations. Lead operation: Get an email template. Self-contained Naftiko
    capability covering one Iterable business surface.'
  tags:
  - Iterable
  - Templates
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ITERABLE_API_KEY: ITERABLE_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-templates
    baseUri: https://api.iterable.com/api
    description: Iterable REST API — Templates business capability. Self-contained, no shared references.
    resources:
    - name: templates-email-get
      path: /templates/email/get
      operations:
      - name: getemailtemplate
        method: GET
        description: Get an email template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: templateId
          in: query
          type: integer
          description: The ID of the email template to retrieve
          required: true
    - name: templates-email-update
      path: /templates/email/update
      operations:
      - name: updateemailtemplate
        method: POST
        description: Update an email template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: templates-inApp-get
      path: /templates/inApp/get
      operations:
      - name: getinapptemplate
        method: GET
        description: Get an in-app message template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: templateId
          in: query
          type: integer
          description: The ID of the in-app template to retrieve
          required: true
    - name: templates-push-get
      path: /templates/push/get
      operations:
      - name: getpushtemplate
        method: GET
        description: Get a push notification template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: templateId
          in: query
          type: integer
          description: The ID of the push template to retrieve
          required: true
    - name: templates-sms-get
      path: /templates/sms/get
      operations:
      - name: getsmstemplate
        method: GET
        description: Get an SMS template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: templateId
          in: query
          type: integer
          description: The ID of the SMS template to retrieve
          required: true
    authentication:
      type: apikey
      key: Api-Key
      value: '{{env.ITERABLE_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: rest-templates-rest
    port: 8080
    description: REST adapter for Iterable REST API — Templates. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/templates/email/get
      name: templates-email-get
      description: REST surface for templates-email-get.
      operations:
      - method: GET
        name: getemailtemplate
        description: Get an email template
        call: rest-templates.getemailtemplate
        with:
          templateId: rest.templateId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/templates/email/update
      name: templates-email-update
      description: REST surface for templates-email-update.
      operations:
      - method: POST
        name: updateemailtemplate
        description: Update an email template
        call: rest-templates.updateemailtemplate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/templates/inapp/get
      name: templates-inapp-get
      description: REST surface for templates-inApp-get.
      operations:
      - method: GET
        name: getinapptemplate
        description: Get an in-app message template
        call: rest-templates.getinapptemplate
        with:
          templateId: rest.templateId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/templates/push/get
      name: templates-push-get
      description: REST surface for templates-push-get.
      operations:
      - method: GET
        name: getpushtemplate
        description: Get a push notification template
        call: rest-templates.getpushtemplate
        with:
          templateId: rest.templateId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/templates/sms/get
      name: templates-sms-get
      description: REST surface for templates-sms-get.
      operations:
      - method: GET
        name: getsmstemplate
        description: Get an SMS template
        call: rest-templates.getsmstemplate
        with:
          templateId: rest.templateId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-templates-mcp
    port: 9090
    transport: http
    description: MCP adapter for Iterable REST API — Templates. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-email-template
      description: Get an email template
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-templates.getemailtemplate
      with:
        templateId: tools.templateId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-email-template
      description: Update an email template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-templates.updateemailtemplate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-app-message-template
      description: Get an in-app message template
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-templates.getinapptemplate
      with:
        templateId: tools.templateId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-push-notification-template
      description: Get a push notification template
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-templates.getpushtemplate
      with:
        templateId: tools.templateId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-sms-template
      description: Get an SMS template
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-templates.getsmstemplate
      with:
        templateId: tools.templateId
      outputParameters:
      - type: object
        mapping: $.