Webflow · Capability

Webflow Data API — Sites

Webflow Data API — Sites. 51 operations. Lead operation: Webflow Get Collection Details. Self-contained Naftiko capability covering one Webflow business surface.

Run with Naftiko WebflowSites

What You Can Do

GET
Collectiondetails — Webflow Get Collection Details
/v1/collections/{collection-id}
DELETE
Deletecollection — Webflow Delete Collection
/v1/collections/{collection-id}
POST
Createfield — Webflow Create Collection Field
/v1/collections/{collection-id}/fields
PATCH
Updatefield — Webflow Update Collection Field
/v1/collections/{collection-id}/fields/{field-id}
DELETE
Deletefield — Webflow Delete Collection Field
/v1/collections/{collection-id}/fields/{field-id}
GET
Listcollectionitems — Webflow List Collection Items
/v1/collections/{collection-id}/items
POST
Createitem — Webflow Create Collection Item(s)
/v1/collections/{collection-id}/items
PATCH
Updateitems — Webflow Update Collection Items
/v1/collections/{collection-id}/items
DELETE
Deleteitems — Webflow Delete Collection Items
/v1/collections/{collection-id}/items
POST
Createitems — Webflow Create Collection Items
/v1/collections/{collection-id}/items/bulk
GET
Listcollectionitemslive — Webflow List Live Collection Items
/v1/collections/{collection-id}/items/live
POST
Createitemlive — Webflow Create Live Collection Item(s)
/v1/collections/{collection-id}/items/live
PATCH
Updateitemslive — Webflow Update Live Collection Items
/v1/collections/{collection-id}/items/live
DELETE
Deleteitemslive — Webflow Unpublish Live Collection Items
/v1/collections/{collection-id}/items/live
POST
Publishitem — Webflow Publish Collection Item
/v1/collections/{collection-id}/items/publish
GET
Getitem — Webflow Get Collection Item
/v1/collections/{collection-id}/items/{item-id}
PATCH
Updateitem — Webflow Update Collection Item
/v1/collections/{collection-id}/items/{item-id}
DELETE
Deleteitem — Webflow Delete Collection Item
/v1/collections/{collection-id}/items/{item-id}
GET
Getitemlive — Webflow Get Live Collection Item
/v1/collections/{collection-id}/items/{item-id}/live
PATCH
Updateitemlive — Webflow Update Live Collection Item
/v1/collections/{collection-id}/items/{item-id}/live
DELETE
Deleteitemlive — Webflow Unpublish Live Collection Item
/v1/collections/{collection-id}/items/{item-id}/live
GET
Getpagecustomcode — Webflow Get Custom Code
/v1/pages/{page-id}/custom-code
DELETE
Deletepagecustomcode — Webflow Delete Custom Code
/v1/pages/{page-id}/custom-code
PUT
Addcustomcodetopage — Webflow Add/Update Custom Code
/v1/pages/{page-id}/custom-code
GET
Listsites — Webflow List Sites
/v1/sites
GET
Getsite — Webflow Get Site
/v1/sites/{site-id}
PATCH
Updatesite — Webflow Update Site
/v1/sites/{site-id}
DELETE
Deletesite — Webflow Delete Site
/v1/sites/{site-id}
GET
Getsiteactivitylogs — Webflow Get Site Activity Logs
/v1/sites/{site-id}/activity-logs
GET
Listcollections — Webflow List Collections
/v1/sites/{site-id}/collections
POST
Createcollection — Webflow Create Collection
/v1/sites/{site-id}/collections
GET
Listcommentthreads — Webflow List Comment Threads
/v1/sites/{site-id}/comments
GET
Getcommentthread — Webflow Get Comment Thread
/v1/sites/{site-id}/comments/{comment-thread-id}
GET
Listcommentreplies — Webflow List Comment Replies
/v1/sites/{site-id}/comments/{comment-thread-id}/replies
GET
Getsitecustomcode — Webflow Get Custom Code
/v1/sites/{site-id}/custom-code
DELETE
Deletesitecustomcode — Webflow Delete Custom Code
/v1/sites/{site-id}/custom-code
PUT
Addcustomcodetosite — Webflow Add/Update Custom Code
/v1/sites/{site-id}/custom-code
GET
Getcustomdomains — Webflow Get Custom Domains
/v1/sites/{site-id}/custom-domains
GET
Getsiteplan — Webflow Get Site Plan
/v1/sites/{site-id}/plan
POST
Sitepublish — Webflow Publish Site
/v1/sites/{site-id}/publish
GET
Getredirects — Webflow Get 301 redirects
/v1/sites/{site-id}/redirects
POST
Createredirect — Webflow Create a 301 redirect
/v1/sites/{site-id}/redirects
PATCH
Updateredirect — Webflow Update 301 redirect
/v1/sites/{site-id}/redirects/{redirect-id}
DELETE
Deleteredirects — Webflow Delete 301 redirects
/v1/sites/{site-id}/redirects/{redirect-id}
GET
Getrobotstxt — Webflow Get robots.txt
/v1/sites/{site-id}/robots-txt
PUT
Replacerobotstxt — Webflow Replace robots.txt
/v1/sites/{site-id}/robots-txt
PATCH
Updaterobotstxt — Webflow Update robots.txt
/v1/sites/{site-id}/robots-txt
DELETE
Deleterobotstxt — Webflow Delete robots.txt
/v1/sites/{site-id}/robots-txt
PUT
Setwellknown — Webflow Set a well-known file
/v1/sites/{site-id}/well-known
DELETE
Deletewellknown — Webflow Delete a well-known file
/v1/sites/{site-id}/well-known
POST
Createsite — Webflow Create Site
/v1/workspaces/{workspace-id}/sites

