Knock · Capability

Knock API — Objects

Knock API — Objects. 27 operations. Lead operation: List objects in a collection. Self-contained Naftiko capability covering one Knock business surface.

Run with Naftiko KnockObjects

What You Can Do

GET
Listobjects — List objects in a collection
/v1/v1/objects/{collection}
POST
Bulkdeleteobjects — Bulk delete objects
/v1/v1/objects/{collection}/bulk/delete
POST
Bulksetobjects — Bulk set objects
/v1/v1/objects/{collection}/bulk/set
POST
Bulkaddsubscriptions — Bulk add subscriptions
/v1/v1/objects/{collection}/bulk/subscriptions/add
POST
Bulkdeletesubscriptions — Bulk delete subscriptions
/v1/v1/objects/{collection}/bulk/subscriptions/delete
DELETE
Deleteobject — Delete an object
/v1/v1/objects/{collection}/{id}
GET
Getobject — Get an object
/v1/v1/objects/{collection}/{id}
PUT
Setobject — Set an object
/v1/v1/objects/{collection}/{id}
GET
Listmessagesforobject — List messages
/v1/v1/objects/{collection}/{id}/messages
GET
Listobjectschedules — List object schedules
/v1/v1/objects/{collection}/{id}/schedules
DELETE
Unsetobjectchanneldata — Unset channel data
/v1/v1/objects/{collection}/{object-id}/channel-data/{channel-id}
GET
Getobjectchanneldata — Get channel data
/v1/v1/objects/{collection}/{object-id}/channel-data/{channel-id}
PUT
Setobjectchanneldata — Set channel data
/v1/v1/objects/{collection}/{object-id}/channel-data/{channel-id}
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}
DELETE
Deletesubscriptionsforobject — Delete subscriptions
/v1/v1/objects/{collection}/{object-id}/subscriptions
GET
Listsubscriptionsforobject — List subscriptions
/v1/v1/objects/{collection}/{object-id}/subscriptions
POST
Addsubscriptionsforobject — Add subscriptions
/v1/v1/objects/{collection}/{object-id}/subscriptions
POST
Bulkcreateschedules — Create schedules in bulk
/v1/v1/schedules/bulk/create

MCP Tools

list-objects-collection

List objects in a collection

read-only idempotent
bulk-delete-objects

Bulk delete objects

bulk-set-objects

Bulk set objects

bulk-add-subscriptions

Bulk add subscriptions

bulk-delete-subscriptions

Bulk delete subscriptions

delete-object

Delete an object

idempotent
get-object

Get an object

read-only idempotent
set-object

Set an object

idempotent
list-messages

List messages

read-only idempotent
list-object-schedules

List object schedules

read-only idempotent
unset-channel-data

Unset channel data

idempotent
get-channel-data

Get channel data

read-only idempotent
set-channel-data

Set channel data

idempotent
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
delete-subscriptions

Delete subscriptions

idempotent
list-subscriptions

List subscriptions

read-only idempotent
add-subscriptions

Add subscriptions

create-schedules-bulk

Create schedules in bulk

Capability Spec

