Zero Trust Identity

JSON Schema representing a verified identity (user, device, or workload) used in Zero Trust Architecture access decisions per NIST SP 800-207.

Access ControlAuthenticationAuthorizationCybersecurityIdentity ManagementLeast PrivilegeNetwork SecurityNISTSecurityZero Trust

Properties

Name Type Description
identityId string Unique identifier for this identity record.
type string Category of identity.
principalName string Primary identifier for the principal.
displayName string Human-readable name.
spiffeId string SPIFFE Verifiable Identity Document (SVID) URI for workloads.
idProvider string Identity provider that authenticated this principal.
authenticationMethods array Authentication methods used for this identity.
assuranceLevel string NIST SP 800-63 Identity Assurance Level.
authenticationAssuranceLevel string NIST SP 800-63 Authentication Assurance Level.
device object Device associated with this identity session.
groups array Group memberships for this identity.
attributes object Additional identity attributes for policy evaluation.
riskScore integer Current risk score (0-100) from behavioral analytics.
lastAuthenticated string Timestamp of most recent successful authentication.
sessionExpiry string When the current session expires and re-authentication is required.
View JSON Schema on GitHub

JSON Schema

zero-trust-architecture-identity-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/zero-trust-architecture/blob/main/json-schema/zero-trust-architecture-identity-schema.json",
  "title": "Zero Trust Identity",
  "description": "JSON Schema representing a verified identity (user, device, or workload) used in Zero Trust Architecture access decisions per NIST SP 800-207.",
  "type": "object",
  "properties": {
    "identityId": {
      "type": "string",
      "description": "Unique identifier for this identity record.",
      "examples": ["user-abc123", "spiffe://example.com/ns/default/sa/payments-api"]
    },
    "type": {
      "type": "string",
      "description": "Category of identity.",
      "enum": ["human", "service-account", "workload", "device", "robot"],
      "examples": ["human"]
    },
    "principalName": {
      "type": "string",
      "description": "Primary identifier for the principal.",
      "examples": ["alice@example.com", "api-server@payments.svc"]
    },
    "displayName": {
      "type": "string",
      "description": "Human-readable name.",
      "examples": ["Alice Johnson", "Payments API Server"]
    },
    "spiffeId": {
      "type": "string",
      "format": "uri",
      "description": "SPIFFE Verifiable Identity Document (SVID) URI for workloads.",
      "examples": ["spiffe://example.com/ns/default/sa/payments-api"]
    },
    "idProvider": {
      "type": "string",
      "description": "Identity provider that authenticated this principal.",
      "examples": ["okta", "azure-ad", "google-workspace", "spire"]
    },
    "authenticationMethods": {
      "type": "array",
      "description": "Authentication methods used for this identity.",
      "items": {
        "type": "string",
        "enum": ["password", "totp", "webauthn", "hardware-token", "mtls", "svid", "saml", "oidc"]
      },
      "examples": [["webauthn", "oidc"]]
    },
    "assuranceLevel": {
      "type": "string",
      "description": "NIST SP 800-63 Identity Assurance Level.",
      "enum": ["IAL1", "IAL2", "IAL3"],
      "examples": ["IAL2"]
    },
    "authenticationAssuranceLevel": {
      "type": "string",
      "description": "NIST SP 800-63 Authentication Assurance Level.",
      "enum": ["AAL1", "AAL2", "AAL3"],
      "examples": ["AAL2"]
    },
    "device": {
      "type": "object",
      "description": "Device associated with this identity session.",
      "properties": {
        "deviceId": {
          "type": "string",
          "description": "Unique device identifier.",
          "examples": ["device-xyz789"]
        },
        "managed": {
          "type": "boolean",
          "description": "Whether the device is enterprise-managed.",
          "default": false
        },
        "compliant": {
          "type": "boolean",
          "description": "Whether the device meets security compliance requirements.",
          "default": false
        },
        "platform": {
          "type": "string",
          "description": "Device operating system platform.",
          "enum": ["windows", "macos", "linux", "ios", "android", "chromeos"]
        },
        "trustScore": {
          "type": "integer",
          "description": "Device trust score (0-100) from continuous monitoring.",
          "minimum": 0,
          "maximum": 100,
          "examples": [85]
        }
      }
    },
    "groups": {
      "type": "array",
      "description": "Group memberships for this identity.",
      "items": {
        "type": "string"
      },
      "examples": [["engineering", "payments-team", "cloud-access"]]
    },
    "attributes": {
      "type": "object",
      "description": "Additional identity attributes for policy evaluation.",
      "additionalProperties": true
    },
    "riskScore": {
      "type": "integer",
      "description": "Current risk score (0-100) from behavioral analytics.",
      "minimum": 0,
      "maximum": 100,
      "examples": [15]
    },
    "lastAuthenticated": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp of most recent successful authentication.",
      "examples": ["2026-05-03T09:15:00Z"]
    },
    "sessionExpiry": {
      "type": "string",
      "format": "date-time",
      "description": "When the current session expires and re-authentication is required.",
      "examples": ["2026-05-03T17:15:00Z"]
    }
  },
  "required": ["identityId", "type", "principalName"]
}

Work with this as data

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-architecture-identity"
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.