Unified.to · Capability

Unified.to API — kms

Unified.to API — kms. 18 operations. Lead operation: List all comments. Self-contained Naftiko capability covering one Unified To business surface.

Run with Naftiko Unified Tokms

What You Can Do

GET
Listkmscomments — List all comments
/v1/kms/{connection-id}/comment
POST
Createkmscomment — Create a comment
/v1/kms/{connection-id}/comment
DELETE
Removekmscomment — Remove a comment
/v1/kms/{connection-id}/comment/{id}
GET
Getkmscomment — Retrieve a comment
/v1/kms/{connection-id}/comment/{id}
PATCH
Patchkmscomment — Update a comment
/v1/kms/{connection-id}/comment/{id}
PUT
Updatekmscomment — Update a comment
/v1/kms/{connection-id}/comment/{id}
GET
Listkmspages — List all pages
/v1/kms/{connection-id}/page
POST
Createkmspage — Create a page
/v1/kms/{connection-id}/page
DELETE
Removekmspage — Remove a page
/v1/kms/{connection-id}/page/{id}
GET
Getkmspage — Retrieve a page
/v1/kms/{connection-id}/page/{id}
PATCH
Patchkmspage — Update a page
/v1/kms/{connection-id}/page/{id}
PUT
Updatekmspage — Update a page
/v1/kms/{connection-id}/page/{id}
GET
Listkmsspaces — List all spaces
/v1/kms/{connection-id}/space
POST
Createkmsspace — Create a space
/v1/kms/{connection-id}/space
DELETE
Removekmsspace — Remove a space
/v1/kms/{connection-id}/space/{id}
GET
Getkmsspace — Retrieve a space
/v1/kms/{connection-id}/space/{id}
PATCH
Patchkmsspace — Update a space
/v1/kms/{connection-id}/space/{id}
PUT
Updatekmsspace — Update a space
/v1/kms/{connection-id}/space/{id}

MCP Tools

list-all-comments

List all comments

read-only idempotent
create-comment

Create a comment

remove-comment

Remove a comment

idempotent
retrieve-comment

Retrieve a comment

read-only idempotent
update-comment

Update a comment

idempotent
update-comment-2

Update a comment

idempotent
list-all-pages

List all pages

read-only idempotent
create-page

Create a page

remove-page

Remove a page

idempotent
retrieve-page

Retrieve a page

read-only idempotent
update-page

Update a page

idempotent
update-page-2

Update a page

idempotent
list-all-spaces

List all spaces

read-only idempotent
create-space

Create a space

remove-space

Remove a space

idempotent
retrieve-space

Retrieve a space

read-only idempotent
update-space

Update a space

idempotent
update-space-2

Update a space

idempotent

Capability Spec

