naftiko: "1.0.0-alpha2" info: label: "GIPHY API — Analytics" description: >- GIPHY — Analytics. 1 operation. Lead operation: Register a search action (view, click, or share) using the pingback URLs returned with each GIF. Self-contained Naftiko capability covering one GIPHY business surface. tags: - GIPHY - Analytics created: "2026-05-30" modified: "2026-05-30" binds: - namespace: env keys: GIPHY_API_KEY: GIPHY_API_KEY capability: consumes: - type: http namespace: "giphy-analytics" baseUri: "https://api.giphy.com" description: "GIPHY API — Analytics business capability." authentication: type: apikey key: api_key value: "{{env.GIPHY_API_KEY}}" placement: query resources: - name: "search-actions" path: "/v1/gifs/search/actions" operations: - name: "registerSearchAction" method: POST description: "Register a view/click/share action against the GIPHY analytics pipeline." inputParameters: - { name: body, in: body, type: object, required: true, description: "Event payload with action_type, analytics_response_payload, random_id, ts." } outputRawFormat: json outputParameters: - { name: result, type: object, value: "$." } exposes: - type: rest namespace: "giphy-analytics-rest" port: 8080 description: "REST adapter for GIPHY API — Analytics." resources: - path: "/v1/search-actions" name: "search-actions" description: "REST surface for registering search actions." operations: - method: POST name: "registerSearchAction" description: "Register a search action." call: "giphy-analytics.registerSearchAction" with: { body: "rest.body" } outputParameters: - { type: object, mapping: "$." } - type: mcp namespace: "giphy-analytics-mcp" port: 9090 transport: http description: "MCP adapter for GIPHY API — Analytics." tools: - name: "register-search-action" description: "Register an analytics action against a GIF." hints: { readOnly: false, destructive: false, idempotent: false } call: "giphy-analytics.registerSearchAction" with: { body: "tools.body" } outputParameters: - { type: object, mapping: "$." }