MCP Tools

webflow-get-collection-details

Webflow Get Collection Details

read-only idempotent
webflow-delete-collection

Webflow Delete Collection

idempotent
webflow-create-collection-field

Webflow Create Collection Field

webflow-update-collection-field

Webflow Update Collection Field

idempotent
webflow-delete-collection-field

Webflow Delete Collection Field

idempotent
webflow-list-collection-items

Webflow List Collection Items

read-only idempotent
webflow-create-collection-item-s

Webflow Create Collection Item(s)

webflow-update-collection-items

Webflow Update Collection Items

idempotent
webflow-delete-collection-items

Webflow Delete Collection Items

idempotent
webflow-create-collection-items

Webflow Create Collection Items

webflow-list-live-collection-items

Webflow List Live Collection Items

read-only idempotent
webflow-create-live-collection-item-s

Webflow Create Live Collection Item(s)

webflow-update-live-collection-items

Webflow Update Live Collection Items

idempotent
webflow-unpublish-live-collection-items

Webflow Unpublish Live Collection Items

idempotent
webflow-publish-collection-item

Webflow Publish Collection Item

webflow-get-collection-item

Webflow Get Collection Item

read-only idempotent
webflow-update-collection-item

Webflow Update Collection Item

idempotent
webflow-delete-collection-item

Webflow Delete Collection Item

idempotent
webflow-get-live-collection-item

Webflow Get Live Collection Item

read-only idempotent
webflow-update-live-collection-item

Webflow Update Live Collection Item

idempotent
webflow-unpublish-live-collection-item

Webflow Unpublish Live Collection Item

idempotent
webflow-get-custom-code

Webflow Get Custom Code

read-only idempotent
webflow-delete-custom-code

Webflow Delete Custom Code

idempotent
webflow-add-update-custom-code

Webflow Add/Update Custom Code

idempotent
webflow-list-sites

Webflow List Sites

read-only idempotent
webflow-get-site

Webflow Get Site

read-only idempotent
webflow-update-site

Webflow Update Site

idempotent
webflow-delete-site

Webflow Delete Site

idempotent
webflow-get-site-activity-logs

Webflow Get Site Activity Logs

read-only idempotent
webflow-list-collections

Webflow List Collections

read-only idempotent
webflow-create-collection

Webflow Create Collection

webflow-list-comment-threads

Webflow List Comment Threads

read-only idempotent
webflow-get-comment-thread

Webflow Get Comment Thread

read-only idempotent
webflow-list-comment-replies

Webflow List Comment Replies

read-only idempotent
webflow-get-custom-code-2

Webflow Get Custom Code

read-only idempotent
webflow-delete-custom-code-2

Webflow Delete Custom Code

idempotent
webflow-add-update-custom-code-2

Webflow Add/Update Custom Code

idempotent
webflow-get-custom-domains

Webflow Get Custom Domains

read-only idempotent
webflow-get-site-plan

Webflow Get Site Plan

read-only idempotent
webflow-publish-site

Webflow Publish Site

webflow-get-301-redirects

Webflow Get 301 redirects

read-only idempotent
webflow-create-301-redirect

Webflow Create a 301 redirect

webflow-update-301-redirect

Webflow Update 301 redirect

idempotent
webflow-delete-301-redirects

