watchTowr · Agentic Access
watchTowr Agentic Access
x-agentic-access
generated
watchTowr exposes 52 API operations that an AI agent could call, of which 12 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 40 read and 12 write.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
CompanySecurityCybersecurityAttack Surface ManagementEASMExposure ManagementThreat IntelligenceVulnerability Management
Operations: 52
Acting: 12
Human-in-the-loop: 0
Method: generated
By consequence
read 40
write 12
Source
Agentic Access
generated: '2026-07-21'
method: generated
source: openapi/watchtowr-platform-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: 52
by_action_class:
connected: 40
acting: 12
by_consequence:
read: 40
write: 12
human_in_the_loop_required: 0
operations:
- path: /api/client/findings/list
method: get
operationId: get_list_findings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/findings/show/{id}
method: get
operationId: get_finding_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/findings/statuses
method: get
operationId: get_available_finding_statuses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/findings/export/{id}
method: get
operationId: export_pdf_for_finding
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/findings/retest/{finding_id}
method: post
operationId: start_specific_finding_retest
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: /api/client/findings/status/{id}
method: post
operationId: update_finding_status
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: /api/client/hunts/list
method: get
operationId: get_client_hunts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/hunts/show/{id}
method: get
operationId: show_the_detail_hunt
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/hunts/show/{id}/assets
method: get
operationId: get_list_asset_by_hunt
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/hunts/show/{id}/findings
method: get
operationId: get_list_finding_by_hunt
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/domain/list
method: get
operationId: get_list_asset_domains
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/domain/show/{id}
method: get
operationId: get_asset_domain_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/domain/update-status/{id}
method: put
operationId: update_asset_domain_status
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: /api/client/assets/subdomain/list
method: get
operationId: get_list_asset_subdomains
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/subdomain/show/{id}
method: get
operationId: get_asset_subdomain_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/subdomain/update-status/{id}
method: put
operationId: update_asset_subdomain_status
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: /api/client/assets/ip/list
method: get
operationId: get_list_asset_ips
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/ip/show/{id}
method: get
operationId: get_asset_ip_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/ip/show/{id}/port/list
method: get
operationId: get_asset_ip_ports
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/ip/show/{ipId}/port/show/{portId}
method: get
operationId: get_asset_ip_port_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/ip/update-status/{id}
method: put
operationId: update_asset_ip_status
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: /api/client/assets/ipRange/list
method: get
operationId: get_list_asset_ipranges
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/ipRange/show/{id}
method: get
operationId: get_asset_iprange_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/ipRange/update-status/{id}
method: put
operationId: update_asset_ip_range_status
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: /api/client/assets/ip/port/list
method: get
operationId: get_list_asset_ports
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/ip/port/show/{id}
method: get
operationId: get_asset_port_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/container/list
method: get
operationId: get_list_asset_container
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/container/show/{id}
method: get
operationId: get_asset_container_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/container/update-status/{id}
method: put
operationId: update_asset_container_status
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: /api/client/assets/cloudStorage/list
method: get
operationId: get_list_asset_cloud_storages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/cloudStorage/show/{id}
method: get
operationId: get_asset_cloud_storage_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/cloudStorage/update-status/{id}
method: put
operationId: update_asset_cloud_storage_status
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: /api/client/assets/mobileApp/list
method: get
operationId: get_list_asset_mobile_apps
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/mobileApp/show/{id}
method: get
operationId: get_asset_mobile_app_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/mobileApp/update-status/{id}
method: put
operationId: update_asset_mobile_app_status
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: /api/client/assets/saasPlatform/list
method: get
operationId: get_list_asset_saas_platforms
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/saasPlatform/show/{id}
method: get
operationId: get_asset_saas_platform_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/saasPlatform/update-status/{id}
method: put
operationId: update_asset_saas_platform_status
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: /api/client/assets/repository/list
method: get
operationId: get_list_asset_repositories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/repository/show/{id}
method: get
operationId: get_asset_repository_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/assets/repository/update-status/{id}
method: put
operationId: update_asset_repository_status
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: /api/client/certificates/list
method: get
operationId: get_list_certificates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/certificates/show/{id}
method: get
operationId: get_certificate_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/business-unit/list
method: get
operationId: get_list_business_unit
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/business-unit/show/{id}
method: get
operationId: get_business_unit_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/points-of-interest/list
method: get
operationId: get_list_points_of_interest
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/service-listing/list
method: get
operationId: get_list_service_listing
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/suspicious-domain/list
method: get
operationId: get_list_suspicious_domain
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/suspicious-domain/show/{id}
method: get
operationId: get_suspicious_domain_details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/activity-log/list
method: get
operationId: get_list_activity_logs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/testing-infrastructure
method: get
operationId: get_list_source_ip_addresses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/client/seeddata
method: post
operationId: submit_asset
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