VTS · Agentic Access

VTS Agentic Access

x-agentic-access generated

VTS exposes 91 API operations that an AI agent could call, of which 6 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: 85 read and 6 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.

CompanyCommercial Real EstatePropTechReal EstateLeasingAsset ManagementProperty ManagementTenant Experience
Operations: 91 Acting: 6 Human-in-the-loop: 0 Method: generated

By consequence

read 85 write 6

Source

Agentic Access

Raw ↑
generated: '2026-07-21'
method: generated
source: openapi/vts-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: 91
  by_action_class:
    connected: 85
    acting: 6
  by_consequence:
    read: 85
    write: 6
  human_in_the_loop_required: 0
operations:
- path: /
  method: get
  operationId: get_-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/approval_settings
  method: get
  operationId: get_api-v1-account-admin-approval-settings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/approver_rules
  method: get
  operationId: get_api-v1-account-admin-approver-rules
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/approver_slots
  method: get
  operationId: get_api-v1-account-admin-approver-slots
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/approver_slots/{id}
  method: get
  operationId: get_api-v1-account-admin-approver-slots-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/asset_groups
  method: get
  operationId: get_api-v1-account-admin-asset-groups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/asset_groups/{id}
  method: get
  operationId: get_api-v1-account-admin-asset-groups-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/task_settings
  method: get
  operationId: get_api-v1-account-admin-task-settings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/task_settings/{id}
  method: get
  operationId: get_api-v1-account-admin-task-settings-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/task_templates
  method: get
  operationId: get_api-v1-account-admin-task-templates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/user_asset_permissions
  method: get
  operationId: get_api-v1-account-admin-user-asset-permissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/account_admin/user_space_permissions
  method: get
  operationId: get_api-v1-account-admin-user-space-permissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/appraisals
  method: get
  operationId: get_api-v1-appraisals
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/appraisals/{id}
  method: get
  operationId: get_api-v1-appraisals-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/assets
  method: get
  operationId: get_api-v1-assets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/assets/{asset_id}/deal_settings
  method: get
  operationId: get_api-v1-assets-asset-id-deal-settings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/assets/{id}
  method: get
  operationId: get_api-v1-assets-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/blended_budgets
  method: get
  operationId: get_api-v1-blended-budgets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/blended_budgets/{id}
  method: get
  operationId: get_api-v1-blended-budgets-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/broker/activities
  method: get
  operationId: get_api-v1-broker-activities
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/broker/agents
  method: get
  operationId: get_api-v1-broker-agents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/broker/agents/{id}
  method: get
  operationId: get_api-v1-broker-agents-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/broker/assets
  method: get
  operationId: get_api-v1-broker-assets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/broker/assets/{id}
  method: get
  operationId: get_api-v1-broker-assets-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/broker/availabilities
  method: get
  operationId: get_api-v1-broker-availabilities
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/budgets
  method: get
  operationId: get_api-v1-budgets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/budgets/{id}
  method: get
  operationId: get_api-v1-budgets-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/buildings
  method: get
  operationId: get_api-v1-buildings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/buildings/{id}
  method: get
  operationId: get_api-v1-buildings-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/coordination_project_milestones
  method: get
  operationId: get_api-v1-coordination-project-milestones
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/coordination_project_milestones/{id}
  method: get
  operationId: get_api-v1-coordination-project-milestones-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/coordination_projects
  method: get
  operationId: coordination_projects
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/coordination_projects/{id}
  method: get
  operationId: coordination_project
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/coordination_projects/{project_id}/milestones
  method: get
  operationId: get_api-v1-coordination-projects-project-id-milestones
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_approvals
  method: get
  operationId: get_api-v1-deal-approvals
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_approvals/{id}
  method: get
  operationId: get_api-v1-deal-approvals-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_comments
  method: get
  operationId: get_api-v1-deal-comments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_comments/{id}
  method: get
  operationId: get_api-v1-deal-comments-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_iterations
  method: get
  operationId: get_api-v1-deal-iterations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_iterations/{id}
  method: get
  operationId: get_api-v1-deal-iterations-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_snapshots/{id}
  method: get
  operationId: get_api-v1-deal-snapshots-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_snapshots/{id}
  method: patch
  operationId: patch_api-v1-deal-snapshots-id
  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/v1/deal_tasks
  method: get
  operationId: get_api-v1-deal-tasks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_tasks/{id}
  method: get
  operationId: get_api-v1-deal-tasks-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_terms
  method: get
  operationId: get_api-v1-deal-terms
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_terms/{deal_term_id}/financials
  method: get
  operationId: get_api-v1-deal-terms-deal-term-id-financials
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_terms/{deal_term_id}/options
  method: get
  operationId: get_api-v1-deal-terms-deal-term-id-options
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deal_terms/{id}
  method: get
  operationId: get_api-v1-deal-terms-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals
  method: get
  operationId: get_api-v1-deals
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{deal_id}/approvals
  method: get
  operationId: get_api-v1-deals-deal-id-approvals
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{deal_id}/comments
  method: get
  operationId: get_api-v1-deals-deal-id-comments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{deal_id}/coordination_projects
  method: get
  operationId: coordination_projects_per_deal
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{deal_id}/iterations
  method: get
  operationId: get_api-v1-deals-deal-id-iterations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{deal_id}/proposals
  method: get
  operationId: get_api-v1-deals-deal-id-proposals
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{deal_id}/tasks
  method: get
  operationId: get_api-v1-deals-deal-id-tasks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{deal_id}/tours
  method: get
  operationId: get_api-v1-deals-deal-id-tours
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/deals/{id}
  method: get
  operationId: get_api-v1-deals-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/delinquencies
  method: get
  operationId: get_api-v1-delinquencies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/delinquencies/{id}
  method: patch
  operationId: patch_api-v1-delinquencies-id
  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/v1/financials
  method: get
  operationId: get_api-v1-financials
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/global_tenants
  method: get
  operationId: get_api-v1-global-tenants
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/global_tenants/{id}
  method: get
  operationId: get_api-v1-global-tenants-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/lease_terms
  method: get
  operationId: get_api-v1-lease-terms
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/lease_terms/{id}
  method: get
  operationId: get_api-v1-lease-terms-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/lease_terms/{lease_term_id}/financials
  method: get
  operationId: get_api-v1-lease-terms-lease-term-id-financials
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/lease_terms/{lease_term_id}/options
  method: get
  operationId: get_api-v1-lease-terms-lease-term-id-options
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/leases
  method: get
  operationId: get_api-v1-leases
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/leases/{id}
  method: get
  operationId: get_api-v1-leases-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/leases/{lease_id}/delinquencies
  method: post
  operationId: post_api-v1-leases-lease-id-delinquencies
  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/v1/leases/{lease_id}/delinquencies
  method: get
  operationId: get_api-v1-leases-lease-id-delinquencies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/leases/{lease_id}/delinquencies/{id}
  method: patch
  operationId: patch_api-v1-leases-lease-id-delinquencies-id
  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/v1/leases/{lease_id}/retail_sales
  method: post
  operationId: post_api-v1-leases-lease-id-retail-sales
  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/v1/leases/{lease_id}/retail_sales
  method: get
  operationId: get_api-v1-leases-lease-id-retail-sales
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/listings/{id}
  method: get
  operationId: get_api-v1-listings-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/options
  method: get
  operationId: get_api-v1-options
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/options/{id}
  method: get
  operationId: get_api-v1-options-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/proposals
  method: get
  operationId: get_api-v1-proposals
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/proposals/{id}
  method: get
  operationId: get_api-v1-proposals-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/spaces
  method: get
  operationId: get_api-v1-spaces
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/spaces/{id}
  method: get
  operationId: get_api-v1-spaces-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenant_contacts
  method: get
  operationId: get_api-v1-tenant-contacts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenant_contacts/{id}
  method: get
  operationId: get_api-v1-tenant-contacts-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenant_industries
  method: get
  operationId: get_api-v1-tenant-industries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenant_industries/{id}
  method: get
  operationId: get_api-v1-tenant-industries-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenant_updates
  method: get
  operationId: get_api-v1-tenant-updates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenants
  method: get
  operationId: get_api-v1-tenants
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenants/{id}
  method: get
  operationId: get_api-v1-tenants-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenants/{tenant_id}/contacts
  method: get
  operationId: get_api-v1-tenants-tenant-id-contacts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/users
  method: get
  operationId: get_api-v1-users
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/users/{id}
  method: get
  operationId: get_api-v1-users-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth/v1/token
  method: post
  operationId: post_oauth-v1-token-1
  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