Front · Capability

Core API — Conversations

Core API — Conversations. 18 operations. Lead operation: List conversations. Self-contained Naftiko capability covering one Front business surface.

Run with Naftiko FrontConversations

What You Can Do

GET
Listconversations — List conversations
/v1/conversations
POST
Createconversation — Create discussion conversation
/v1/conversations
GET
Searchconversations — Search conversations
/v1/conversations/search/{query}
GET
Getconversationbyid — Get conversation
/v1/conversations/{conversation-id}
PATCH
Updateconversation — Update conversation
/v1/conversations/{conversation-id}
DELETE
Deleteconversation — Delete conversation
/v1/conversations/{conversation-id}
PUT
Updateconversationassignee — Update conversation assignee
/v1/conversations/{conversation-id}/assignee
GET
Listconversationevents — List conversation events
/v1/conversations/{conversation-id}/events
GET
Listconversationfollowers — List conversation followers
/v1/conversations/{conversation-id}/followers
POST
Addconversationfollowers — Add conversation followers
/v1/conversations/{conversation-id}/followers
DELETE
Deleteconversationfollowers — Delete conversation followers
/v1/conversations/{conversation-id}/followers
GET
Listconversationinboxes — List conversation inboxes
/v1/conversations/{conversation-id}/inboxes
POST
Addconversationlink — Add conversation link
/v1/conversations/{conversation-id}/links
DELETE
Removeconversationlinks — Remove conversation links
/v1/conversations/{conversation-id}/links
GET
Listconversationmessages — List conversation messages
/v1/conversations/{conversation-id}/messages
PATCH
Updateconversationreminders — Update conversation reminders
/v1/conversations/{conversation-id}/reminders
POST
Addconversationtag — Add conversation tag
/v1/conversations/{conversation-id}/tags
DELETE
Removeconversationtag — Remove conversation tag
/v1/conversations/{conversation-id}/tags

MCP Tools

list-conversations

List conversations

read-only idempotent
create-discussion-conversation

Create discussion conversation

search-conversations

Search conversations

read-only idempotent
get-conversation

Get conversation

read-only idempotent
update-conversation

Update conversation

idempotent
delete-conversation

Delete conversation

idempotent
update-conversation-assignee

Update conversation assignee

idempotent
list-conversation-events

List conversation events

read-only idempotent
list-conversation-followers

List conversation followers

read-only idempotent
add-conversation-followers

Add conversation followers

delete-conversation-followers

Delete conversation followers

idempotent
list-conversation-inboxes

List conversation inboxes

read-only idempotent
add-conversation-link

Add conversation link

remove-conversation-links

Remove conversation links

idempotent
list-conversation-messages

List conversation messages

read-only idempotent
update-conversation-reminders

Update conversation reminders

idempotent
add-conversation-tag

Add conversation tag

remove-conversation-tag

Remove conversation tag

idempotent

Capability Spec

