naftiko: 1.0.0-alpha2 info: label: Netlify Netlify's API documentation — Asset description: 'Netlify Netlify''s API documentation — Asset. 5 operations. Lead operation: Asset. Self-contained Naftiko capability covering one Netlify business surface.' tags: - Netlify - Asset created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NETLIFY_API_KEY: NETLIFY_API_KEY capability: consumes: - type: http namespace: netlify-asset baseUri: https://api.netlify.com/api/v1 description: Netlify Netlify's API documentation — Asset business capability. Self-contained, no shared references. resources: - name: sites-site_id-assets path: /sites/{site_id}/assets operations: - name: listsiteassets method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string required: true - name: createsiteasset method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string required: true - name: name in: query type: string required: true - name: size in: query type: integer required: true - name: content_type in: query type: string required: true - name: visibility in: query type: string - name: sites-site_id-assets-asset_id path: /sites/{site_id}/assets/{asset_id} operations: - name: getsiteassetinfo method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string required: true - name: asset_id in: path type: string required: true - name: updatesiteasset method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string required: true - name: asset_id in: path type: string required: true - name: state in: query type: string required: true - name: deletesiteasset method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string required: true - name: asset_id in: path type: string required: true authentication: type: bearer token: '{{env.NETLIFY_API_KEY}}' exposes: - type: rest namespace: netlify-asset-rest port: 8080 description: REST adapter for Netlify Netlify's API documentation — Asset. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/sites/{site-id}/assets name: sites-site-id-assets description: REST surface for sites-site_id-assets. operations: - method: GET name: listsiteassets description: listsiteassets call: netlify-asset.listsiteassets with: site_id: rest.site_id outputParameters: - type: object mapping: $. - method: POST name: createsiteasset description: createsiteasset call: netlify-asset.createsiteasset with: site_id: rest.site_id name: rest.name size: rest.size content_type: rest.content_type visibility: rest.visibility outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/assets/{asset-id} name: sites-site-id-assets-asset-id description: REST surface for sites-site_id-assets-asset_id. operations: - method: GET name: getsiteassetinfo description: getsiteassetinfo call: netlify-asset.getsiteassetinfo with: site_id: rest.site_id asset_id: rest.asset_id outputParameters: - type: object mapping: $. - method: PUT name: updatesiteasset description: updatesiteasset call: netlify-asset.updatesiteasset with: site_id: rest.site_id asset_id: rest.asset_id state: rest.state outputParameters: - type: object mapping: $. - method: DELETE name: deletesiteasset description: deletesiteasset call: netlify-asset.deletesiteasset with: site_id: rest.site_id asset_id: rest.asset_id outputParameters: - type: object mapping: $. - type: mcp namespace: netlify-asset-mcp port: 9090 transport: http description: MCP adapter for Netlify Netlify's API documentation — Asset. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: listsiteassets description: listsiteassets hints: readOnly: true destructive: false idempotent: true call: netlify-asset.listsiteassets with: site_id: tools.site_id outputParameters: - type: object mapping: $. - name: createsiteasset description: createsiteasset hints: readOnly: false destructive: false idempotent: false call: netlify-asset.createsiteasset with: site_id: tools.site_id name: tools.name size: tools.size content_type: tools.content_type visibility: tools.visibility outputParameters: - type: object mapping: $. - name: getsiteassetinfo description: getsiteassetinfo hints: readOnly: true destructive: false idempotent: true call: netlify-asset.getsiteassetinfo with: site_id: tools.site_id asset_id: tools.asset_id outputParameters: - type: object mapping: $. - name: updatesiteasset description: updatesiteasset hints: readOnly: false destructive: false idempotent: true call: netlify-asset.updatesiteasset with: site_id: tools.site_id asset_id: tools.asset_id state: tools.state outputParameters: - type: object mapping: $. - name: deletesiteasset description: deletesiteasset hints: readOnly: false destructive: true idempotent: true call: netlify-asset.deletesiteasset with: site_id: tools.site_id asset_id: tools.asset_id outputParameters: - type: object mapping: $.