generated: '2026-07-15' method: generated source: openapi/shodan-cvedb-openapi.yml, openapi/shodan-internetdb-openapi.yml, openapi/shodan-rest-openapi.yml, openapi/shodan-stream-openapi.yml, openapi/shodan-trends-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 51 by_action_class: connected: 39 acting: 12 by_consequence: read: 39 write: 11 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /cve/{cveId} method: get operationId: getCve x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cves method: get operationId: searchCves x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /cpes method: get operationId: searchCpes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{ip} method: get operationId: getInternetDbHost x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/host/{ip} method: get operationId: getHost x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/host/count method: get operationId: getHostCount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/host/search method: get operationId: searchHosts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/host/search/facets method: get operationId: listSearchFacets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/host/search/filters method: get operationId: listSearchFilters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/host/search/tokens method: get operationId: tokenizeSearchQuery x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/ports method: get operationId: listPorts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/protocols method: get operationId: listProtocols x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/scan method: post operationId: createScan x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/scan/internet method: post operationId: createInternetScan x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/scans method: get operationId: listScans x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/scan/{id} method: get operationId: getScan x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/alert method: post operationId: createAlert x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/alert/info method: get operationId: listAlerts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/alert/{id}/info method: get operationId: getAlert x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/alert/{id} method: post operationId: updateAlert x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/alert/{id} method: delete operationId: deleteAlert x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/alert/triggers method: get operationId: listAlertTriggers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/alert/{id}/trigger/{trigger} method: put operationId: enableAlertTrigger x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/alert/{id}/trigger/{trigger} method: delete operationId: disableAlertTrigger x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /notifier method: get operationId: listNotifiers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notifier method: post operationId: createNotifier x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /notifier/provider method: get operationId: listNotifierProviders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notifier/{id} method: get operationId: getNotifier x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /notifier/{id} method: put operationId: updateNotifier x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /notifier/{id} method: delete operationId: deleteNotifier x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/query method: get operationId: listSavedQueries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/query/search method: get operationId: searchSavedQueries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/query/tags method: get operationId: listSavedQueryTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/data method: get operationId: listBulkDatasets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/data/{dataset} method: get operationId: listBulkDatasetFiles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dns/domain/{domain} method: get operationId: getDomainDns x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dns/resolve method: get operationId: resolveHostnames x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dns/reverse method: get operationId: reverseDnsLookup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tools/httpheaders method: get operationId: getHttpHeaders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tools/myip method: get operationId: getMyIp x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /account/profile method: get operationId: getAccountProfile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api-info method: get operationId: getApiInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /org method: get operationId: getOrganization x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /org/member/{user} method: put operationId: addOrganizationMember x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /org/member/{user} method: delete operationId: removeOrganizationMember x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /shodan/banners method: get operationId: streamBanners x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/asn/{asn} method: get operationId: streamBannersByAsn x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/countries/{countries} method: get operationId: streamBannersByCountry x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/ports/{ports} method: get operationId: streamBannersByPort x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shodan/vulns/{vulns} method: get operationId: streamBannersByVuln x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/search method: get operationId: searchTrends x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none