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: $.