knock-objects.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Knock API — Objects
  description: 'Knock API — Objects. 27 operations. Lead operation: List objects in a collection. Self-contained Naftiko capability
    covering one Knock business surface.'
  tags:
  - Knock
  - Objects
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KNOCK_API_KEY: KNOCK_API_KEY
capability:
  consumes:
  - type: http
    namespace: knock-objects
    baseUri: https://api.knock.app
    description: Knock API — Objects business capability. Self-contained, no shared references.
    resources:
    - name: v1-objects-collection
      path: /v1/objects/{collection}
      operations:
      - name: listobjects
        method: GET
        description: List objects in a collection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: include[]
          in: query
          type: array
          description: Includes preferences of the objects in the response.
    - name: v1-objects-collection-bulk-delete
      path: /v1/objects/{collection}/bulk/delete
      operations:
      - name: bulkdeleteobjects
        method: POST
        description: Bulk delete objects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-objects-collection-bulk-set
      path: /v1/objects/{collection}/bulk/set
      operations:
      - name: bulksetobjects
        method: POST
        description: Bulk set objects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-objects-collection-bulk-subscriptions-add
      path: /v1/objects/{collection}/bulk/subscriptions/add
      operations:
      - name: bulkaddsubscriptions
        method: POST
        description: Bulk add subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-objects-collection-bulk-subscriptions-delete
      path: /v1/objects/{collection}/bulk/subscriptions/delete
      operations:
      - name: bulkdeletesubscriptions
        method: POST
        description: Bulk delete subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection
          in: path
          type: string
          description: The collection this object belongs to.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-objects-collection-id
      path: /v1/objects/{collection}/{id}
      operations:
      - name: deleteobject
        method: DELETE
        description: Delete an object
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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 object.
          required: true
      - name: getobject
        method: GET
        description: Get an object
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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 object.
          required: true
      - name: setobject
        method: PUT
        description: Set an object
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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 object.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-objects-collection-id-messages
      path: /v1/objects/{collection}/{id}/messages
      operations:
      - name: listmessagesforobject
        method: GET
        description: List messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: tenant
          in: query
          type: string
          description: Limits the results to items with the corresponding tenant.
        - name: channel_id
          in: query
          type: string
          description: Limits the results to items with the corresponding channel ID.
        - name: status[]
          in: query
          type: array
          description: Limits the results to messages with the given delivery status.
        - name: engagement_status[]
          in: query
          type: array
          description: Limits the results to messages with the given engagement status.
        - name: message_ids[]
          in: query
          type: array
          description: 'Limits the results to only the message IDs given (max 50). Note: when using this option, the results
            will be subject to any other filters applied to the query.'
        - name: workflow_categories[]
          in: query
          type: array
          description: Limits the results to messages related to any of the provided categories.
        - name: source
          in: query
          type: string
          description: Limits the results to messages triggered by the given workflow key.
        - name: workflow_run_id
          in: query
          type: string
          description: Limits the results to messages associated with the top-level workflow run ID returned by the workflow
            trigger request.
        - name: workflow_recipient_run_id
          in: query
          type: string
          description: Limits the results to messages for a specific recipient's workflow run.
        - name: trigger_data
          in: query
          type: string
          description: Limits the results to only messages that were generated with the given data. See [trigger data filtering](/api-reference/overview/trigger-data-filtering)
            for mo
        - 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: 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 object.
          required: true
    - name: v1-objects-collection-id-schedules
      path: /v1/objects/{collection}/{id}/schedules
      operations:
      - name: listobjectschedules
        method: GET
        description: List object schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of the object to list schedules for.
          required: true
        - name: collection
          in: path
          type: string
          description: The collection of the object to list schedules for.
          required: true
        - name: tenant
          in: query
          type: string
          description: Filter schedules by tenant id.
        - name: workflow
          in: query
          type: string
          description: Filter schedules by workflow id.
        - 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: v1-objects-collection-object_id-channel_data-channel_id
      path: /v1/objects/{collection}/{object_id}/channel_data/{channel_id}
      operations:
      - name: unsetobjectchanneldata
        method: DELETE
        description: Unset channel data
        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: channel_id
          in: path
          type: string
          description: The unique identifier for the channel.
          required: true
      - name: getobjectchanneldata
        method: GET
        description: Get channel data
        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: channel_id
          in: path
          type: string
          description: The unique identifier for the channel.
          required: true
      - name: setobjectchanneldata
        method: PUT
        description: Set channel data
        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: channel_id
          in: path
          type: string
          description: The unique identifier for the channel.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - 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-objects-collection-object_id-subscriptions
      path: /v1/objects/{collection}/{object_id}/subscriptions
      operations:
      - name: deletesubscriptionsforobject
        method: DELETE
        description: Delete subscriptions
        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: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listsubscriptionsforobject
        method: GET
        description: List subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mode
          in: query
          type: string
          description: Mode of the request. `recipient` to list the objects that the provided object is subscribed to, `object`
            to list the recipients that subscribe to the provided o
        - name: include[]
          in: query
          type: array
          description: Additional fields to include in the response.
        - name: recipients[]
          in: query
          type: array
          description: Recipients to filter by (only used if mode is `object`).
        - name: objects[]
          in: query
          type: array
          description: Objects to filter by (only used if mode is `recipient`).
        - 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: 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: addsubscriptionsforobject
        method: POST
        description: Add subscriptions
        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: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-schedules-bulk-create
      path: /v1/schedules/bulk/create
      operations:
      - name: bulkcreateschedules
        method: POST
        description: Create schedules in bulk
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.KNOCK_API_KEY}}'
  exposes:
  - type: rest
    namespace: knock-objects-rest
    port: 8080
    description: REST adapter for Knock API — Objects. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/v1/objects/{collection}
      name: v1-objects-collection
      description: REST surface for v1-objects-collection.
      operations:
      - method: GET
        name: listobjects
        description: List objects in a collection
        call: knock-objects.listobjects
        with:
          after: rest.after
          before: rest.before
          page_size: rest.page_size
          collection: rest.collection
          include[]: rest.include[]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/bulk/delete
      name: v1-objects-collection-bulk-delete
      description: REST surface for v1-objects-collection-bulk-delete.
      operations:
      - method: POST
        name: bulkdeleteobjects
        description: Bulk delete objects
        call: knock-objects.bulkdeleteobjects
        with:
          collection: rest.collection
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/bulk/set
      name: v1-objects-collection-bulk-set
      description: REST surface for v1-objects-collection-bulk-set.
      operations:
      - method: POST
        name: bulksetobjects
        description: Bulk set objects
        call: knock-objects.bulksetobjects
        with:
          collection: rest.collection
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/bulk/subscriptions/add
      name: v1-objects-collection-bulk-subscriptions-add
      description: REST surface for v1-objects-collection-bulk-subscriptions-add.
      operations:
      - method: POST
        name: bulkaddsubscriptions
        description: Bulk add subscriptions
        call: knock-objects.bulkaddsubscriptions
        with:
          collection: rest.collection
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/bulk/subscriptions/delete
      name: v1-objects-collection-bulk-subscriptions-delete
      description: REST surface for v1-objects-collection-bulk-subscriptions-delete.
      operations:
      - method: POST
        name: bulkdeletesubscriptions
        description: Bulk delete subscriptions
        call: knock-objects.bulkdeletesubscriptions
        with:
          collection: rest.collection
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{id}
      name: v1-objects-collection-id
      description: REST surface for v1-objects-collection-id.
      operations:
      - method: DELETE
        name: deleteobject
        description: Delete an object
        call: knock-objects.deleteobject
        with:
          collection: rest.collection
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getobject
        description: Get an object
        call: knock-objects.getobject
        with:
          collection: rest.collection
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setobject
        description: Set an object
        call: knock-objects.setobject
        with:
          collection: rest.collection
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{id}/messages
      name: v1-objects-collection-id-messages
      description: REST surface for v1-objects-collection-id-messages.
      operations:
      - method: GET
        name: listmessagesforobject
        description: List messages
        call: knock-objects.listmessagesforobject
        with:
          after: rest.after
          before: rest.before
          page_size: rest.page_size
          tenant: rest.tenant
          channel_id: rest.channel_id
          status[]: rest.status[]
          engagement_status[]: rest.engagement_status[]
          message_ids[]: rest.message_ids[]
          workflow_categories[]: rest.workflow_categories[]
          source: rest.source
          workflow_run_id: rest.workflow_run_id
          workflow_recipient_run_id: rest.workflow_recipient_run_id
          trigger_data: rest.trigger_data
          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
          collection: rest.collection
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{id}/schedules
      name: v1-objects-collection-id-schedules
      description: REST surface for v1-objects-collection-id-schedules.
      operations:
      - method: GET
        name: listobjectschedules
        description: List object schedules
        call: knock-objects.listobjectschedules
        with:
          id: rest.id
          collection: rest.collection
          tenant: rest.tenant
          workflow: rest.workflow
          after: rest.after
          before: rest.before
          page_size: rest.page_size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/objects/{collection}/{object-id}/channel-data/{channel-id}
      name: v1-objects-collection-object-id-channel-data-channel-id
      description: REST surface for v1-objects-collection-object_id-channel_data-channel_id.
      operations:
      - method: DELETE
        name: unsetobjectchanneldata
        description: Unset channel data
        call: knock-objects.unsetobjectchanneldata
        with:
          object_id: rest.object_id
          collection: rest.collection
          channel_id: rest.channel_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getobjectchanneldata
        description: Get channel data
        call: knock-objects.getobjectchanneldata
        with:
          object_id: rest.object_id
          collection: rest.collection
          channel_id: rest.channel_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setobjectchanneldata
        description: Set channel data
        call: knock-objects.setobjectchanneldata
        with:
          object_id: rest.object_id
          collection: rest.collection
          channel_id: rest.channel_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - 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-objects.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-objects.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-objects.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-objects.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-objects.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-objects.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 c

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