{"schemaVersion":1,"topic":"policy-vocabulary","title":"Policy vocabulary","generatedFrom":["src/lib/business/points-agents/policy-vocabulary.ts","src/lib/business/points-agents/policy-schema-version.ts","src/lib/business/points-mcp/velocity-caps.ts"],"page":"/docs/agents/reference/policy-vocabulary","agentPayStatus":"/docs/agents/status.json","tool":"get_agent_pay_policy_vocabulary","policySchemaVersion":1,"policySchemaMinSupported":1,"policySchemaMaxSupported":1,"categories":[{"value":"ai_compute","label":"AI compute"},{"value":"advertising_marketing","label":"Advertising & marketing"},{"value":"saas_apis","label":"SaaS / APIs"},{"value":"ecommerce_procurement","label":"E-commerce procurement"},{"value":"logistics","label":"Logistics"}],"matching":{"mode":"exact_canonical","caseNormalization":"trim_lower","aliasesSupported":false,"unknownCategoryDecision":"deny","emptyAllowlistMeans":"any_canonical_category_allowed_unless_blocked"},"notes":["Use the exact `value` strings in prepare_payment.category and agent allowlists.","Aliases (e.g. saas, SaaS APIs) are rejected and do not bypass allowlists.","Policy matching is unchanged, except that unknown categories are denied.","Send prepare_payment.policySchemaVersion matching policySchemaVersion (or within min/max supported). Unsupported versions fail closed on spend."],"defaultVelocityCaps":{"maxDraftsPerHour":12,"maxDraftsPerDay":48,"maxOutstandingDrafts":25,"maxAggregateCentsPerHour":100000,"maxAggregateCentsPerDay":500000},"defaultVelocityCapsNote":"Per-agent velocity caps on prepared drafts. They are separate from spend-envelope aggregate caps, which are in progress (usage across payments is not persisted yet).","perConnectionFields":["velocityCaps","allowedCategories","blockedCategories","allowedMerchants","blockedMerchants"]}