Knock · Capability

Knock API — Feeds

Knock API — Feeds. 2 operations. Lead operation: List feed items. Self-contained Naftiko capability covering one Knock business surface.

Run with Naftiko KnockFeeds

What You Can Do

GET
Listuserinappfeeditems — List feed items
/v1/v1/users/{user-id}/feeds/{id}
GET
Getuserinappfeedsettings — Get feed settings
/v1/v1/users/{user-id}/feeds/{id}/settings

MCP Tools

list-feed-items

List feed items

read-only idempotent
get-feed-settings

Get feed settings

read-only idempotent

Capability Spec

knock-feeds.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Knock API — Feeds
  description: 'Knock API — Feeds. 2 operations. Lead operation: List feed items. Self-contained Naftiko capability covering
    one Knock business surface.'
  tags:
  - Knock
  - Feeds
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KNOCK_API_KEY: KNOCK_API_KEY
capability:
  consumes:
  - type: http
    namespace: knock-feeds
    baseUri: https://api.knock.app
    description: Knock API — Feeds business capability. Self-contained, no shared references.
    resources:
    - name: v1-users-user_id-feeds-id
      path: /v1/users/{user_id}/feeds/{id}
      operations:
      - name: listuserinappfeeditems
        method: GET
        description: List feed items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          description: The unique identifier of the user.
          required: true
        - name: id
          in: path
          type: string
          description: The unique identifier for the channel.
          required: true
        - name: status
          in: query
          type: string
          description: The status of the feed items.
        - name: source
          in: query
          type: string
          description: The workflow key associated with the message in the feed.
        - name: tenant
          in: query
          type: string
          description: The tenant associated with the feed items.
        - name: has_tenant
          in: query
          type: boolean
          description: Whether the feed items have a tenant.
        - name: workflow_categories[]
          in: query
          type: array
          description: The workflow categories of the feed items.
        - name: archived
          in: query
          type: string
          description: The archived status of the feed items.
        - name: trigger_data
          in: query
          type: string
          description: The trigger data of the feed items (as a JSON string).
        - name: locale
          in: query
          type: string
          description: The locale to render the feed items in. Must be in the IETF 5646 format (e.g. `en-US`). When not provided,
            will default to the locale that the feed items were r
        - name: exclude
          in: query
          type: string
          description: Comma-separated list of field paths to exclude from the response. Use dot notation for nested fields
            (e.g., `entries.archived_at`). Limited to 3 levels deep.
        - name: mode
          in: query
          type: string
          description: The mode to render the feed items in. Can be `compact` or `rich`. Defaults to `rich`. When `mode` is
            `compact`, feed items will not have `activities` and `total
        - name: after
          in: query
          type: string
          description: The cursor to fetch entries after.
        - name: before
          in: query
          type: string
          description: The cursor to fetch entries before.
        - name: page_size
          in: query
          type: integer
          description: The number of items per page (defaults to 50).
        - name: inserted_at.gt
          in: query
          type: string
          description: Limits the results to items inserted after the given date.
        - name: inserted_at.gte
          in: query
          type: string
          description: Limits the results to items inserted after or on the given date.
        - name: inserted_at.lt
          in: query
          type: string
          description: Limits the results to items inserted before the given date.
        - name: inserted_at.lte
          in: query
          type: string
          description: Limits the results to items inserted before or on the given date.
    - name: v1-users-user_id-feeds-id-settings
      path: /v1/users/{user_id}/feeds/{id}/settings
      operations:
      - name: getuserinappfeedsettings
        method: GET
        description: Get feed settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          description: The unique identifier of the user.
          required: true
        - name: id
          in: path
          type: string
          description: The unique identifier for the channel.
          required: true
    authentication:
      type: bearer
      token: '{{env.KNOCK_API_KEY}}'
  exposes:
  - type: rest
    namespace: knock-feeds-rest
    port: 8080
    description: REST adapter for Knock API — Feeds. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/v1/users/{user-id}/feeds/{id}
      name: v1-users-user-id-feeds-id
      description: REST surface for v1-users-user_id-feeds-id.
      operations:
      - method: GET
        name: listuserinappfeeditems
        description: List feed items
        call: knock-feeds.listuserinappfeeditems
        with:
          user_id: rest.user_id
          id: rest.id
          status: rest.status
          source: rest.source
          tenant: rest.tenant
          has_tenant: rest.has_tenant
          workflow_categories[]: rest.workflow_categories[]
          archived: rest.archived
          trigger_data: rest.trigger_data
          locale: rest.locale
          exclude: rest.exclude
          mode: rest.mode
          after: rest.after
          before: rest.before
          page_size: rest.page_size
          inserted_at.gt: rest.inserted_at.gt
          inserted_at.gte: rest.inserted_at.gte
          inserted_at.lt: rest.inserted_at.lt
          inserted_at.lte: rest.inserted_at.lte
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user-id}/feeds/{id}/settings
      name: v1-users-user-id-feeds-id-settings
      description: REST surface for v1-users-user_id-feeds-id-settings.
      operations:
      - method: GET
        name: getuserinappfeedsettings
        description: Get feed settings
        call: knock-feeds.getuserinappfeedsettings
        with:
          user_id: rest.user_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: knock-feeds-mcp
    port: 9090
    transport: http
    description: MCP adapter for Knock API — Feeds. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-feed-items
      description: List feed items
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knock-feeds.listuserinappfeeditems
      with:
        user_id: tools.user_id
        id: tools.id
        status: tools.status
        source: tools.source
        tenant: tools.tenant
        has_tenant: tools.has_tenant
        workflow_categories[]: tools.workflow_categories[]
        archived: tools.archived
        trigger_data: tools.trigger_data
        locale: tools.locale
        exclude: tools.exclude
        mode: tools.mode
        after: tools.after
        before: tools.before
        page_size: tools.page_size
        inserted_at.gt: tools.inserted_at.gt
        inserted_at.gte: tools.inserted_at.gte
        inserted_at.lt: tools.inserted_at.lt
        inserted_at.lte: tools.inserted_at.lte
      outputParameters:
      - type: object
        mapping: $.
    - name: get-feed-settings
      description: Get feed settings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knock-feeds.getuserinappfeedsettings
      with:
        user_id: tools.user_id
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.