Voyant.io · Agentic Access

Voyant.io Agentic Access

x-agentic-access generated

Voyant.io exposes 787 API operations that an AI agent could call, of which 350 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: 437 read, 340 write, 6 physical, and 4 safety-critical.

4 operations are classed safety-critical and should require human-in-the-loop approval at runtime.

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.

artificial-intelligencecontext-managementbrand-governanceproduct-marketinggtm-operationsmarketing-automationcontent-generationcompetitive-intelligencesemantic-searchragmcpagent-nativesignalstelemetry
Operations: 787 Acting: 350 Human-in-the-loop: 4 Method: generated

By consequence

read 437 write 340 physical 6 safety-critical 4

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
DELETE /api/api-keys/{key_id} safety-critical required
POST /api/context-intelligence/chunks/override-ranking safety-critical required
DELETE /api/onboarding/session safety-critical required
POST /api/signals/sources/load-preset/{preset_name} safety-critical required
POST /api/geo-intelligence/send-slack-report physical conditional
POST /api/leadership/leaders physical conditional
DELETE /api/leadership/leaders/{leader_id} physical conditional
PUT /api/leadership/leaders/{leader_id}/metrics physical conditional
POST /api/leadership/leaders/{leader_id}/sync-linkedin physical conditional
POST /api/leadership/sync-all-linkedin physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-08-12'
method: generated
source: openapi/voyant-openapi-original.json
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: 787
  by_action_class:
    connected: 437
    acting: 350
  by_consequence:
    read: 437
    write: 340
    safety-critical: 4
    physical: 6
  human_in_the_loop_required: 4
