naftiko: 1.0.0-alpha2 info: label: Hunter Leads API description: 'Hunter Leads API. 6 operations covering full CRUD plus upsert and list. Lead operation: Hunter Create Lead.' tags: - Hunter - Leads - CRM created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: HUNTER_API_KEY: HUNTER_API_KEY capability: consumes: - type: http namespace: leads baseUri: https://api.hunter.io description: Hunter Leads business capability. resources: - name: leads path: /v2/leads operations: - name: listLeads method: GET description: Hunter List Leads outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: leads_list_id in: query type: integer - name: email in: query type: string - name: query in: query type: string - name: limit in: query type: integer - name: offset in: query type: integer - name: createLead method: POST description: Hunter Create Lead outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: true - name: upsertLead method: PUT description: Hunter Upsert Lead outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: true - name: leads-by-id path: /v2/leads/{id} operations: - name: getLead method: GET description: Hunter Get Lead outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: updateLead method: PATCH description: Hunter Update Lead outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: body in: body type: object required: true - name: deleteLead method: DELETE description: Hunter Delete Lead outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true authentication: type: apikey key: api_key value: '{{env.HUNTER_API_KEY}}' placement: query exposes: - type: rest namespace: leads-rest port: 8080 description: REST adapter for Hunter Leads. resources: - path: /v1/leads name: leads description: REST surface for leads collection. operations: - method: GET name: listLeads description: Hunter List Leads call: leads.listLeads with: leads_list_id: rest.query.leads_list_id email: rest.query.email query: rest.query.query limit: rest.query.limit offset: rest.query.offset outputParameters: - type: object mapping: $. - method: POST name: createLead description: Hunter Create Lead call: leads.createLead with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: upsertLead description: Hunter Upsert Lead call: leads.upsertLead with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/leads/{id} name: leads-by-id description: REST surface for individual leads. operations: - method: GET name: getLead description: Hunter Get Lead call: leads.getLead with: id: rest.path.id outputParameters: - type: object mapping: $. - method: PATCH name: updateLead description: Hunter Update Lead call: leads.updateLead with: id: rest.path.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteLead description: Hunter Delete Lead call: leads.deleteLead with: id: rest.path.id outputParameters: - type: object mapping: $. - type: mcp namespace: leads-mcp port: 9090 transport: http description: MCP adapter for Hunter Leads. tools: - name: hunter-list-leads description: Hunter List Leads hints: { readOnly: true, destructive: false, idempotent: true } call: leads.listLeads with: leads_list_id: tools.leads_list_id email: tools.email query: tools.query limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: hunter-create-lead description: Hunter Create Lead hints: { readOnly: false, destructive: false, idempotent: false } call: leads.createLead with: body: tools.body outputParameters: - type: object mapping: $. - name: hunter-upsert-lead description: Hunter Upsert Lead hints: { readOnly: false, destructive: false, idempotent: true } call: leads.upsertLead with: body: tools.body outputParameters: - type: object mapping: $. - name: hunter-get-lead description: Hunter Get Lead hints: { readOnly: true, destructive: false, idempotent: true } call: leads.getLead with: id: tools.id outputParameters: - type: object mapping: $. - name: hunter-update-lead description: Hunter Update Lead hints: { readOnly: false, destructive: false, idempotent: false } call: leads.updateLead with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hunter-delete-lead description: Hunter Delete Lead hints: { readOnly: false, destructive: true, idempotent: true } call: leads.deleteLead with: id: tools.id outputParameters: - type: object mapping: $.