Knock · Capability

Knock API — Preferences

Knock API — Preferences. 20 operations. Lead operation: List preference sets. Self-contained Naftiko capability covering one Knock business surface.

Run with Naftiko KnockPreferences

What You Can Do

GET
Listobjectpreferencesets — List preference sets
/v1/v1/objects/{collection}/{object-id}/preferences
DELETE
Deleteobjectpreferenceset — Delete object preference set
/v1/v1/objects/{collection}/{object-id}/preferences/{id}
GET
Getobjectpreferenceset — Get object preference set
/v1/v1/objects/{collection}/{object-id}/preferences/{id}
PUT
Updateobjectpreferenceset — Update a preference set
/v1/v1/objects/{collection}/{object-id}/preferences/{id}
PUT
Updateobjectpreferencecategories — Update categories in preference set
/v1/v1/objects/{collection}/{object-id}/preferences/{id}/categories
PUT
Updateobjectpreferencecategory — Update a category preference
/v1/v1/objects/{collection}/{object-id}/preferences/{id}/categories/{key}
PUT
Updateobjectpreferencechanneltypes — Update channel types in preference set
/v1/v1/objects/{collection}/{object-id}/preferences/{id}/channel-types
PUT
Updateobjectpreferencechanneltype — Update a channel type preference
/v1/v1/objects/{collection}/{object-id}/preferences/{id}/channel-types/{type}
PUT
Updateobjectpreferenceworkflows — Update workflows in preference set
/v1/v1/objects/{collection}/{object-id}/preferences/{id}/workflows
PUT
Updateobjectpreferenceworkflow — Update a workflow preference
/v1/v1/objects/{collection}/{object-id}/preferences/{id}/workflows/{key}
GET
Listuserpreferencesets — List user preference sets
/v1/v1/users/{user-id}/preferences
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
Updateuserpreferencecategories — Update categories in user preference set
/v1/v1/users/{user-id}/preferences/{id}/categories
PUT
Updateuserpreferencecategory — Update category in user preference set
/v1/v1/users/{user-id}/preferences/{id}/categories/{key}
PUT
Updateuserpreferencechanneltypes — Update channel types in preference set
/v1/v1/users/{user-id}/preferences/{id}/channel-types
PUT
Updateuserpreferencechanneltype — Update channel type in preference set
/v1/v1/users/{user-id}/preferences/{id}/channel-types/{type}
PUT
Updateuserpreferenceworkflows — Update workflows in preference set
/v1/v1/users/{user-id}/preferences/{id}/workflows
PUT
Updateuserpreferenceworkflow — Update workflow in user preference set
/v1/v1/users/{user-id}/preferences/{id}/workflows/{key}

MCP Tools

list-preference-sets

List preference sets

read-only idempotent
delete-object-preference-set

Delete object preference set

idempotent
get-object-preference-set

Get object preference set

read-only idempotent
update-preference-set

Update a preference set

idempotent
update-categories-preference-set

Update categories in preference set

idempotent
update-category-preference

Update a category preference

idempotent
update-channel-types-preference-set

Update channel types in preference set

idempotent
update-channel-type-preference

Update a channel type preference

idempotent
update-workflows-preference-set

Update workflows in preference set

idempotent
update-workflow-preference

Update a workflow preference

idempotent
list-user-preference-sets

List user preference sets

read-only idempotent
delete-user-preference-set

Delete user preference set

idempotent
get-user-preference-set

Get user preference set

read-only idempotent
update-user-preference-set

Update user preference set

idempotent
update-categories-user-preference-set

Update categories in user preference set

idempotent
update-category-user-preference-set

Update category in user preference set

idempotent
update-channel-types-preference-set-2

Update channel types in preference set

idempotent
update-channel-type-preference-set

Update channel type in preference set

idempotent
update-workflows-preference-set-2

Update workflows in preference set

idempotent
update-workflow-user-preference-set

Update workflow in user preference set

