overlay: 1.0.0 info: title: API Evangelist enhancements — _done TCP Port Scanner version: 1.0.0 extends: openapi/done-port-scanner-openapi.yml x-generated: '2026-08-11' x-method: generated x-source: openapi/_original/done-port-scanner-openapi.json x-note: 'Non-destructive. Captures API Evangelist enhancements only: catalog provenance, a canonical resource tag in place of the SEO keyword tag list (keywords preserved under x-keywords), and a service-namespaced canonical operationId. The provider spec is never mutated.' actions: - target: $.info description: Record API Evangelist provenance and the catalog identity of this service. update: x-api-evangelist: provider: _done slug: done catalog: https://apis.io/provider/done/ harvested: '2026-08-11' source: https://port-scanner.underscoredone.com/openapi.json payment_protocol: x402 price_usd: 0.01 - target: $.paths["/scan"].post description: Collapse 15 SEO keyword tags to one canonical resource tag "port scanner". The original keyword list is preserved as x-keywords so nothing is lost. update: tags: - port scanner x-keywords: - port scanner - port scan - open ports - tcp port scanner - scan ports - port - open port check - service detection - network scanner - port check - host port scan - security scan - banner grab - ssh port check - nmap - target: $.paths["/scan"].post description: Namespace the operationId by service — operationIds collide across the 26 _done specs. update: x-canonical-operation-id: port_scanner_scan_scan_post - target: $.tags description: Reduce the 15-entry SEO tag list to one canonical resource tag. update: - name: port scanner description: TCP Port Scanner