Webflow Delete 301 redirects

idempotent
webflow-get-robots-txt

Webflow Get robots.txt

read-only idempotent
webflow-replace-robots-txt

Webflow Replace robots.txt

idempotent
webflow-update-robots-txt

Webflow Update robots.txt

idempotent
webflow-delete-robots-txt

Webflow Delete robots.txt

idempotent
webflow-set-well-known-file

Webflow Set a well-known file

idempotent
webflow-delete-well-known-file

Webflow Delete a well-known file

idempotent
webflow-create-site

Webflow Create Site

Capability Spec

data-sites.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webflow Data API — Sites
  description: 'Webflow Data API — Sites. 51 operations. Lead operation: Webflow Get Collection Details. Self-contained Naftiko
    capability covering one Webflow business surface.'
  tags:
  - Webflow
  - Sites
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBFLOW_API_KEY: WEBFLOW_API_KEY
capability:
  consumes:
  - type: http
    namespace: data-sites
    baseUri: https://api.webflow.com/v2
    description: Webflow Data API — Sites business capability. Self-contained, no shared references.
    resources:
    - name: collections-collection_id
      path: /collections/{collection_id}
      operations:
      - name: collectiondetails
        method: GET
        description: Webflow Get Collection Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
      - name: deletecollection
        method: DELETE
        description: Webflow Delete Collection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
    - name: collections-collection_id-fields
      path: /collections/{collection_id}/fields
      operations:
      - name: createfield
        method: POST
        description: Webflow Create Collection Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: collections-collection_id-fields-field_id
      path: /collections/{collection_id}/fields/{field_id}
      operations:
      - name: updatefield
        method: PATCH
        description: Webflow Update Collection Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: field_id
          in: path
          type: string
          description: Unique identifier for a Field in a collection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletefield
        method: DELETE
        description: Webflow Delete Collection Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: field_id
          in: path
          type: string
          description: Unique identifier for a Field in a collection
          required: true
    - name: collections-collection_id-items
      path: /collections/{collection_id}/items
      operations:
      - name: listcollectionitems
        method: GET
        description: Webflow List Collection Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: cmsLocaleId
          in: query
          type: string
          description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed
            as `cmsLocaleId` in the Sites response. To query multipl
        - name: offset
          in: query
          type: integer
          description: Offset used for pagination if the results have more than limit records
        - name: limit
          in: query
          type: integer
          description: 'Maximum number of records to be returned (max limit: 100)'
        - name: name
          in: query
          type: string
          description: Filter by the exact name of the item(s)
        - name: slug
          in: query
          type: string
          description: Filter by the exact slug of the item
        - name: lastPublished
          in: query
          type: object
          description: Filter by the last published date of the item(s)
        - name: sortBy
          in: query
          type: string
          description: Sort results by the provided value
        - name: sortOrder
          in: query
          type: string
          description: Sorts the results by asc or desc
      - name: createitem
        method: POST
        description: Webflow Create Collection Item(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: skipInvalidFiles
          in: query
          type: boolean
          description: When true, invalid files are skipped and processing continues. When false, the entire request fails
            if any file is invalid.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: updateitems
        method: PATCH
        description: Webflow Update Collection Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: skipInvalidFiles
          in: query
          type: boolean
          description: When true, invalid files are skipped and processing continues. When false, the entire request fails
            if any file is invalid.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteitems
        method: DELETE
        description: Webflow Delete Collection Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: collections-collection_id-items-bulk
      path: /collections/{collection_id}/items/bulk
      operations:
      - name: createitems
        method: POST
        description: Webflow Create Collection Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: skipInvalidFiles
          in: query
          type: boolean
          description: When true, invalid files are skipped and processing continues. When false, the entire request fails
            if any file is invalid.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: collections-collection_id-items-live
      path: /collections/{collection_id}/items/live
      operations:
      - name: listcollectionitemslive
        method: GET
        description: Webflow List Live Collection Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: cmsLocaleId
          in: query
          type: string
          description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed
            as `cmsLocaleId` in the Sites response. To query multipl
        - name: offset
          in: query
          type: integer
          description: Offset used for pagination if the results have more than limit records
        - name: limit
          in: query
          type: integer
          description: 'Maximum number of records to be returned (max limit: 100)'
        - name: name
          in: query
          type: string
          description: Filter by the exact name of the item(s)
        - name: slug
          in: query
          type: string
          description: Filter by the exact slug of the item
        - name: lastPublished
          in: query
          type: object
          description: Filter by the last published date of the item(s)
        - name: sortBy
          in: query
          type: string
          description: Sort results by the provided value
        - name: sortOrder
          in: query
          type: string
          description: Sorts the results by asc or desc
      - name: createitemlive
        method: POST
        description: Webflow Create Live Collection Item(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: skipInvalidFiles
          in: query
          type: boolean
          description: When true, invalid files are skipped and processing continues. When false, the entire request fails
            if any file is invalid.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: updateitemslive
        method: PATCH
        description: Webflow Update Live Collection Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: skipInvalidFiles
          in: query
          type: boolean
          description: When true, invalid files are skipped and processing continues. When false, the entire request fails
            if any file is invalid.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteitemslive
        method: DELETE
        description: Webflow Unpublish Live Collection Items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: collections-collection_id-items-publish
      path: /collections/{collection_id}/items/publish
      operations:
      - name: publishitem
        method: POST
        description: Webflow Publish Collection Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: collections-collection_id-items-item_id
      path: /collections/{collection_id}/items/{item_id}
      operations:
      - name: getitem
        method: GET
        description: Webflow Get Collection Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: item_id
          in: path
          type: string
          description: Unique identifier for an Item
          required: true
        - name: cmsLocaleId
          in: query
          type: string
          description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed
            as `cmsLocaleId` in the Sites response. To query multipl
      - name: updateitem
        method: PATCH
        description: Webflow Update Collection Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: item_id
          in: path
          type: string
          description: Unique identifier for an Item
          required: true
        - name: skipInvalidFiles
          in: query
          type: boolean
          description: When true, invalid files are skipped and processing continues. When false, the entire request fails
            if any file is invalid.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteitem
        method: DELETE
        description: Webflow Delete Collection Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: item_id
          in: path
          type: string
          description: Unique identifier for an Item
          required: true
        - name: cmsLocaleId
          in: query
          type: string
          description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed
            as `cmsLocaleId` in the Sites response. To query multipl
    - name: collections-collection_id-items-item_id-live
      path: /collections/{collection_id}/items/{item_id}/live
      operations:
      - name: getitemlive
        method: GET
        description: Webflow Get Live Collection Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: item_id
          in: path
          type: string
          description: Unique identifier for an Item
          required: true
        - name: cmsLocaleId
          in: query
          type: string
          description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed
            as `cmsLocaleId` in the Sites response. To query multipl
      - name: updateitemlive
        method: PATCH
        description: Webflow Update Live Collection Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: item_id
          in: path
          type: string
          description: Unique identifier for an Item
          required: true
        - name: skipInvalidFiles
          in: query
          type: boolean
          description: When true, invalid files are skipped and processing continues. When false, the entire request fails
            if any file is invalid.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteitemlive
        method: DELETE
        description: Webflow Unpublish Live Collection Item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection_id
          in: path
          type: string
          description: Unique identifier for a Collection
          required: true
        - name: item_id
          in: path
          type: string
          description: Unique identifier for an Item
          required: true
        - name: cmsLocaleId
          in: query
          type: string
          description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed
            as `cmsLocaleId` in the Sites response. To query multipl
    - name: pages-page_id-custom_code
      path: /pages/{page_id}/custom_code
      operations:
      - name: getpagecustomcode
        method: GET
        description: Webflow Get Custom Code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page_id
          in: path
          type: string
          description: Unique identifier for a Page
          required: true
      - name: deletepagecustomcode
        method: DELETE
        description: Webflow Delete Custom Code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page_id
          in: path
          type: string
          description: Unique identifier for a Page
          required: true
      - name: addcustomcodetopage
        method: PUT
        description: Webflow Add/Update Custom Code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page_id
          in: path
          type: string
          description: Unique identifier for a Page
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: sites
      path: /sites
      operations:
      - name: listsites
        method: GET
        description: Webflow List Sites
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sites-site_id
      path: /sites/{site_id}
      operations:
      - name: getsite
        method: GET
        description: Webflow Get Site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
      - name: updatesite
        method: PATCH
        description: Webflow Update Site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletesite
        method: DELETE
        description: Webflow Delete Site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
    - name: sites-site_id-activity_logs
      path: /sites/{site_id}/activity_logs
      operations:
      - name: getsiteactivitylogs
        method: GET
        description: Webflow Get Site Activity Logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: limit
          in: query
          type: integer
          description: 'Maximum number of records to be returned (max limit: 100)'
        - name: offset
          in: query
          type: integer
          description: Offset used for pagination if the results have more than limit records
    - name: sites-site_id-collections
      path: /sites/{site_id}/collections
      operations:
      - name: listcollections
        method: GET
        description: Webflow List Collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
      - name: createcollection
        method: POST
        description: Webflow Create Collection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: sites-site_id-comments
      path: /sites/{site_id}/comments
      operations:
      - name: listcommentthreads
        method: GET
        description: Webflow List Comment Threads
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: localeId
          in: query
          type: string
          description: Unique identifier for a specific Locale.
        - name: offset
          in: query
          type: integer
          description: Offset used for pagination if the results have more than limit records
        - name: limit
          in: query
          type: integer
          description: 'Maximum number of records to be returned (max limit: 100)'
        - name: sortBy
          in: query
          type: string
          description: Sort results by the provided value. Only allowed when sortOrder is provided.
        - name: sortOrder
          in: query
          type: string
          description: Sorts the results by asc or desc
    - name: sites-site_id-comments-comment_thread_id
      path: /sites/{site_id}/comments/{comment_thread_id}
      operations:
      - name: getcommentthread
        method: GET
        description: Webflow Get Comment Thread
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: comment_thread_id
          in: path
          type: string
          description: Unique identifier for a Comment Thread
          required: true
        - name: localeId
          in: query
          type: string
          description: Unique identifier for a specific Locale.
        - name: offset
          in: query
          type: integer
          description: Offset used for pagination if the results have more than limit records
        - name: limit
          in: query
          type: integer
          description: 'Maximum number of records to be returned (max limit: 100)'
        - name: sortBy
          in: query
          type: string
          description: Sort results by the provided value. Only allowed when sortOrder is provided.
        - name: sortOrder
          in: query
          type: string
          description: Sorts the results by asc or desc
    - name: sites-site_id-comments-comment_thread_id-replies
      path: /sites/{site_id}/comments/{comment_thread_id}/replies
      operations:
      - name: listcommentreplies
        method: GET
        description: Webflow List Comment Replies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: comment_thread_id
          in: path
          type: string
          description: Unique identifier for a Comment Thread
          required: true
        - name: localeId
          in: query
          type: string
          description: Unique identifier for a specific Locale.
        - name: offset
          in: query
          type: integer
          description: Offset used for pagination if the results have more than limit records
        - name: limit
          in: query
          type: integer
          description: 'Maximum number of records to be returned (max limit: 100)'
        - name: sortBy
          in: query
          type: string
          description: Sort results by the provided value. Only allowed when sortOrder is provided.
        - name: sortOrder
          in: query
          type: string
          description: Sorts the results by asc or desc
    - name: sites-site_id-custom_code
      path: /sites/{site_id}/custom_code
      operations:
      - name: getsitecustomcode
        method: GET
        description: Webflow Get Custom Code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
      - name: deletesitecustomcode
        method: DELETE
        description: Webflow Delete Custom Code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
      - name: addcustomcodetosite
        method: PUT
        description: Webflow Add/Update Custom Code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: sites-site_id-custom_domains
      path: /sites/{site_id}/custom_domains
      operations:
      - name: getcustomdomains
        method: GET
        description: Webflow Get Custom Domains
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
    - name: sites-site_id-plan
      path: /sites/{site_id}/plan
      operations:
      - name: getsiteplan
        method: GET
        description: Webflow Get Site Plan
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
    - name: sites-site_id-publish
      path: /sites/{site_id}/publish
      operations:
      - name: sitepublish
        method: POST
        description: Webflow Publish Site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: sites-site_id-redirects
      path: /sites/{site_id}/redirects
      operations:
      - name: getredirects
        method: GET
        description: Webflow Get 301 redirects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
      - name: createredirect
        method: POST
        description: Webflow Create a 301 redirect
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: sites-site_id-redirects-redirect_id
      path: /sites/{site_id}/redirects/{redirect_id}
      operations:
      - name: updateredirect
        method: PATCH
        description: Webflow Update 301 redirect
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: redirect_id
          in: path
          type: string
          description: Unique identifier site redirect
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteredirects
        method: DELETE
        description: Webflow Delete 301 redirects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique identifier for a Site
          required: true
        - name: redirect_id
          in: path
          type: string
          description: Unique identifier site redirect
          required: true
    - name: sites-site_id-robots_txt
      path: /sites/{site_id}/robots_txt
      operations:
      - name: getrobotstxt
        method: GET
        description: Webflow Get robots.txt
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: site_id
          in: path
          type: string
          description: Unique ide

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webflow/refs/heads/main/capabilities/data-sites.yaml