Properties
| Name | Type | Description |
|---|---|---|
| symbolic_name | string | |
| title | string | |
| description | string | Three labeled paragraphs describing the security requirement, implementation and enforcement details, and do's and don'ts. |
| status | object | |
| priority | object | |
| include_in_mitigation_plan | boolean | Whether to generate tasks from this control. |
| enforce_via_policy | boolean | Whether this control should be included in an enforcement policy. |
| created_at | string | |
| updated_at | string | |
| id | integer | |
| project_id | integer | |
| threat_model_versions | array | |
| threats | array | |
| components_affected | array | |
| trust_boundary | object | |
| compliance_controls | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/devarmor/json-schema/devarmor-control-schema.json",
"title": "Control",
"x-generated": "2026-10-29",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/devarmor-openapi.json#/components/schemas/Control",
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description",
"description": "Three labeled paragraphs describing the security requirement, implementation and enforcement\ndetails, and do's and don'ts."
},
"status": {
"$ref": "#/$defs/ControlStatus"
},
"priority": {
"$ref": "#/$defs/Priority"
},
"include_in_mitigation_plan": {
"type": "boolean",
"title": "Include In Mitigation Plan",
"description": "Whether to generate tasks from this control."
},
"enforce_via_policy": {
"type": "boolean",
"title": "Enforce Via Policy",
"description": "Whether this control should be included in an enforcement policy."
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
},
"project_id": {
"type": "integer",
"title": "Project Id"
},
"threat_model_versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Threat Model Versions"
},
"threats": {
"items": {
"$ref": "#/$defs/Threat"
},
"type": "array",
"title": "Threats"
},
"components_affected": {
"items": {
"$ref": "#/$defs/Component"
},
"type": "array",
"title": "Components Affected"
},
"trust_boundary": {
"anyOf": [
{
"$ref": "#/$defs/TrustBoundary"
},
{
"type": "null"
}
]
},
"compliance_controls": {
"items": {
"$ref": "#/$defs/RefComplianceControl"
},
"type": "array",
"title": "Compliance Controls"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"status",
"priority",
"include_in_mitigation_plan",
"enforce_via_policy",
"id",
"project_id",
"threat_model_versions",
"threats",
"components_affected",
"compliance_controls"
],
"$defs": {
"AccessControlMethod": {
"type": "string",
"enum": [
"acl",
"rbac",
"mac",
"dac",
"abac"
],
"title": "AccessControlMethod"
},
"AccessLevel": {
"type": "string",
"enum": [
"anonymous",
"user",
"admin"
],
"title": "AccessLevel"
},
"AttackerSkillAndKnowledge": {
"type": "string",
"enum": [
"script_kid",
"insider",
"engineer",
"expert_engineer",
"oc_sponsored",
"state_sponsored"
],
"title": "AttackerSkillAndKnowledge"
},
"AuthenticationMethod": {
"type": "string",
"enum": [
"password",
"otp",
"challenge_response",
"public_key",
"token",
"biometrics",
"sso",
"social"
],
"title": "AuthenticationMethod"
},
"Component": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description"
},
"repo_link": {
"anyOf": [
{
"type": "string",
"maxLength": 2083,
"minLength": 1,
"format": "uri"
},
{
"type": "null"
}
],
"title": "Repo Link"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
},
"project": {
"$ref": "#/$defs/Project"
},
"threat_model_versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Threat Model Versions"
},
"parent_component": {
"anyOf": [
{
"$ref": "#/$defs/Component"
},
{
"type": "null"
}
]
},
"trust_zone": {
"anyOf": [
{
"$ref": "#/$defs/TrustZone"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"repo_link",
"id",
"project",
"threat_model_versions",
"trust_zone"
],
"title": "Component"
},
"ControlStatus": {
"type": "string",
"enum": [
"active",
"suggested",
"under_review",
"approved",
"scheduled",
"retired"
],
"title": "ControlStatus"
},
"Degree": {
"type": "string",
"enum": [
"minimal",
"low",
"moderate",
"high",
"maximal"
],
"title": "Degree"
},
"Priority": {
"type": "string",
"enum": [
"highest",
"high",
"medium",
"low",
"lowest"
],
"title": "Priority"
},
"Project": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"default": {
"type": "boolean",
"title": "Default",
"default": false
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"use_memory": {
"type": "boolean",
"title": "Use Memory",
"default": true
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
},
"owner_user": {
"$ref": "#/$defs/User"
},
"memory_effective": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Memory Effective"
},
"memory_effective_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Memory Effective Reason"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"id",
"owner_user"
],
"title": "Project"
},
"RefComplianceControl": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"scheme_id": {
"type": "integer",
"title": "Scheme Id"
},
"code": {
"type": "string",
"title": "Code"
},
"category": {
"type": "string",
"title": "Category"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
}
},
"type": "object",
"required": [
"id",
"scheme_id",
"code",
"category",
"title",
"description",
"notes"
],
"title": "RefComplianceControl"
},
"RefMitreAttackTactic": {
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
}
},
"type": "object",
"required": [
"id",
"name"
],
"title": "RefMitreAttackTactic"
},
"RefMitreAttackTechnique": {
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"tactics": {
"items": {
"$ref": "#/$defs/RefMitreAttackTactic"
},
"type": "array",
"title": "Tactics"
}
},
"type": "object",
"required": [
"id",
"name",
"tactics"
],
"title": "RefMitreAttackTechnique"
},
"Threat": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description"
},
"event": {
"type": "string",
"title": "Event"
},
"sources": {
"items": {
"$ref": "#/$defs/ThreatSource"
},
"type": "array",
"title": "Sources"
},
"capec_attack_mechanism": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Capec Attack Mechanism"
},
"cwe_vulnerabilities": {
"anyOf": [
{
"items": {
"type": "integer"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Cwe Vulnerabilities"
},
"stride_category": {
"anyOf": [
{
"$ref": "#/$defs/ThreatSTRIDECategory"
},
{
"type": "null"
}
]
},
"scope_specific": {
"type": "boolean",
"title": "Scope Specific",
"default": true,
"deprecated": true
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
},
"project": {
"$ref": "#/$defs/Project"
},
"threat_model_versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Threat Model Versions"
},
"threat_persona": {
"anyOf": [
{
"$ref": "#/$defs/ThreatPersona"
},
{
"type": "null"
}
]
},
"components_affected": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Component"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Components Affected"
},
"mitre_attack_techniques": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/RefMitreAttackTechnique"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Mitre Attack Techniques"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"event",
"sources",
"id",
"project",
"threat_model_versions",
"threat_persona",
"components_affected"
],
"title": "Threat"
},
"ThreatPersona": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description"
},
"is_person": {
"type": "boolean",
"title": "Is Person"
},
"skill_level": {
"$ref": "#/$defs/AttackerSkillAndKnowledge"
},
"access_level": {
"$ref": "#/$defs/AccessLevel"
},
"malicious_intent": {
"type": "boolean",
"title": "Malicious Intent"
},
"applicability_to_org": {
"$ref": "#/$defs/Degree"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
},
"project": {
"$ref": "#/$defs/Project"
},
"threat_model_versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Threat Model Versions"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"is_person",
"skill_level",
"access_level",
"malicious_intent",
"applicability_to_org",
"id",
"project",
"threat_model_versions"
],
"title": "ThreatPersona"
},
"ThreatSTRIDECategory": {
"type": "string",
"enum": [
"spoofing",
"tampering",
"repudiation",
"information_disclosure",
"denial_of_service",
"elevation_of_privilege"
],
"title": "ThreatSTRIDECategory"
},
"ThreatSource": {
"type": "string",
"enum": [
"adversary",
"human_error",
"failure",
"events_beyond_org_control"
],
"title": "ThreatSource"
},
"TrustBoundary": {
"properties": {
"access_control_methods": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AccessControlMethod"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Access Control Methods"
},
"authentication_methods": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AuthenticationMethod"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Authentication Methods"
},
"access_token_expires": {
"type": "boolean",
"title": "Access Token Expires"
},
"access_token_ttl": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Access Token Ttl"
},
"has_refresh_token": {
"type": "boolean",
"title": "Has Refresh Token"
},
"refresh_token_expires": {
"type": "boolean",
"title": "Refresh Token Expires"
},
"refresh_token_ttl": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Refresh Token Ttl"
},
"can_user_logout": {
"type": "boolean",
"title": "Can User Logout"
},
"can_system_logout": {
"type": "boolean",
"title": "Can System Logout"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
},
"project": {
"$ref": "#/$defs/Project"
},
"threat_model_versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Threat Model Versions"
},
"trust_zone_a": {
"$ref": "#/$defs/TrustZone"
},
"trust_zone_b": {
"$ref": "#/$defs/TrustZone"
}
},
"type": "object",
"required": [
"access_control_methods",
"authentication_methods",
"access_token_expires",
"access_token_ttl",
"has_refresh_token",
"refresh_token_expires",
"refresh_token_ttl",
"can_user_logout",
"can_system_logout",
"id",
"project",
"threat_model_versions",
"trust_zone_a",
"trust_zone_b"
],
"title": "TrustBoundary"
},
"TrustZone": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
},
"project": {
"$ref": "#/$defs/Project"
},
"threat_model_versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Threat Model Versions"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"id",
"project",
"threat_model_versions"
],
"title": "TrustZone"
},
"User": {
"properties": {
"email": {
"type": "string",
"title": "Email"
},
"name": {
"type": "string",
"title": "Name"
},
"state": {
"$ref": "#/$defs/UserState",
"default": "active"
},
"roles": {
"items": {
"$ref": "#/$defs/UserRole"
},
"type": "array",
"title": "Roles",
"default": []
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"id": {
"type": "integer",
"title": "Id"
}
},
"type": "object",
"required": [
"email",
"name",
"id"
],
"title": "User"
},
"UserRole": {
"type": "string",
"enum": [
"admin",
"customer_support"
],
"title": "UserRole"
},
"UserState": {
"type": "string",
"enum": [
"active",
"inactive",
"pending_org_approval"
],
"title": "UserState"
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/devarmor-control"
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.