Knock · Capability

Knock Users API — Users

Knock Users API — Users. 35 operations. Lead operation: markuserguideasseen (2). Self-contained Naftiko capability covering one Knock business surface.

Knock Users API — Users is a Naftiko capability published by Knock, one of 13 capabilities the APIs.io network indexes for this provider. It bundles 35 operations across the PUT, GET, DELETE, and POST methods rooted at /v1/v1/users.

The capability includes 11 read-only operations and 24 state-changing operations. Lead operation: Mark guide as seen. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Knock and Users.

Run with Naftiko KnockUsers

What You Can Do

PUT
Markuserguideasseen (2) — Mark guide as seen
/v1/v1/users/{user_id}/guides/messages/seen
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
GET
Listsubscriptionsforuser — List user subscriptions
/v1/v1/users/{user_id}/subscriptions
DELETE
Deleteuser — Delete user
/v1/v1/users/{user_id}
GET
Getuser — Get user
/v1/v1/users/{user_id}
PUT
Identifyuser — Identify user
/v1/v1/users/{user_id}
PUT
Updateuserpreferencecategory — Update category in user preference set
/v1/v1/users/{user_id}/preferences/{id}/categories/{key}
PUT
Markuserguideasseen — Mark guide as seen
/v1/v1/users/{user_id}/guides/messages/{message_id}/seen
DELETE
Markuserguideasunarchived — Mark guide as unarchived
/v1/v1/users/{user_id}/guides/messages/archived
PUT
Markuserguideasarchived (2) — Mark guide as archived
/v1/v1/users/{user_id}/guides/messages/archived
DELETE
Unsetuserchanneldata — Unset channel data
/v1/v1/users/{user_id}/channel_data/{channel_id}
GET
Getuserchanneldata — Get channel data
/v1/v1/users/{user_id}/channel_data/{channel_id}
PUT
Setuserchanneldata — Set channel data
/v1/v1/users/{user_id}/channel_data/{channel_id}
POST
Mergeuser — Merge users
/v1/v1/users/{user_id}/merge
PUT
Markuserguideasinteracted (2) — Mark guide as interacted
/v1/v1/users/{user_id}/guides/messages/interacted
PUT
Resetuserguideengagement — Reset guide engagement
/v1/v1/users/{user_id}/guides/engagements/reset
POST
Bulksetuserpreferences — Bulk set preferences
/v1/v1/users/bulk/preferences
GET
Listuserguides — List guides
/v1/v1/users/{user_id}/guides/{channel_id}
POST
Bulkidentifyusers — Bulk identify users
/v1/v1/users/bulk/identify
PUT
Updateuserpreferenceworkflows — Update workflows in preference set
/v1/v1/users/{user_id}/preferences/{id}/workflows
PUT
Updateuserpreferencecategories — Update categories in user preference set
/v1/v1/users/{user_id}/preferences/{id}/categories
PUT
Markuserguideasinteracted — Mark guide as interacted
/v1/v1/users/{user_id}/guides/messages/{message_id}/interacted
POST
Bulkdeleteusers — Bulk delete users
/v1/v1/users/bulk/delete
PUT
Updateuserpreferencechanneltype — Update channel type in preference set
/v1/v1/users/{user_id}/preferences/{id}/channel_types/{type}
GET
Listuserpreferencesets — List user preference sets
/v1/v1/users/{user_id}/preferences
GET
Listuserschedules — List user schedules
/v1/v1/users/{user_id}/schedules
PUT
Markuserguideasarchived — Mark guide as archived
/v1/v1/users/{user_id}/guides/messages/{message_id}/archived
GET
Listmessagesforuser — List user messages
/v1/v1/users/{user_id}/messages
GET
Listusers — List users
/v1/v1/users
PUT
Updateuserpreferenceworkflow — Update workflow in user preference set
/v1/v1/users/{user_id}/preferences/{id}/workflows/{key}
DELETE
Deleteuserpreferenceset — Delete user preference set
/v1/v1/users/{user_id}/preferences/{id}
GET
Getuserpreferenceset — Get user preference set
/v1/v1/users/{user_id}/preferences/{id}
PUT
Updateuserpreferenceset — Update user preference set
/v1/v1/users/{user_id}/preferences/{id}
PUT
Updateuserpreferencechanneltypes — Update channel types in preference set
/v1/v1/users/{user_id}/preferences/{id}/channel_types

