naftiko: 1.0.0-alpha2 info: label: Cloudinary Upload API — Transformation description: 'Cloudinary Upload API — Transformation. 1 operations. Lead operation: Apply explicit actions to an existing asset. Self-contained Naftiko capability covering one Cloudinary business surface.' tags: - Cloudinary - Transformation created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CLOUDINARY_API_KEY: CLOUDINARY_API_KEY capability: consumes: - type: http namespace: cloudinary-transformation baseUri: https://api.cloudinary.com/v1_1/{cloud_name} description: Cloudinary Upload API — Transformation business capability. Self-contained, no shared references. resources: - name: resource_type-explicit path: /{resource_type}/explicit operations: - name: explicitaction method: POST description: Apply explicit actions to an existing asset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resource_type in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: basic username: '{{env.CLOUDINARY_USER}}' password: '{{env.CLOUDINARY_PASS}}' exposes: - type: rest namespace: cloudinary-transformation-rest port: 8080 description: REST adapter for Cloudinary Upload API — Transformation. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/{resource-type}/explicit name: resource-type-explicit description: REST surface for resource_type-explicit. operations: - method: POST name: explicitaction description: Apply explicit actions to an existing asset call: cloudinary-transformation.explicitaction with: resource_type: rest.resource_type body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: cloudinary-transformation-mcp port: 9090 transport: http description: MCP adapter for Cloudinary Upload API — Transformation. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: apply-explicit-actions-existing-asset description: Apply explicit actions to an existing asset hints: readOnly: false destructive: false idempotent: false call: cloudinary-transformation.explicitaction with: resource_type: tools.resource_type body: tools.body outputParameters: - type: object mapping: $.