naftiko: 1.0.0-alpha2 info: label: Sketchfab Data API — Models description: 'Sketchfab Data API — Models. 5 operations covering 3D-model CRUD and like. Lead operation: Upload A Model. Self-contained Naftiko capability covering one Sketchfab business surface.' tags: - Sketchfab - Models - 3D created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: SKETCHFAB_API_TOKEN: SKETCHFAB_API_TOKEN capability: consumes: - type: http namespace: data-models baseUri: https://api.sketchfab.com description: Sketchfab Models business capability. Self-contained, no shared references. resources: - name: v3-models path: /v3/models operations: - name: searchmodels method: GET description: Search 3D Models outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Full-text query. - name: tags in: query type: string - name: categories in: query type: string - name: downloadable in: query type: boolean - name: license in: query type: string - name: sort_by in: query type: string - name: cursor in: query type: string - name: uploadmodel method: POST description: Upload A Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: multipart/form-data body containing modelFile and metadata fields. required: true - name: v3-models-uid path: /v3/models/{uid} operations: - name: getmodel method: GET description: Retrieve A Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string required: true - name: updatemodel method: PATCH description: Update A Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string required: true - name: body in: body type: object required: true - name: deletemodel method: DELETE description: Delete A Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string required: true authentication: type: apikey key: Authorization value: 'Token {{env.SKETCHFAB_API_TOKEN}}' placement: header exposes: - type: rest namespace: data-models-rest port: 8080 description: REST adapter for Sketchfab Data API — Models. resources: - path: /v3/v3/models name: v3-models description: REST surface for v3-models. operations: - method: GET name: searchmodels description: Search 3D Models call: data-models.searchmodels with: q: rest.q tags: rest.tags categories: rest.categories downloadable: rest.downloadable license: rest.license sort_by: rest.sort_by cursor: rest.cursor outputParameters: - type: object mapping: $. - method: POST name: uploadmodel description: Upload A Model call: data-models.uploadmodel with: body: rest.body outputParameters: - type: object mapping: $. - path: /v3/v3/models/{uid} name: v3-models-uid description: REST surface for a single model. operations: - method: GET name: getmodel description: Retrieve A Model call: data-models.getmodel with: uid: rest.uid outputParameters: - type: object mapping: $. - method: PATCH name: updatemodel description: Update A Model call: data-models.updatemodel with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletemodel description: Delete A Model call: data-models.deletemodel with: uid: rest.uid outputParameters: - type: object mapping: $. - type: mcp namespace: data-models-mcp port: 9090 transport: http description: MCP adapter for Sketchfab Data API — Models. One tool per consumed operation. tools: - name: sketchfab-search-models description: Search 3D Models hints: readOnly: true destructive: false idempotent: true call: data-models.searchmodels with: q: tools.q tags: tools.tags categories: tools.categories downloadable: tools.downloadable license: tools.license sort_by: tools.sort_by cursor: tools.cursor outputParameters: - type: object mapping: $. - name: sketchfab-upload-model description: Upload A Model hints: readOnly: false destructive: false idempotent: false call: data-models.uploadmodel with: body: tools.body outputParameters: - type: object mapping: $. - name: sketchfab-get-model description: Retrieve A Model hints: readOnly: true destructive: false idempotent: true call: data-models.getmodel with: uid: tools.uid outputParameters: - type: object mapping: $. - name: sketchfab-update-model description: Update A Model hints: readOnly: false destructive: false idempotent: false call: data-models.updatemodel with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: sketchfab-delete-model description: Delete A Model hints: readOnly: false destructive: true idempotent: true call: data-models.deletemodel with: uid: tools.uid outputParameters: - type: object mapping: $.