virtual_api:
# Required
name: string # Unique identifier
source: string # Enrolled data source name
# Optional
description: string # Human-readable description
endpoint: string # Source endpoint to expose
version: string # Semantic version (auto-incremented if omitted)
# Control Blocks
controls:
- type: redact | tokenize | anonymize | combine | coalesce
# ... control-specific options
# Access Controls
access:
expires: date # ISO 8601 date or relative (e.g., "90d")
geo_allow: [string] # Country codes
geo_deny: [string] # Country codes
ip_allow: [string] # CIDR ranges
rate_limit:
requests: number
period: string # e.g., "1h", "1d"
# Delivery
delivery:
type: rest | mcp | data_lake
# ... delivery-specific options
# Marketplace (optional)
marketplace:
listed: boolean
visibility: public | internal
pricing:
model: per_request | subscription | free
price: number