MCP Tools

knock-markuserguideasseen (2)

Mark guide as seen

idempotent
knock-listuserinappfeeditems

List feed items

read-only idempotent
knock-getuserinappfeedsettings

Get feed settings

read-only idempotent
knock-listsubscriptionsforuser

List user subscriptions

read-only idempotent
knock-deleteuser

Delete user

idempotent
knock-getuser

Get user

read-only idempotent
knock-identifyuser

Identify user

idempotent
knock-updateuserpreferencecategory

Update category in user preference set

idempotent
knock-markuserguideasseen

Mark guide as seen

idempotent
knock-markuserguideasunarchived

Mark guide as unarchived

idempotent
knock-markuserguideasarchived (2)

Mark guide as archived

idempotent
knock-unsetuserchanneldata

Unset channel data

idempotent
knock-getuserchanneldata

Get channel data

read-only idempotent
knock-setuserchanneldata

Set channel data

idempotent
knock-mergeuser

Merge users

knock-markuserguideasinteracted (2)

Mark guide as interacted

idempotent
knock-resetuserguideengagement

Reset guide engagement

idempotent
knock-bulksetuserpreferences

Bulk set preferences

knock-listuserguides

List guides

read-only idempotent
knock-bulkidentifyusers

Bulk identify users

knock-updateuserpreferenceworkflows

Update workflows in preference set

idempotent
knock-updateuserpreferencecategories

Update categories in user preference set

idempotent
knock-markuserguideasinteracted

Mark guide as interacted

idempotent
knock-bulkdeleteusers

Bulk delete users

knock-updateuserpreferencechanneltype

Update channel type in preference set

idempotent
knock-listuserpreferencesets

List user preference sets

read-only idempotent
knock-listuserschedules

List user schedules

read-only idempotent
knock-markuserguideasarchived

Mark guide as archived

idempotent
knock-listmessagesforuser

List user messages

read-only idempotent
knock-listusers

List users

read-only idempotent
knock-updateuserpreferenceworkflow

Update workflow in user preference set

idempotent
knock-deleteuserpreferenceset

Delete user preference set

idempotent
knock-getuserpreferenceset

Get user preference set

read-only idempotent
knock-updateuserpreferenceset

Update user preference set

idempotent
knock-updateuserpreferencechanneltypes

Update channel types in preference set

idempotent

Capability Spec

