naftiko: 1.0.0-alpha2 info: label: API Snap — Images description: 'API Snap — Images. 3 operations. Lead operation: Generate Placeholder Image. Self-contained Naftiko capability covering one Api Snap business surface.' tags: - Api Snap - Images created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: API_SNAP_API_KEY: API_SNAP_API_KEY capability: consumes: - type: http namespace: api-snap-images baseUri: https://api-snap.com description: API Snap — Images business capability. Self-contained, no shared references. resources: - name: api-placeholder path: /api/placeholder operations: - name: generateplaceholderimage method: GET description: Generate Placeholder Image outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: w in: query type: integer description: Image width in pixels (1–2000). - name: h in: query type: integer description: Image height in pixels (1–2000). - name: bg in: query type: string description: Background color as a hex string without the `#` prefix. - name: fg in: query type: string description: Text/foreground color as a hex string without the `#` prefix. - name: text in: query type: string description: Label text to display on the image. Defaults to the dimensions (e.g. `300x200`). - name: api-qr path: /api/qr operations: - name: generateqrcode method: GET description: Generate QR Code outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: data in: query type: string description: The text or URL to encode in the QR code. Also accepted as `url`. required: true - name: size in: query type: integer description: Width/height of the QR code in pixels (max 1000). - name: format in: query type: string description: Output format. - name: dark in: query type: string description: Hex color for dark (foreground) modules. - name: light in: query type: string description: Hex color for light (background) modules. - name: api-resize path: /api/resize operations: - name: resizeimage method: POST description: Resize and Convert Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.API_SNAP_API_KEY}}' exposes: - type: rest namespace: api-snap-images-rest port: 8080 description: REST adapter for API Snap — Images. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/placeholder name: api-placeholder description: REST surface for api-placeholder. operations: - method: GET name: generateplaceholderimage description: Generate Placeholder Image call: api-snap-images.generateplaceholderimage with: w: rest.w h: rest.h bg: rest.bg fg: rest.fg text: rest.text outputParameters: - type: object mapping: $. - path: /v1/api/qr name: api-qr description: REST surface for api-qr. operations: - method: GET name: generateqrcode description: Generate QR Code call: api-snap-images.generateqrcode with: data: rest.data size: rest.size format: rest.format dark: rest.dark light: rest.light outputParameters: - type: object mapping: $. - path: /v1/api/resize name: api-resize description: REST surface for api-resize. operations: - method: POST name: resizeimage description: Resize and Convert Images call: api-snap-images.resizeimage with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: api-snap-images-mcp port: 9090 transport: http description: MCP adapter for API Snap — Images. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: generate-placeholder-image description: Generate Placeholder Image hints: readOnly: true destructive: false idempotent: true call: api-snap-images.generateplaceholderimage with: w: tools.w h: tools.h bg: tools.bg fg: tools.fg text: tools.text outputParameters: - type: object mapping: $. - name: generate-qr-code description: Generate QR Code hints: readOnly: true destructive: false idempotent: true call: api-snap-images.generateqrcode with: data: tools.data size: tools.size format: tools.format dark: tools.dark light: tools.light outputParameters: - type: object mapping: $. - name: resize-and-convert-images description: Resize and Convert Images hints: readOnly: false destructive: false idempotent: false call: api-snap-images.resizeimage with: body: tools.body outputParameters: - type: object mapping: $.