core-conversations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Core API — Conversations
  description: 'Core API — Conversations. 18 operations. Lead operation: List conversations. Self-contained Naftiko capability
    covering one Front business surface.'
  tags:
  - Front
  - Conversations
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FRONT_API_KEY: FRONT_API_KEY
capability:
  consumes:
  - type: http
    namespace: core-conversations
    baseUri: https://api2.frontapp.com
    description: Core API — Conversations business capability. Self-contained, no shared references.
    resources:
    - name: conversations
      path: /conversations
      operations:
      - name: listconversations
        method: GET
        description: List conversations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createconversation
        method: POST
        description: Create discussion conversation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: conversations-search-query
      path: /conversations/search/{query}
      operations:
      - name: searchconversations
        method: GET
        description: Search conversations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: path
          type: string
          description: Search query string. See [Search](https://dev.frontapp.com/docs/search-1) topic for usage details.
          required: true
    - name: conversations-conversation_id
      path: /conversations/{conversation_id}
      operations:
      - name: getconversationbyid
        method: GET
        description: Get conversation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
      - name: updateconversation
        method: PATCH
        description: Update conversation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteconversation
        method: DELETE
        description: Delete conversation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
    - name: conversations-conversation_id-assignee
      path: /conversations/{conversation_id}/assignee
      operations:
      - name: updateconversationassignee
        method: PUT
        description: Update conversation assignee
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: conversations-conversation_id-events
      path: /conversations/{conversation_id}/events
      operations:
      - name: listconversationevents
        method: GET
        description: List conversation events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
    - name: conversations-conversation_id-followers
      path: /conversations/{conversation_id}/followers
      operations:
      - name: listconversationfollowers
        method: GET
        description: List conversation followers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
      - name: addconversationfollowers
        method: POST
        description: Add conversation followers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: ignore_errors
          in: query
          type: boolean
          description: Whether to ignore invalid teammate IDs and continue adding valid ones.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteconversationfollowers
        method: DELETE
        description: Delete conversation followers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: conversations-conversation_id-inboxes
      path: /conversations/{conversation_id}/inboxes
      operations:
      - name: listconversationinboxes
        method: GET
        description: List conversation inboxes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
    - name: conversations-conversation_id-links
      path: /conversations/{conversation_id}/links
      operations:
      - name: addconversationlink
        method: POST
        description: Add conversation link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: removeconversationlinks
        method: DELETE
        description: Remove conversation links
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: conversations-conversation_id-messages
      path: /conversations/{conversation_id}/messages
      operations:
      - name: listconversationmessages
        method: GET
        description: List conversation messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
    - name: conversations-conversation_id-reminders
      path: /conversations/{conversation_id}/reminders
      operations:
      - name: updateconversationreminders
        method: PATCH
        description: Update conversation reminders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: conversations-conversation_id-tags
      path: /conversations/{conversation_id}/tags
      operations:
      - name: addconversationtag
        method: POST
        description: Add conversation tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: removeconversationtag
        method: DELETE
        description: Remove conversation tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation_id
          in: path
          type: string
          description: The conversation 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-conversations-rest
    port: 8080
    description: REST adapter for Core API — Conversations. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/conversations
      name: conversations
      description: REST surface for conversations.
      operations:
      - method: GET
        name: listconversations
        description: List conversations
        call: core-conversations.listconversations
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createconversation
        description: Create discussion conversation
        call: core-conversations.createconversation
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/search/{query}
      name: conversations-search-query
      description: REST surface for conversations-search-query.
      operations:
      - method: GET
        name: searchconversations
        description: Search conversations
        call: core-conversations.searchconversations
        with:
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}
      name: conversations-conversation-id
      description: REST surface for conversations-conversation_id.
      operations:
      - method: GET
        name: getconversationbyid
        description: Get conversation
        call: core-conversations.getconversationbyid
        with:
          conversation_id: rest.conversation_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateconversation
        description: Update conversation
        call: core-conversations.updateconversation
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteconversation
        description: Delete conversation
        call: core-conversations.deleteconversation
        with:
          conversation_id: rest.conversation_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/assignee
      name: conversations-conversation-id-assignee
      description: REST surface for conversations-conversation_id-assignee.
      operations:
      - method: PUT
        name: updateconversationassignee
        description: Update conversation assignee
        call: core-conversations.updateconversationassignee
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/events
      name: conversations-conversation-id-events
      description: REST surface for conversations-conversation_id-events.
      operations:
      - method: GET
        name: listconversationevents
        description: List conversation events
        call: core-conversations.listconversationevents
        with:
          conversation_id: rest.conversation_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/followers
      name: conversations-conversation-id-followers
      description: REST surface for conversations-conversation_id-followers.
      operations:
      - method: GET
        name: listconversationfollowers
        description: List conversation followers
        call: core-conversations.listconversationfollowers
        with:
          conversation_id: rest.conversation_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addconversationfollowers
        description: Add conversation followers
        call: core-conversations.addconversationfollowers
        with:
          conversation_id: rest.conversation_id
          ignore_errors: rest.ignore_errors
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteconversationfollowers
        description: Delete conversation followers
        call: core-conversations.deleteconversationfollowers
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/inboxes
      name: conversations-conversation-id-inboxes
      description: REST surface for conversations-conversation_id-inboxes.
      operations:
      - method: GET
        name: listconversationinboxes
        description: List conversation inboxes
        call: core-conversations.listconversationinboxes
        with:
          conversation_id: rest.conversation_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/links
      name: conversations-conversation-id-links
      description: REST surface for conversations-conversation_id-links.
      operations:
      - method: POST
        name: addconversationlink
        description: Add conversation link
        call: core-conversations.addconversationlink
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removeconversationlinks
        description: Remove conversation links
        call: core-conversations.removeconversationlinks
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/messages
      name: conversations-conversation-id-messages
      description: REST surface for conversations-conversation_id-messages.
      operations:
      - method: GET
        name: listconversationmessages
        description: List conversation messages
        call: core-conversations.listconversationmessages
        with:
          conversation_id: rest.conversation_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/reminders
      name: conversations-conversation-id-reminders
      description: REST surface for conversations-conversation_id-reminders.
      operations:
      - method: PATCH
        name: updateconversationreminders
        description: Update conversation reminders
        call: core-conversations.updateconversationreminders
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/conversations/{conversation-id}/tags
      name: conversations-conversation-id-tags
      description: REST surface for conversations-conversation_id-tags.
      operations:
      - method: POST
        name: addconversationtag
        description: Add conversation tag
        call: core-conversations.addconversationtag
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removeconversationtag
        description: Remove conversation tag
        call: core-conversations.removeconversationtag
        with:
          conversation_id: rest.conversation_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: core-conversations-mcp
    port: 9090
    transport: http
    description: MCP adapter for Core API — Conversations. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-conversations
      description: List conversations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-conversations.listconversations
      outputParameters:
      - type: object
        mapping: $.
    - name: create-discussion-conversation
      description: Create discussion conversation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-conversations.createconversation
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: search-conversations
      description: Search conversations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-conversations.searchconversations
      with:
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: get-conversation
      description: Get conversation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-conversations.getconversationbyid
      with:
        conversation_id: tools.conversation_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-conversation
      description: Update conversation
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: core-conversations.updateconversation
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-conversation
      description: Delete conversation
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: core-conversations.deleteconversation
      with:
        conversation_id: tools.conversation_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-conversation-assignee
      description: Update conversation assignee
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: core-conversations.updateconversationassignee
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-conversation-events
      description: List conversation events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-conversations.listconversationevents
      with:
        conversation_id: tools.conversation_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-conversation-followers
      description: List conversation followers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-conversations.listconversationfollowers
      with:
        conversation_id: tools.conversation_id
      outputParameters:
      - type: object
        mapping: $.
    - name: add-conversation-followers
      description: Add conversation followers
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-conversations.addconversationfollowers
      with:
        conversation_id: tools.conversation_id
        ignore_errors: tools.ignore_errors
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-conversation-followers
      description: Delete conversation followers
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: core-conversations.deleteconversationfollowers
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-conversation-inboxes
      description: List conversation inboxes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-conversations.listconversationinboxes
      with:
        conversation_id: tools.conversation_id
      outputParameters:
      - type: object
        mapping: $.
    - name: add-conversation-link
      description: Add conversation link
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-conversations.addconversationlink
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-conversation-links
      description: Remove conversation links
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: core-conversations.removeconversationlinks
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-conversation-messages
      description: List conversation messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-conversations.listconversationmessages
      with:
        conversation_id: tools.conversation_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-conversation-reminders
      description: Update conversation reminders
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: core-conversations.updateconversationreminders
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: add-conversation-tag
      description: Add conversation tag
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-conversations.addconversationtag
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-conversation-tag
      description: Remove conversation tag
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: core-conversations.removeconversationtag
      with:
        conversation_id: tools.conversation_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.