naftiko: "1.0.0-alpha2" info: label: "EmailRep API — Reputation" description: >- EmailRep API — Reputation. 1 operation. Lead operation: query reputation, suspicious flag, references count, and detailed intelligence signals for an email address. Self-contained Naftiko capability covering one EmailRep business surface. tags: - EmailRep - Email - Reputation - Threat Intelligence created: "2026-05-30" modified: "2026-05-30" binds: - namespace: env keys: EMAILREP_API_KEY: EMAILREP_API_KEY capability: # ── 1. Consumes — the upstream HTTP API this capability speaks to ───── consumes: - type: http namespace: "emailrep-api-reputation" baseUri: "https://emailrep.io" description: "EmailRep API — Reputation business capability. Self-contained, no shared references." authentication: type: apikey key: Key value: "{{env.EMAILREP_API_KEY}}" placement: header resources: - name: "email" path: "/{email}" operations: - name: "queryEmailReputation" method: GET description: "Query email reputation, suspicious flag, references count, and detailed signals." inputParameters: - name: "email" in: path type: string required: true description: "Email address to query." - name: "summary" in: query type: boolean required: false description: "When true, include a human-readable summary field in the response." outputRawFormat: json outputParameters: - name: result type: object value: "$." # ── 2. REST exposer — required default. One Spectral-compliant resource per consumed op ── exposes: - type: rest namespace: "emailrep-api-reputation-rest" port: 8080 description: "REST adapter for EmailRep API — Reputation. One Spectral-compliant resource per consumed operation, prefixed with /v1." resources: - path: "/v1/email-reputation/{email}" name: "email-reputation" description: "REST surface for email reputation lookups." operations: - method: GET name: "queryEmailReputation" description: "Query email reputation, suspicious flag, references count, and detailed signals." call: "emailrep-api-reputation.queryEmailReputation" with: email: "rest.email" summary: "rest.summary" outputParameters: - type: object mapping: "$." # ── 3. MCP exposer — required default. One verb-noun tool per consumed op ── - type: mcp namespace: "emailrep-api-reputation-mcp" port: 9090 transport: http description: "MCP adapter for EmailRep API — Reputation. One tool per consumed operation, routed inline through this capability's consumes block." tools: - name: "query-email-reputation" description: "Query email reputation, suspicious flag, references count, and detailed signals." hints: readOnly: true destructive: false idempotent: true call: "emailrep-api-reputation.queryEmailReputation" with: email: "tools.email" summary: "tools.summary" outputParameters: - type: object mapping: "$."