productivity-kms.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Unified.to  API — kms
  description: 'Unified.to  API — kms. 18 operations. Lead operation: List all comments. Self-contained Naftiko capability
    covering one Unified To business surface.'
  tags:
  - Unified To
  - kms
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    UNIFIED_TO_API_KEY: UNIFIED_TO_API_KEY
capability:
  consumes:
  - type: http
    namespace: productivity-kms
    baseUri: https://api.unified.to
    description: Unified.to  API — kms business capability. Self-contained, no shared references.
    resources:
    - name: kms-connection_id-comment
      path: /kms/{connection_id}/comment
      operations:
      - name: listkmscomments
        method: GET
        description: List all comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: number
        - name: offset
          in: query
          type: number
        - name: updated_gte
          in: query
          type: string
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ
            format)
        - name: sort
          in: query
          type: string
        - name: order
          in: query
          type: string
        - name: query
          in: query
          type: string
          description: Query string to search. eg. email address or name
        - name: page_id
          in: query
          type: string
          description: The page ID to filter by (reference to KmsPage)
        - name: type
          in: query
          type: string
          description: The type to filter by
        - name: parent_id
          in: query
          type: string
          description: The parent ID to filter by
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
      - name: createkmscomment
        method: POST
        description: Create a comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: kms-connection_id-comment-id
      path: /kms/{connection_id}/comment/{id}
      operations:
      - name: removekmscomment
        method: DELETE
        description: Remove a comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Comment
          required: true
      - name: getkmscomment
        method: GET
        description: Retrieve a comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Comment
          required: true
      - name: patchkmscomment
        method: PATCH
        description: Update a comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Comment
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updatekmscomment
        method: PUT
        description: Update a comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Comment
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: kms-connection_id-page
      path: /kms/{connection_id}/page
      operations:
      - name: listkmspages
        method: GET
        description: List all pages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: number
        - name: offset
          in: query
          type: number
        - name: updated_gte
          in: query
          type: string
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ
            format)
        - name: sort
          in: query
          type: string
        - name: order
          in: query
          type: string
        - name: query
          in: query
          type: string
          description: Query string to search. eg. email address or name
        - name: space_id
          in: query
          type: string
          description: The space ID to filter by (reference to KmsSpace)
        - name: parent_id
          in: query
          type: string
          description: The parent ID to filter by
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
      - name: createkmspage
        method: POST
        description: Create a page
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: kms-connection_id-page-id
      path: /kms/{connection_id}/page/{id}
      operations:
      - name: removekmspage
        method: DELETE
        description: Remove a page
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Page
          required: true
      - name: getkmspage
        method: GET
        description: Retrieve a page
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Page
          required: true
      - name: patchkmspage
        method: PATCH
        description: Update a page
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Page
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updatekmspage
        method: PUT
        description: Update a page
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Page
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: kms-connection_id-space
      path: /kms/{connection_id}/space
      operations:
      - name: listkmsspaces
        method: GET
        description: List all spaces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: number
        - name: offset
          in: query
          type: number
        - name: updated_gte
          in: query
          type: string
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ
            format)
        - name: sort
          in: query
          type: string
        - name: order
          in: query
          type: string
        - name: query
          in: query
          type: string
          description: Query string to search. eg. email address or name
        - name: parent_id
          in: query
          type: string
          description: The parent ID to filter by
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
      - name: createkmsspace
        method: POST
        description: Create a space
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: kms-connection_id-space-id
      path: /kms/{connection_id}/space/{id}
      operations:
      - name: removekmsspace
        method: DELETE
        description: Remove a space
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Space
          required: true
      - name: getkmsspace
        method: GET
        description: Retrieve a space
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Space
          required: true
      - name: patchkmsspace
        method: PATCH
        description: Update a space
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Space
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updatekmsspace
        method: PUT
        description: Update a space
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: array
          description: Fields to return
        - name: raw
          in: query
          type: string
          description: 'Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters:
            foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar'
        - name: connection_id
          in: path
          type: string
          description: ID of the connection
          required: true
        - name: id
          in: path
          type: string
          description: ID of the Space
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: authorization
      value: '{{env.UNIFIED_TO_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: productivity-kms-rest
    port: 8080
    description: REST adapter for Unified.to  API — kms. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/kms/{connection-id}/comment
      name: kms-connection-id-comment
      description: REST surface for kms-connection_id-comment.
      operations:
      - method: GET
        name: listkmscomments
        description: List all comments
        call: productivity-kms.listkmscomments
        with:
          limit: rest.limit
          offset: rest.offset
          updated_gte: rest.updated_gte
          sort: rest.sort
          order: rest.order
          query: rest.query
          page_id: rest.page_id
          type: rest.type
          parent_id: rest.parent_id
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createkmscomment
        description: Create a comment
        call: productivity-kms.createkmscomment
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/kms/{connection-id}/comment/{id}
      name: kms-connection-id-comment-id
      description: REST surface for kms-connection_id-comment-id.
      operations:
      - method: DELETE
        name: removekmscomment
        description: Remove a comment
        call: productivity-kms.removekmscomment
        with:
          connection_id: rest.connection_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getkmscomment
        description: Retrieve a comment
        call: productivity-kms.getkmscomment
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchkmscomment
        description: Update a comment
        call: productivity-kms.patchkmscomment
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatekmscomment
        description: Update a comment
        call: productivity-kms.updatekmscomment
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/kms/{connection-id}/page
      name: kms-connection-id-page
      description: REST surface for kms-connection_id-page.
      operations:
      - method: GET
        name: listkmspages
        description: List all pages
        call: productivity-kms.listkmspages
        with:
          limit: rest.limit
          offset: rest.offset
          updated_gte: rest.updated_gte
          sort: rest.sort
          order: rest.order
          query: rest.query
          space_id: rest.space_id
          parent_id: rest.parent_id
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createkmspage
        description: Create a page
        call: productivity-kms.createkmspage
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/kms/{connection-id}/page/{id}
      name: kms-connection-id-page-id
      description: REST surface for kms-connection_id-page-id.
      operations:
      - method: DELETE
        name: removekmspage
        description: Remove a page
        call: productivity-kms.removekmspage
        with:
          connection_id: rest.connection_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getkmspage
        description: Retrieve a page
        call: productivity-kms.getkmspage
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchkmspage
        description: Update a page
        call: productivity-kms.patchkmspage
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatekmspage
        description: Update a page
        call: productivity-kms.updatekmspage
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/kms/{connection-id}/space
      name: kms-connection-id-space
      description: REST surface for kms-connection_id-space.
      operations:
      - method: GET
        name: listkmsspaces
        description: List all spaces
        call: productivity-kms.listkmsspaces
        with:
          limit: rest.limit
          offset: rest.offset
          updated_gte: rest.updated_gte
          sort: rest.sort
          order: rest.order
          query: rest.query
          parent_id: rest.parent_id
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createkmsspace
        description: Create a space
        call: productivity-kms.createkmsspace
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/kms/{connection-id}/space/{id}
      name: kms-connection-id-space-id
      description: REST surface for kms-connection_id-space-id.
      operations:
      - method: DELETE
        name: removekmsspace
        description: Remove a space
        call: productivity-kms.removekmsspace
        with:
          connection_id: rest.connection_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getkmsspace
        description: Retrieve a space
        call: productivity-kms.getkmsspace
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchkmsspace
        description: Update a space
        call: productivity-kms.patchkmsspace
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatekmsspace
        description: Update a space
        call: productivity-kms.updatekmsspace
        with:
          fields: rest.fields
          raw: rest.raw
          connection_id: rest.connection_id
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: productivity-kms-mcp
    port: 9090
    transport: http
    description: MCP adapter for Unified.to  API — kms. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-all-comments
      description: List all comments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: productivity-kms.listkmscomments
      with:
        limit: tools.limit
        offset: tools.offset
        updated_gte: tools.updated_gte
        sort: tools.sort
        order: tools.order
        query: tools.query
        page_id: tools.page_id
        type: tools.type
        parent_id: tools.parent_id
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-comment
      description: Create a comment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: productivity-kms.createkmscomment
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-comment
      description: Remove a comment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: productivity-kms.removekmscomment
      with:
        connection_id: tools.connection_id
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-comment
      description: Retrieve a comment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: productivity-kms.getkmscomment
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-comment
      description: Update a comment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: productivity-kms.patchkmscomment
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-comment-2
      description: Update a comment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: productivity-kms.updatekmscomment
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-pages
      description: List all pages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: productivity-kms.listkmspages
      with:
        limit: tools.limit
        offset: tools.offset
        updated_gte: tools.updated_gte
        sort: tools.sort
        order: tools.order
        query: tools.query
        space_id: tools.space_id
        parent_id: tools.parent_id
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-page
      description: Create a page
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: productivity-kms.createkmspage
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-page
      description: Remove a page
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: productivity-kms.removekmspage
      with:
        connection_id: tools.connection_id
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-page
      description: Retrieve a page
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: productivity-kms.getkmspage
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-page
      description: Update a page
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: productivity-kms.patchkmspage
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-page-2
      description: Update a page
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: productivity-kms.updatekmspage
      with:
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-spaces
      description: List all spaces
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: productivity-kms.listkmsspaces
      with:
        limit: tools.limit
        offset: tools.offset
        updated_gte: tools.updated_gte
        sort: tools.sort
        order: tools.order
        query: tools.query
        parent_id: tools.parent_id
        fields: tools.fields
        raw: tools.raw
        connection_id: tools.connection_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-space
      description: Create a space
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: productivity-kms.createkmsspace
      with:
        fields: tools.fields
        raw: tools.raw
        conn

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unified-to/refs/heads/main/capabilities/productivity-kms.yaml