idempotent

Capability Spec

knock-preferences.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Knock API — Preferences
  description: 'Knock API — Preferences. 20 operations. Lead operation: List preference sets. Self-contained Naftiko capability
    covering one Knock business surface.'
  tags:
  - Knock
  - Preferences
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KNOCK_API_KEY: KNOCK_API_KEY
capability:
  consumes:
  - type: http
    namespace: knock-preferences
    baseUri: https://api.knock.app
    description: Knock API — Preferences business capability. Self-contained, no shared references.
    resources:
    - name: v1-objects-collection-object_id-preferences
      path: /v1/objects/{collection}/{object_id}/preferences
      operations:
      - name: listobjectpreferencesets
        method: GET
        description: List preference sets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: object_id
          in: path
          type: string
          description: Unique identifier for the object.
          required: true
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
    - name: v1-objects-collection-object_id-preferences-id
      path: /v1/objects/{collection}/{object_id}/preferences/{id}
      operations:
      - name: deleteobjectpreferenceset
        method: DELETE
        description: Delete object preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: object_id
          in: path
          type: string
          description: Unique identifier for the object.
          required: true
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: id
          in: path
          type: string
          description: Unique identifier for the preference set.
          required: true
      - name: getobjectpreferenceset
        method: GET
        description: Get object preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: object_id
          in: path
          type: string
          description: Unique identifier for the object.
          required: true
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: id
          in: path
          type: string
          description: Unique identifier for the preference set.
          required: true
      - name: updateobjectpreferenceset
        method: PUT
        description: Update a preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: object_id
          in: path
          type: string
          description: Unique identifier for the object.
          required: true
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: id
          in: path
          type: string
          description: Unique identifier for the preference set.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-objects-collection-object_id-preferences-id-categories
      path: /v1/objects/{collection}/{object_id}/preferences/{id}/categories
      operations:
      - name: updateobjectpreferencecategories
        method: PUT
        description: Update categories in preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-objects-collection-object_id-preferences-id-categories-key
      path: /v1/objects/{collection}/{object_id}/preferences/{id}/categories/{key}
      operations:
      - name: updateobjectpreferencecategory
        method: PUT
        description: Update a category preference
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-objects-collection-object_id-preferences-id-channel_types
      path: /v1/objects/{collection}/{object_id}/preferences/{id}/channel_types
      operations:
      - name: updateobjectpreferencechanneltypes
        method: PUT
        description: Update channel types in preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-objects-collection-object_id-preferences-id-channel_types-type
      path: /v1/objects/{collection}/{object_id}/preferences/{id}/channel_types/{type}
      operations:
      - name: updateobjectpreferencechanneltype
        method: PUT
        description: Update a channel type preference
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-objects-collection-object_id-preferences-id-workflows
      path: /v1/objects/{collection}/{object_id}/preferences/{id}/workflows
      operations:
      - name: updateobjectpreferenceworkflows
        method: PUT
        description: Update workflows in preference set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-objects-collection-object_id-preferences-id-workflows-key
      path: /v1/objects/{collection}/{object_id}/preferences/{id}/workflows/{key}
      operations:
      - name: updateobjectpreferenceworkflow
        method: PUT
        description: Update a workflow preference
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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
          description: The unique identifier of the user.
          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
          description: The unique identifier of the user.
          required: true
        - name: id
          in: path
          type: string
          description: Unique identifier for the preference set.
          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
          description: The unique identifier of the user.
          required: true
        - name: id
          in: path
          type: string
          description: Unique identifier for the preference set.
          required: true
        - name: tenant
          in: query
          type: string
          description: The unique identifier for the tenant.
      - 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
          description: The unique identifier of the user.
          required: true
        - name: id
          in: path
          type: string
          description: Unique identifier for the preference set.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          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: $.
    - 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: $.
    - 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: $.
    - 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: $.
    - 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: $.
    - 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: $.
    authentication:
      type: bearer
      token: '{{env.KNOCK_API_KEY}}'
  exposes:
  - type: rest
    namespace: knock-preferences-rest
    port: 8080
    description: REST adapter for Knock API — Preferences. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/objects/{collection}/{object-id}/preferences
      name: v1-objects-collection-object-id-preferences
      description: REST surface for v1-objects-collection-object_id-preferences.
      operations:
      - method: GET
        name: listobjectpreferencesets
        description: List preference sets
        call: knock-preferences.listobjectpreferencesets
        with:
          object_id: rest.object_id
          collection: rest.collection
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/preferences/{id}
      name: v1-objects-collection-object-id-preferences-id
      description: REST surface for v1-objects-collection-object_id-preferences-id.
      operations:
      - method: DELETE
        name: deleteobjectpreferenceset
        description: Delete object preference set
        call: knock-preferences.deleteobjectpreferenceset
        with:
          object_id: rest.object_id
          collection: rest.collection
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getobjectpreferenceset
        description: Get object preference set
        call: knock-preferences.getobjectpreferenceset
        with:
          object_id: rest.object_id
          collection: rest.collection
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateobjectpreferenceset
        description: Update a preference set
        call: knock-preferences.updateobjectpreferenceset
        with:
          object_id: rest.object_id
          collection: rest.collection
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/preferences/{id}/categories
      name: v1-objects-collection-object-id-preferences-id-categories
      description: REST surface for v1-objects-collection-object_id-preferences-id-categories.
      operations:
      - method: PUT
        name: updateobjectpreferencecategories
        description: Update categories in preference set
        call: knock-preferences.updateobjectpreferencecategories
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/preferences/{id}/categories/{key}
      name: v1-objects-collection-object-id-preferences-id-categories-key
      description: REST surface for v1-objects-collection-object_id-preferences-id-categories-key.
      operations:
      - method: PUT
        name: updateobjectpreferencecategory
        description: Update a category preference
        call: knock-preferences.updateobjectpreferencecategory
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/preferences/{id}/channel-types
      name: v1-objects-collection-object-id-preferences-id-channel-types
      description: REST surface for v1-objects-collection-object_id-preferences-id-channel_types.
      operations:
      - method: PUT
        name: updateobjectpreferencechanneltypes
        description: Update channel types in preference set
        call: knock-preferences.updateobjectpreferencechanneltypes
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/preferences/{id}/channel-types/{type}
      name: v1-objects-collection-object-id-preferences-id-channel-types-type
      description: REST surface for v1-objects-collection-object_id-preferences-id-channel_types-type.
      operations:
      - method: PUT
        name: updateobjectpreferencechanneltype
        description: Update a channel type preference
        call: knock-preferences.updateobjectpreferencechanneltype
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/preferences/{id}/workflows
      name: v1-objects-collection-object-id-preferences-id-workflows
      description: REST surface for v1-objects-collection-object_id-preferences-id-workflows.
      operations:
      - method: PUT
        name: updateobjectpreferenceworkflows
        description: Update workflows in preference set
        call: knock-preferences.updateobjectpreferenceworkflows
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/preferences/{id}/workflows/{key}
      name: v1-objects-collection-object-id-preferences-id-workflows-key
      description: REST surface for v1-objects-collection-object_id-preferences-id-workflows-key.
      operations:
      - method: PUT
        name: updateobjectpreferenceworkflow
        description: Update a workflow preference
        call: knock-preferences.updateobjectpreferenceworkflow
        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: knock-preferences.listuserpreferencesets
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user-id}/preferences/{id}
      name: v1-users-user-id-preferences-id
      description: REST surface for v1-users-user_id-preferences-id.
      operations:
      - method: DELETE
        name: deleteuserpreferenceset
        description: Delete user preference set
        call: knock-preferences.deleteuserpreferenceset
        with:
          user_id: rest.user_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getuserpreferenceset
        description: Get user preference set
        call: knock-preferences.getuserpreferenceset
        with:
          user_id: rest.user_id
          id: rest.id
          tenant: rest.tenant
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateuserpreferenceset
        description: Update user preference set
        call: knock-preferences.updateuserpreferenceset
        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: knock-preferences.updateuserpreferencecategories
        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: knock-preferences.updateuserpreferencecategory
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/users/{user-id}/preferences/{id}/channel-types
      name: v1-users-user-id-preferences-id-channel-types
      description: REST surface for v1-users-user_id-preferences-id-channel_types.
      operations:
      - method: PUT
        name: updateuserpreferencechanneltypes
        description: Update channel types in preference set
        call: knock-preferences.updateuserpreferencechanneltypes
        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: knock-preferences.updateuserpreferencechanneltype
        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: knock-preferences.updateuserpreferenceworkflows
        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
        call: knock-preferences.updateuserpreferenceworkflow
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: knock-preferences-mcp
    port: 9090
    transport: http
    description: MCP adapter for Knock API — Preferences. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-preference-sets
      description: List preference sets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knock-preferences.listobjectpreferencesets
      with:
        object_id: tools.object_id
        collection: tools.collection
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-object-preference-set
      description: Delete object preference set
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: knock-preferences.deleteobjectpreferenceset
      with:
        object_id: tools.object_id
        collection: tools.collection
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-object-preference-set
      description: Get object preference set
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knock-preferences.getobjectpreferenceset
      with:
        object_id: tools.object_id
        collection: tools.collection
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-preference-set
      description: Update a preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateobjectpreferenceset
      with:
        object_id: tools.object_id
        collection: tools.collection
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-categories-preference-set
      description: Update categories in preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateobjectpreferencecategories
      outputParameters:
      - type: object
        mapping: $.
    - name: update-category-preference
      description: Update a category preference
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateobjectpreferencecategory
      outputParameters:
      - type: object
        mapping: $.
    - name: update-channel-types-preference-set
      description: Update channel types in preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateobjectpreferencechanneltypes
      outputParameters:
      - type: object
        mapping: $.
    - name: update-channel-type-preference
      description: Update a channel type preference
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateobjectpreferencechanneltype
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflows-preference-set
      description: Update workflows in preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateobjectpreferenceworkflows
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflow-preference
      description: Update a workflow preference
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateobjectpreferenceworkflow
      outputParameters:
      - type: object
        mapping: $.
    - name: list-user-preference-sets
      description: List user preference sets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knock-preferences.listuserpreferencesets
      with:
        user_id: tools.user_id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-user-preference-set
      description: Delete user preference set
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: knock-preferences.deleteuserpreferenceset
      with:
        user_id: tools.user_id
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-preference-set
      description: Get user preference set
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knock-preferences.getuserpreferenceset
      with:
        user_id: tools.user_id
        id: tools.id
        tenant: tools.tenant
      outputParameters:
      - type: object
        mapping: $.
    - name: update-user-preference-set
      description: Update user preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateuserpreferenceset
      with:
        user_id: tools.user_id
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-categories-user-preference-set
      description: Update categories in user preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateuserpreferencecategories
      outputParameters:
      - type: object
        mapping: $.
    - name: update-category-user-preference-set
      description: Update category in user preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateuserpreferencecategory
      outputParameters:
      - type: object
        mapping: $.
    - name: update-channel-types-preference-set-2
      description: Update channel types in preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateuserpreferencechanneltypes
      outputParameters:
      - type: object
        mapping: $.
    - name: update-channel-type-preference-set
      description: Update channel type in preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateuserpreferencechanneltype
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflows-preference-set-2
      description: Update workflows in preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateuserpreferenceworkflows
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflow-user-preference-set
      description: Update workflow in user preference set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: knock-preferences.updateuserpreferenceworkflow
      outputParameters:
      - type: object
        mapping: $.