operations:
- path: /api/crawl/engines
  method: get
  operationId: list_crawler_engines_api_crawl_engines_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/estimate
  method: post
  operationId: estimate_crawl_scope_api_crawl_estimate_post
  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/crawl/start
  method: post
  operationId: start_crawl_api_crawl_start_post
  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/crawl/status/{crawl_id}
  method: get
  operationId: get_crawl_status_api_crawl_status__crawl_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/summary/{crawl_id}
  method: get
  operationId: get_crawl_summary_api_crawl_summary__crawl_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/jobs
  method: get
  operationId: list_crawl_jobs_api_crawl_jobs_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/{crawl_id}/cancel
  method: post
  operationId: cancel_crawl_api_crawl__crawl_id__cancel_post
  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/crawl/stream/{crawl_id}
  method: get
  operationId: stream_crawl_events_api_crawl_stream__crawl_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/{crawl_id}/contents
  method: get
  operationId: list_crawl_contents_api_crawl__crawl_id__contents_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/debug/health
  method: get
  operationId: debug_health_api_crawl_debug_health_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/import-authoritative
  method: post
  operationId: import_authoritative_content_api_crawl_import_authoritative_post
  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/crawl/cleanup/all
  method: delete
  operationId: cleanup_all_crawl_data_api_crawl_cleanup_all_delete
  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/crawl/cleanup/external-content
  method: delete
  operationId: cleanup_external_content_api_crawl_cleanup_external_content_delete
  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/crawl/{crawl_id}/process-rag
  method: post
  operationId: process_rag_api_crawl__crawl_id__process_rag_post
  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/crawl/{crawl_id}/rag-status
  method: get
  operationId: get_rag_status_api_crawl__crawl_id__rag_status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/crawl/{crawl_id}/rag-chunks
  method: delete
  operationId: delete_rag_chunks_api_crawl__crawl_id__rag_chunks_delete
  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/crawl/stats/{org_id}
  method: get
  operationId: get_rag_stats_api_crawl_stats__org_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/stats
  method: get
  operationId: get_signal_stats_api_signals_stats_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/top-by-engagement
  method: get
  operationId: get_top_signals_by_engagement_api_signals_top_by_engagement_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/trends
  method: get
  operationId: get_signal_trends_api_signals_trends_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/configured-sources
  method: get
  operationId: get_configured_sources_api_signals_configured_sources_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/competitor-trends
  method: get
  operationId: get_competitor_trends_api_signals_competitor_trends_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/publishing-comparison
  method: get
  operationId: get_publishing_comparison_api_signals_publishing_comparison_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/count
  method: get
  operationId: get_signal_count_api_signals_count_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/github/monthly
  method: get
  operationId: get_github_monthly_signal_count_api_signals_github_monthly_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/profile/{username}
  method: get
  operationId: get_github_profile_api_signals_profile__username__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/alerts
  method: get
  operationId: get_system_alerts_api_signals_alerts_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/alerts/{alert_id}/resolve
  method: post
  operationId: resolve_system_alert_api_signals_alerts__alert_id__resolve_post
  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/signals/discover
  method: post
  operationId: discover_signals_api_signals_discover_post
  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/signals/list
  method: get
  operationId: list_signals_api_signals_list_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/search
  method: get
  operationId: search_signals_api_signals_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/sources
  method: get
  operationId: list_signal_sources_api_signals_sources_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/sources
  method: post
  operationId: add_signal_source_api_signals_sources_post
  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/signals/sources/{source_id}
  method: delete
  operationId: delete_signal_source_api_signals_sources__source_id__delete
  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/signals/health
  method: get
  operationId: health_check_api_signals_health_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/baseline-discovery
  method: post
  operationId: baseline_discovery_api_signals_baseline_discovery_post
  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/signals/clear
  method: delete
  operationId: clear_all_signals_api_signals_clear_delete
  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/signals/sources/bulk
  method: post
  operationId: bulk_add_signal_sources_api_signals_sources_bulk_post
  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/signals/sources/presets
  method: get
  operationId: get_source_presets_api_signals_sources_presets_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/signals/sources/load-preset/{preset_name}
  method: post
  operationId: load_source_preset_api_signals_sources_load_preset__preset_name__post
  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: /api/signals/discover-topics
  method: post
  operationId: discover_by_topics_api_signals_discover_topics_post
  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/signals/generate-topics
  method: post
  operationId: generate_topic_suggestions_api_signals_generate_topics_post
  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/context-streams/
  method: get
  operationId: list_signals_api_context_streams__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/context-streams/sources
  method: get
  operationId: list_signal_sources_api_context_streams_sources_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/context-streams/sources
  method: post
  operationId: create_signal_source_api_context_streams_sources_post
  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/context-streams/sources/{source_id}
  method: patch
  operationId: update_signal_source_api_context_streams_sources__source_id__patch
  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/context-streams/{signal_id}/engage
  method: post
  operationId: engage_with_signal_api_context_streams__signal_id__engage_post
  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/context-streams/stats
  method: get
  operationId: get_signal_stats_api_context_streams_stats_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/context-streams/trending-topics
  method: get
  operationId: get_trending_topics_api_context_streams_trending_topics_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/stream/subscribe
  method: get
  operationId: stream_context_signals_api_stream_subscribe_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/governance/validate
  method: post
  operationId: validate_content_api_governance_validate_post
  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/governance/policy/active
  method: get
  operationId: get_active_policy_api_governance_policy_active_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/attribution/track
  method: post
  operationId: track_event_api_attribution_track_post
  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/attribution/generate
  method: post
  operationId: generate_attribution_link_api_attribution_generate_post
  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/attribution/funnel/{signal_id}
  method: get
  operationId: get_attribution_funnel_api_attribution_funnel__signal_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/attribution/report
  method: get
  operationId: get_attribution_report_api_attribution_report_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/prompts/generate
  method: post
  operationId: generate_intelligent_prompts_api_prompts_generate_post
  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/prompts/sample
  method: get
  operationId: get_sample_prompts_api_prompts_sample_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/prompts/health
  method: get
  operationId: prompt_generation_health_api_prompts_health_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/upload
  method: post
  operationId: upload_pdf_api_pdfs_upload_post
  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/pdfs/upload
  method: options
  operationId: upload_pdf_options_api_pdfs_upload_options
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/{pdf_id}/process
  method: post
  operationId: process_pdf_api_pdfs__pdf_id__process_post
  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/pdfs/{pdf_id}/status
  method: get
  operationId: get_pdf_status_api_pdfs__pdf_id__status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/{pdf_id}/cancel
  method: post
  operationId: cancel_pdf_processing_api_pdfs__pdf_id__cancel_post
  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/pdfs/{pdf_id}/retry
  method: post
  operationId: retry_pdf_processing_api_pdfs__pdf_id__retry_post
  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/pdfs
  method: get
  operationId: list_pdfs_root_api_pdfs_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/{pdf_id}
  method: delete
  operationId: delete_pdf_api_pdfs__pdf_id__delete
  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/pdfs/{pdf_id}/chunks
  method: get
  operationId: get_pdf_chunks_api_pdfs__pdf_id__chunks_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/{pdf_id}/analyze
  method: post
  operationId: analyze_pdf_api_pdfs__pdf_id__analyze_post
  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/pdfs/generate-content
  method: post
  operationId: generate_content_with_pdfs_api_pdfs_generate_content_post
  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/pdfs/health
  method: get
  operationId: pdf_health_check_api_pdfs_health_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/test
  method: get
  operationId: pdf_test_endpoint_api_pdfs_test_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/{path}
  method: options
  operationId: pdf_options_handler_api_pdfs__path__options
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/pdfs/usage
  method: get
  operationId: get_pdf_usage_api_pdfs_usage_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/auth/google-drive/authorize
  method: post
  operationId: get_authorization_url_api_auth_google_drive_authorize_post
  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/auth/google-drive/callback
  method: post
  operationId: oauth_callback_api_auth_google_drive_callback_post
  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/auth/google-drive/disconnect
  method: post
  operationId: disconnect_google_drive_api_auth_google_drive_disconnect_post
  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/auth/notion/authorize
  method: post
  operationId: authorize_notion_api_auth_notion_authorize_post
  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/auth/notion/callback
  method: post
  operationId: notion_callback_api_auth_notion_callback_post
  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/auth/notion/disconnect
  method: post
  operationId: disconnect_notion_api_auth_notion_disconnect_post
  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/notion/status
  method: get
  operationId: get_notion_status_api_notion_status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/notion/config
  method: put
  operationId: update_notion_config_api_notion_config_put
  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/notion/sync
  method: post
  operationId: sync_notion_api_notion_sync_post
  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/auth/webflow/connect
  method: post
  operationId: connect_webflow_api_auth_webflow_connect_post
  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/auth/webflow/disconnect
  method: post
  operationId: disconnect_webflow_api_auth_webflow_disconnect_post
  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/webflow/status
  method: get
  operationId: get_webflow_status_api_webflow_status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/webflow/config
  method: put
  operationId: update_webflow_config_api_webflow_config_put
  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/webflow/sites
  method: get
  operationId: list_webflow_sites_api_webflow_sites_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/webflow/sites/{site_id}/collections
  method: get
  operationId: list_site_collections_api_webflow_sites__site_id__collections_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/webflow/collections/{collection_id}/items
  method: get
  operationId: list_items_api_webflow_collections__collection_id__items_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/webflow/collections/{collection_id}/items
  method: post
  operationId: create_item_api_webflow_collections__collection_id__items_post
  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/auth/hubspot/authorize
  method: post
  operationId: get_authorization_url_api_auth_hubspot_authorize_post
  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/auth/hubspot/callback
  method: post
  operationId: oauth_callback_api_auth_hubspot_callback_post
  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/hubspot/status
  method: get
  operationId: get_hubspot_status_api_hubspot_status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/hubspot/refresh
  method: post
  operationId: refresh_token_api_hubspot_refresh_post
  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/hubspot/disconnect
  method: post
  operationId: disconnect_hubspot_api_hubspot_disconnect_post
  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/content/drive-status
  method: get
  operationId: get_drive_status_api_content_drive_status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/content/drive-health
  method: get
  operationId: check_google_drive_health_api_content_drive_health_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/content/drive-config
  method: put
  operationId: update_drive_config_api_content_drive_config_put
  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/content/export-to-drive
  method: post
  operationId: export_content_to_google_drive_api_content_export_to_drive_post
  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/content/exports
  method: get
  operationId: get_user_exports_api_content_exports_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/content/search
  method: post
  operationId: search_content_api_content_search_post
  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/voice-training/
  method: post
  operationId: add_training_data_api_voice_training__post
  x-agentic-access:
    action-class

# --- truncated at 32 KB (246 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/voyant/refs/heads/main/agentic-access/voyant-agentic-access.yml