users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Knock Users API — Users
  description: 'Knock Users API — Users. 35 operations. Lead operation: markuserguideasseen (2). Self-contained Naftiko capability covering one Knock business surface.'
  tags:
  - Knock
  - Users
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    KNOCK_API_KEY: KNOCK_API_KEY
capability:
  consumes:
  - type: http
    namespace: users
    baseUri: https://api.knock.app
    description: Knock Knock Users API business capability. Self-contained, no shared references.
    resources:
    - name: v1-users-user_id-guides-messages-seen
      path: /v1/users/{user_id}/guides/messages/seen
      operations:
      - name: markuserguideasseen (2)
        method: PUT
        description: Mark guide as seen
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - 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
          required: true
        - name: id
          in: path
          type: string
          required: true
    - 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
          required: true
        - name: id
          in: path
          type: string
          required: true
    - name: v1-users-user_id-subscriptions
      path: /v1/users/{user_id}/subscriptions
      operations:
      - name: listsubscriptionsforuser
        method: GET
        description: List user subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
    - name: v1-users-user_id
      path: /v1/users/{user_id}
      operations:
      - name: deleteuser
        method: DELETE
        description: Delete user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
      - name: getuser
        method: GET
        description: Get user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
      - name: identifyuser
        method: PUT
        description: Identify user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-preferences-id-categories-key
      path: /v1/users/{user_id}/preferences/{id}/categories/{key}
      operations:
      - name: updateuserpreferencecategory
        method: PUT
        description: Update category in user preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-guides-messages-message_id-seen
      path: /v1/users/{user_id}/guides/messages/{message_id}/seen
      operations:
      - name: markuserguideasseen
        method: PUT
        description: Mark guide as seen
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: message_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-guides-messages-archived
      path: /v1/users/{user_id}/guides/messages/archived
      operations:
      - name: markuserguideasunarchived
        method: DELETE
        description: Mark guide as unarchived
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
      - name: markuserguideasarchived (2)
        method: PUT
        description: Mark guide as archived
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-channel_data-channel_id
      path: /v1/users/{user_id}/channel_data/{channel_id}
      operations:
      - name: unsetuserchanneldata
        method: DELETE
        description: Unset channel data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: channel_id
          in: path
          type: string
          required: true
      - name: getuserchanneldata
        method: GET
        description: Get channel data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: channel_id
          in: path
          type: string
          required: true
      - name: setuserchanneldata
        method: PUT
        description: Set channel data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: channel_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-merge
      path: /v1/users/{user_id}/merge
      operations:
      - name: mergeuser
        method: POST
        description: Merge users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-guides-messages-interacted
      path: /v1/users/{user_id}/guides/messages/interacted
      operations:
      - name: markuserguideasinteracted (2)
        method: PUT
        description: Mark guide as interacted
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-guides-engagements-reset
      path: /v1/users/{user_id}/guides/engagements/reset
      operations:
      - name: resetuserguideengagement
        method: PUT
        description: Reset guide engagement
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-bulk-preferences
      path: /v1/users/bulk/preferences
      operations:
      - name: bulksetuserpreferences
        method: POST
        description: Bulk set preferences
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-guides-channel_id
      path: /v1/users/{user_id}/guides/{channel_id}
      operations:
      - name: listuserguides
        method: GET
        description: List guides
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: channel_id
          in: path
          type: string
          required: true
    - name: v1-users-bulk-identify
      path: /v1/users/bulk/identify
      operations:
      - name: bulkidentifyusers
        method: POST
        description: Bulk identify users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-preferences-id-workflows
      path: /v1/users/{user_id}/preferences/{id}/workflows
      operations:
      - name: updateuserpreferenceworkflows
        method: PUT
        description: Update workflows in preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-preferences-id-categories
      path: /v1/users/{user_id}/preferences/{id}/categories
      operations:
      - name: updateuserpreferencecategories
        method: PUT
        description: Update categories in user preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-guides-messages-message_id-interacted
      path: /v1/users/{user_id}/guides/messages/{message_id}/interacted
      operations:
      - name: markuserguideasinteracted
        method: PUT
        description: Mark guide as interacted
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: message_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-bulk-delete
      path: /v1/users/bulk/delete
      operations:
      - name: bulkdeleteusers
        method: POST
        description: Bulk delete users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-preferences-id-channel_types-type
      path: /v1/users/{user_id}/preferences/{id}/channel_types/{type}
      operations:
      - name: updateuserpreferencechanneltype
        method: PUT
        description: Update channel type in preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: type
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-preferences
      path: /v1/users/{user_id}/preferences
      operations:
      - name: listuserpreferencesets
        method: GET
        description: List user preference sets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
    - name: v1-users-user_id-schedules
      path: /v1/users/{user_id}/schedules
      operations:
      - name: listuserschedules
        method: GET
        description: List user schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
    - name: v1-users-user_id-guides-messages-message_id-archived
      path: /v1/users/{user_id}/guides/messages/{message_id}/archived
      operations:
      - name: markuserguideasarchived
        method: PUT
        description: Mark guide as archived
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: message_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-messages
      path: /v1/users/{user_id}/messages
      operations:
      - name: listmessagesforuser
        method: GET
        description: List user messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
    - name: v1-users
      path: /v1/users
      operations:
      - name: listusers
        method: GET
        description: List users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-users-user_id-preferences-id-workflows-key
      path: /v1/users/{user_id}/preferences/{id}/workflows/{key}
      operations:
      - name: updateuserpreferenceworkflow
        method: PUT
        description: Update workflow in user preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-preferences-id
      path: /v1/users/{user_id}/preferences/{id}
      operations:
      - name: deleteuserpreferenceset
        method: DELETE
        description: Delete user preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
      - name: getuserpreferenceset
        method: GET
        description: Get user preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
      - name: updateuserpreferenceset
        method: PUT
        description: Update user preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-users-user_id-preferences-id-channel_types
      path: /v1/users/{user_id}/preferences/{id}/channel_types
      operations:
      - name: updateuserpreferencechanneltypes
        method: PUT
        description: Update channel types in preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    authentication:
      type: bearer
      value: '{{env.KNOCK_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: users-rest
    port: 8080
    description: REST adapter for Knock Knock Users API.
    resources:
    - path: /v1/v1/users/{user_id}/guides/messages/seen
      name: v1-users-user_id-guides-messages-seen
      description: REST surface for v1-users-user_id-guides-messages-seen.
      operations:
      - method: PUT
        name: markuserguideasseen (2)
        description: Mark guide as seen
        call: users.markuserguideasseen (2)
        with:
          user_id: rest.user_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - 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: users.listuserinappfeeditems
        with:
          user_id: rest.user_id
          id: rest.id
        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: users.getuserinappfeedsettings
        with:
          user_id: rest.user_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/subscriptions
      name: v1-users-user_id-subscriptions
      description: REST surface for v1-users-user_id-subscriptions.
      operations:
      - method: GET
        name: listsubscriptionsforuser
        description: List user subscriptions
        call: users.listsubscriptionsforuser
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}
      name: v1-users-user_id
      description: REST surface for v1-users-user_id.
      operations:
      - method: DELETE
        name: deleteuser
        description: Delete user
        call: users.deleteuser
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getuser
        description: Get user
        call: users.getuser
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: identifyuser
        description: Identify user
        call: users.identifyuser
        with:
          user_id: rest.user_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/preferences/{id}/categories/{key}
      name: v1-users-user_id-preferences-id-categories-key
      description: REST surface for v1-users-user_id-preferences-id-categories-key.
      operations:
      - method: PUT
        name: updateuserpreferencecategory
        description: Update category in user preference set
        call: users.updateuserpreferencecategory
        with:
          user_id: rest.user_id
          id: rest.id
          key: rest.key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/guides/messages/{message_id}/seen
      name: v1-users-user_id-guides-messages-message_id-seen
      description: REST surface for v1-users-user_id-guides-messages-message_id-seen.
      operations:
      - method: PUT
        name: markuserguideasseen
        description: Mark guide as seen
        call: users.markuserguideasseen
        with:
          user_id: rest.user_id
          message_id: rest.message_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/guides/messages/archived
      name: v1-users-user_id-guides-messages-archived
      description: REST surface for v1-users-user_id-guides-messages-archived.
      operations:
      - method: DELETE
        name: markuserguideasunarchived
        description: Mark guide as unarchived
        call: users.markuserguideasunarchived
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: markuserguideasarchived (2)
        description: Mark guide as archived
        call: users.markuserguideasarchived (2)
        with:
          user_id: rest.user_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/channel_data/{channel_id}
      name: v1-users-user_id-channel_data-channel_id
      description: REST surface for v1-users-user_id-channel_data-channel_id.
      operations:
      - method: DELETE
        name: unsetuserchanneldata
        description: Unset channel data
        call: users.unsetuserchanneldata
        with:
          user_id: rest.user_id
          channel_id: rest.channel_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getuserchanneldata
        description: Get channel data
        call: users.getuserchanneldata
        with:
          user_id: rest.user_id
          channel_id: rest.channel_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setuserchanneldata
        description: Set channel data
        call: users.setuserchanneldata
        with:
          user_id: rest.user_id
          channel_id: rest.channel_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/merge
      name: v1-users-user_id-merge
      description: REST surface for v1-users-user_id-merge.
      operations:
      - method: POST
        name: mergeuser
        description: Merge users
        call: users.mergeuser
        with:
          user_id: rest.user_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/guides/messages/interacted
      name: v1-users-user_id-guides-messages-interacted
      description: REST surface for v1-users-user_id-guides-messages-interacted.
      operations:
      - method: PUT
        name: markuserguideasinteracted (2)
        description: Mark guide as interacted
        call: users.markuserguideasinteracted (2)
        with:
          user_id: rest.user_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/guides/engagements/reset
      name: v1-users-user_id-guides-engagements-reset
      description: REST surface for v1-users-user_id-guides-engagements-reset.
      operations:
      - method: PUT
        name: resetuserguideengagement
        description: Reset guide engagement
        call: users.resetuserguideengagement
        with:
          user_id: rest.user_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/bulk/preferences
      name: v1-users-bulk-preferences
      description: REST surface for v1-users-bulk-preferences.
      operations:
      - method: POST
        name: bulksetuserpreferences
        description: Bulk set preferences
        call: users.bulksetuserpreferences
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/guides/{channel_id}
      name: v1-users-user_id-guides-channel_id
      description: REST surface for v1-users-user_id-guides-channel_id.
      operations:
      - method: GET
        name: listuserguides
        description: List guides
        call: users.listuserguides
        with:
          user_id: rest.user_id
          channel_id: rest.channel_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/bulk/identify
      name: v1-users-bulk-identify
      description: REST surface for v1-users-bulk-identify.
      operations:
      - method: POST
        name: bulkidentifyusers
        description: Bulk identify users
        call: users.bulkidentifyusers
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/preferences/{id}/workflows
      name: v1-users-user_id-preferences-id-workflows
      description: REST surface for v1-users-user_id-preferences-id-workflows.
      operations:
      - method: PUT
        name: updateuserpreferenceworkflows
        description: Update workflows in preference set
        call: users.updateuserpreferenceworkflows
        with:
          user_id: rest.user_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/preferences/{id}/categories
      name: v1-users-user_id-preferences-id-categories
      description: REST surface for v1-users-user_id-preferences-id-categories.
      operations:
      - method: PUT
        name: updateuserpreferencecategories
        description: Update categories in user preference set
        call: users.updateuserpreferencecategories
        with:
          user_id: rest.user_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/guides/messages/{message_id}/interacted
      name: v1-users-user_id-guides-messages-message_id-interacted
      description: REST surface for v1-users-user_id-guides-messages-message_id-interacted.
      operations:
      - method: PUT
        name: markuserguideasinteracted
        description: Mark guide as interacted
        call: users.markuserguideasinteracted
        with:
          user_id: rest.user_id
          message_id: rest.message_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/bulk/delete
      name: v1-users-bulk-delete
      description: REST surface for v1-users-bulk-delete.
      operations:
      - method: POST
        name: bulkdeleteusers
        description: Bulk delete users
        call: users.bulkdeleteusers
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/preferences/{id}/channel_types/{type}
      name: v1-users-user_id-preferences-id-channel_types-type
      description: REST surface for v1-users-user_id-preferences-id-channel_types-type.
      operations:
      - method: PUT
        name: updateuserpreferencechanneltype
        description: Update channel type in preference set
        call: users.updateuserpreferencechanneltype
        with:
          user_id: rest.user_id
          id: rest.id
          type: rest.type
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/preferences
      name: v1-users-user_id-preferences
      description: REST surface for v1-users-user_id-preferences.
      operations:
      - method: GET
        name: listuserpreferencesets
        description: List user preference sets
        call: users.listuserpreferencesets
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/schedules
      name: v1-users-user_id-schedules
      description: REST surface for v1-users-user_id-schedules.
      operations:
      - method: GET
        name: listuserschedules
        description: List user schedules
        call: users.listuserschedules
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/guides/messages/{message_id}/archived
      name: v1-users-user_id-guides-messages-message_id-archived
      description: REST surface for v1-users-user_id-guides-messages-message_id-archived.
      operations:
      - method: PUT
        name: markuserguideasarchived
        description: Mark guide as archived
        call: users.markuserguideasarchived
        with:
          user_id: rest.user_id
          message_id: rest.message_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/messages
      name: v1-users-user_id-messages
      description: REST surface for v1-users-user_id-messages.
      operations:
      - method: GET
        name: listmessagesforuser
        description: List user messages
        call: users.listmessagesforuser
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users
      name: v1-users
      description: REST surface for v1-users.
      operations:
      - method: GET
        name: listusers
        description: List users
        call: users.listusers
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user_id}/preferences/{id}/workflows/{key}
      name: v1-users-user_id-preferences-id-workflows-key
      description: REST surface for v1-users-user_id-preferences-id-workflows-key.
      operations:
      - method: PUT
        name: updateuserpreferenceworkflow
        description: Update workflow in user preference set
    

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/knock-app/refs/heads/main/capabilities/users.yaml