Webflow Data API — Custom Code

Webflow Data API — Custom Code. 10 operations. Lead operation: Webflow Get Custom Code. Self-contained Naftiko capability covering one Webflow Api And Documentation Webflow business surface.

Run with Naftiko Webflow Api And Documentation WebflowCustom Code

What You Can Do

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
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
Getsitecustomcodeblocks — Webflow List Custom Code Blocks
/v1/sites/{site-id}/custom-code/blocks
GET
Getscripts — Webflow Get Registered Scripts
/v1/sites/{site-id}/registered-scripts
POST
Posthostedscript — Webflow Register Script - Hosted
/v1/sites/{site-id}/registered-scripts/hosted
POST
Postinlinescripts — Webflow Register Script - Inline
/v1/sites/{site-id}/registered-scripts/inline

MCP Tools

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-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-list-custom-code-blocks

Webflow List Custom Code Blocks

read-only idempotent
webflow-get-registered-scripts

Webflow Get Registered Scripts

read-only idempotent
webflow-register-script-hosted

Webflow Register Script - Hosted

webflow-register-script-inline

Webflow Register Script - Inline

Capability Spec

webflow-data-custom-code.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webflow Data API — Custom Code
  description: 'Webflow Data API — Custom Code. 10 operations. Lead operation: Webflow Get Custom Code. Self-contained Naftiko
    capability covering one Webflow Api And Documentation Webflow business surface.'
  tags:
  - Webflow Api And Documentation Webflow
  - Custom Code
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBFLOW_API_AND_DOCUMENTATION_WEBFLOW_API_KEY: WEBFLOW_API_AND_DOCUMENTATION_WEBFLOW_API_KEY
capability:
  consumes:
  - type: http
    namespace: webflow-data-custom-code
    baseUri: https://api.webflow.com/v2
    description: Webflow Data API — Custom Code business capability. Self-contained, no shared references.
    resources:
    - 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-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_code-blocks
      path: /sites/{site_id}/custom_code/blocks
      operations:
      - name: getsitecustomcodeblocks
        method: GET
        description: Webflow List Custom Code Blocks
        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: 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: sites-site_id-registered_scripts
      path: /sites/{site_id}/registered_scripts
      operations:
      - name: getscripts
        method: GET
        description: Webflow Get Registered Scripts
        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-registered_scripts-hosted
      path: /sites/{site_id}/registered_scripts/hosted
      operations:
      - name: posthostedscript
        method: POST
        description: Webflow Register Script - Hosted
        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-registered_scripts-inline
      path: /sites/{site_id}/registered_scripts/inline
      operations:
      - name: postinlinescripts
        method: POST
        description: Webflow Register Script - Inline
        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
    authentication:
      type: bearer
      token: '{{env.WEBFLOW_API_AND_DOCUMENTATION_WEBFLOW_API_KEY}}'
  exposes:
  - type: rest
    namespace: webflow-data-custom-code-rest
    port: 8080
    description: REST adapter for Webflow Data API — Custom Code. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/pages/{page-id}/custom-code
      name: pages-page-id-custom-code
      description: REST surface for pages-page_id-custom_code.
      operations:
      - method: GET
        name: getpagecustomcode
        description: Webflow Get Custom Code
        call: webflow-data-custom-code.getpagecustomcode
        with:
          page_id: rest.page_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletepagecustomcode
        description: Webflow Delete Custom Code
        call: webflow-data-custom-code.deletepagecustomcode
        with:
          page_id: rest.page_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: addcustomcodetopage
        description: Webflow Add/Update Custom Code
        call: webflow-data-custom-code.addcustomcodetopage
        with:
          page_id: rest.page_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/custom-code
      name: sites-site-id-custom-code
      description: REST surface for sites-site_id-custom_code.
      operations:
      - method: GET
        name: getsitecustomcode
        description: Webflow Get Custom Code
        call: webflow-data-custom-code.getsitecustomcode
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesitecustomcode
        description: Webflow Delete Custom Code
        call: webflow-data-custom-code.deletesitecustomcode
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: addcustomcodetosite
        description: Webflow Add/Update Custom Code
        call: webflow-data-custom-code.addcustomcodetosite
        with:
          site_id: rest.site_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/custom-code/blocks
      name: sites-site-id-custom-code-blocks
      description: REST surface for sites-site_id-custom_code-blocks.
      operations:
      - method: GET
        name: getsitecustomcodeblocks
        description: Webflow List Custom Code Blocks
        call: webflow-data-custom-code.getsitecustomcodeblocks
        with:
          site_id: rest.site_id
          offset: rest.offset
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/registered-scripts
      name: sites-site-id-registered-scripts
      description: REST surface for sites-site_id-registered_scripts.
      operations:
      - method: GET
        name: getscripts
        description: Webflow Get Registered Scripts
        call: webflow-data-custom-code.getscripts
        with:
          site_id: rest.site_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/registered-scripts/hosted
      name: sites-site-id-registered-scripts-hosted
      description: REST surface for sites-site_id-registered_scripts-hosted.
      operations:
      - method: POST
        name: posthostedscript
        description: Webflow Register Script - Hosted
        call: webflow-data-custom-code.posthostedscript
        with:
          site_id: rest.site_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sites/{site-id}/registered-scripts/inline
      name: sites-site-id-registered-scripts-inline
      description: REST surface for sites-site_id-registered_scripts-inline.
      operations:
      - method: POST
        name: postinlinescripts
        description: Webflow Register Script - Inline
        call: webflow-data-custom-code.postinlinescripts
        with:
          site_id: rest.site_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: webflow-data-custom-code-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webflow Data API — Custom Code. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: webflow-get-custom-code
      description: Webflow Get Custom Code
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: webflow-data-custom-code.getpagecustomcode
      with:
        page_id: tools.page_id
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-delete-custom-code
      description: Webflow Delete Custom Code
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: webflow-data-custom-code.deletepagecustomcode
      with:
        page_id: tools.page_id
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-add-update-custom-code
      description: Webflow Add/Update Custom Code
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: webflow-data-custom-code.addcustomcodetopage
      with:
        page_id: tools.page_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-get-custom-code-2
      description: Webflow Get Custom Code
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: webflow-data-custom-code.getsitecustomcode
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-delete-custom-code-2
      description: Webflow Delete Custom Code
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: webflow-data-custom-code.deletesitecustomcode
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-add-update-custom-code-2
      description: Webflow Add/Update Custom Code
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: webflow-data-custom-code.addcustomcodetosite
      with:
        site_id: tools.site_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-list-custom-code-blocks
      description: Webflow List Custom Code Blocks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: webflow-data-custom-code.getsitecustomcodeblocks
      with:
        site_id: tools.site_id
        offset: tools.offset
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-get-registered-scripts
      description: Webflow Get Registered Scripts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: webflow-data-custom-code.getscripts
      with:
        site_id: tools.site_id
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-register-script-hosted
      description: Webflow Register Script - Hosted
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: webflow-data-custom-code.posthostedscript
      with:
        site_id: tools.site_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: webflow-register-script-inline
      description: Webflow Register Script - Inline
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: webflow-data-custom-code.postinlinescripts
      with:
        site_id: tools.site_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.