ZTNA Access Policy
An access policy used by a ZTNA broker to decide whether a given subject (user/workload) on a given device may reach a given application.
Access ControlCloud SecurityCybersecurityIdentity ManagementNetwork AccessNetwork SecuritySecurityVPN ReplacementZero TrustZTNA
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/zero-trust-network-access/main/json-schema/zero-trust-network-access-policy-schema.json",
"title": "ZTNA Access Policy",
"description": "An access policy used by a ZTNA broker to decide whether a given subject (user/workload) on a given device may reach a given application.",
"type": "object",
"required": ["id", "name", "subjects", "resources", "decision"],
"properties": {
"id": { "type": "string", "format": "uuid" },
"name": { "type": "string" },
"description": { "type": "string" },
"enabled": { "type": "boolean", "default": true },
"decision": { "type": "string", "enum": ["allow", "deny", "require_mfa", "isolate"] },
"subjects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["user", "group", "service_account", "workload"] },
"id": { "type": "string" },
"identity_provider": { "type": "string" }
},
"required": ["type", "id"]
}
},
"resources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["application", "host", "network", "saas", "url"] },
"id": { "type": "string" },
"fqdn": { "type": "string" },
"ports": { "type": "array", "items": { "type": "integer" } }
},
"required": ["type"]
}
},
"conditions": {
"type": "object",
"properties": {
"device_posture": { "type": "array", "items": { "type": "string" } },
"mfa": { "type": "boolean" },
"geo": { "type": "array", "items": { "type": "string", "description": "ISO 3166-1 alpha-2 country code" } },
"time_window": { "type": "string" },
"risk_score_max": { "type": "integer", "minimum": 0, "maximum": 100 }
}
},
"session": {
"type": "object",
"properties": {
"max_duration_seconds": { "type": "integer" },
"reauth_interval_seconds": { "type": "integer" }
}
},
"created": { "type": "string", "format": "date-time" },
"updated": { "type": "string", "format": "date-time" }
}
}
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/zero-trust-network-access-policy"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.