Properties
| Name | Type | Description |
|---|---|---|
| symbolic_name | string | |
| title | string | |
| description | string | |
| test_frequency | object | |
| blocking | boolean | |
| status | object | |
| snoozed_until | object | |
| created_at | string | |
| updated_at | string | |
| id | integer | |
| project_id | integer | |
| threat_model_versions | array | |
| threat_model | object | |
| design_review | object | |
| controls | array | |
| repositories | array | |
| repository_links | array | |
| requirements | array | |
| pre_merge | array | |
| post_merge | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/devarmor/json-schema/devarmor-policy-schema.json",
"title": "Policy",
"x-generated": "2026-10-29",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/devarmor-openapi.json#/components/schemas/Policy",
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description"
},
"test_frequency": {
"$ref": "#/$defs/ProcessFrequency",
"default": "always"
},
"blocking": {
"type": "boolean",
"title": "Blocking",
"default": false
},
"status": {
"$ref": "#/$defs/PolicyStatus"
},
"snoozed_until": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Snoozed Until"
},
"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"
},
"threat_model": {
"anyOf": [
{
"$ref": "#/$defs/ThinThreatModel"
},
{
"type": "null"
}
]
},
"design_review": {
"anyOf": [
{
"$ref": "#/$defs/DesignReview"
},
{
"type": "null"
}
]
},
"controls": {
"items": {
"$ref": "#/$defs/PolicyControl"
},
"type": "array",
"title": "Controls"
},
"repositories": {
"items": {
"$ref": "#/$defs/Repository"
},
"type": "array",
"title": "Repositories"
},
"repository_links": {
"items": {
"$ref": "#/$defs/PolicyRepositoryLink"
},
"type": "array",
"title": "Repository Links"
},
"requirements": {
"items": {
"$ref": "#/$defs/Requirement"
},
"type": "array",
"title": "Requirements"
},
"pre_merge": {
"items": {
"$ref": "#/$defs/PolicyPullRequestRef"
},
"type": "array",
"title": "Pre Merge"
},
"post_merge": {
"items": {
"$ref": "#/$defs/PolicyPullRequestRef"
},
"type": "array",
"title": "Post Merge"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"status",
"id",
"project_id",
"threat_model_versions",
"controls",
"repositories",
"repository_links",
"requirements"
],
"$defs": {
"ControlStatus": {
"type": "string",
"enum": [
"active",
"suggested",
"under_review",
"approved",
"scheduled",
"retired"
],
"title": "ControlStatus"
},
"Degree": {
"type": "string",
"enum": [
"minimal",
"low",
"moderate",
"high",
"maximal"
],
"title": "Degree"
},
"DesignReview": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"use_memory": {
"type": "boolean",
"title": "Use Memory",
"default": true
},
"parent_ext_task_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Ext Task Key"
},
"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"
},
"scope_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Scope Id"
},
"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"
],
"title": "DesignReview"
},
"OrganizationalFunction": {
"type": "string",
"enum": [
"engineering",
"infrastructure",
"security"
],
"title": "OrganizationalFunction"
},
"PolicyControl": {
"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."
},
"id": {
"type": "integer",
"title": "Id"
},
"project_id": {
"type": "integer",
"title": "Project Id"
},
"threat_model_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Threat Model Id"
},
"threat_model_version": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
{
"type": "null"
}
],
"title": "Threat Model Version"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"status",
"priority",
"include_in_mitigation_plan",
"enforce_via_policy",
"id",
"project_id",
"threat_model_id",
"threat_model_version"
],
"title": "PolicyControl"
},
"PolicyPullRequestRef": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"view_url": {
"type": "string",
"title": "View Url"
}
},
"type": "object",
"required": [
"name",
"view_url"
],
"title": "PolicyPullRequestRef",
"description": "Display name and link for a pull request in a policy's pre-merge or post-merge lists."
},
"PolicyRepositoryLink": {
"properties": {
"repository_id": {
"type": "integer",
"title": "Repository Id"
},
"repository_section_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Repository Section Id"
},
"repository_section_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Repository Section Path"
}
},
"type": "object",
"required": [
"repository_id"
],
"title": "PolicyRepositoryLink"
},
"PolicyStatus": {
"type": "string",
"enum": [
"draft",
"suggested",
"active",
"retired"
],
"title": "PolicyStatus"
},
"Priority": {
"type": "string",
"enum": [
"highest",
"high",
"medium",
"low",
"lowest"
],
"title": "Priority"
},
"ProcessFrequency": {
"type": "string",
"enum": [
"manual",
"always",
"daily",
"weekly",
"monthly",
"quarterly",
"annually"
],
"title": "ProcessFrequency"
},
"Repository": {
"properties": {
"platform": {
"anyOf": [
{
"$ref": "#/$defs/RepositoryPlatform"
},
{
"type": "null"
}
]
},
"address": {
"type": "string",
"title": "Address"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"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_id": {
"type": "integer",
"title": "Project Id"
},
"threat_model_versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Threat Model Versions"
},
"threat_model_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Threat Model Id"
},
"design_reviews": {
"items": {
"$ref": "#/$defs/DesignReview"
},
"type": "array",
"title": "Design Reviews"
},
"url": {
"type": "string",
"title": "Url"
}
},
"type": "object",
"required": [
"address",
"id",
"project_id",
"threat_model_versions",
"design_reviews",
"url"
],
"title": "Repository"
},
"RepositoryPlatform": {
"type": "string",
"enum": [
"github",
"gitlab"
],
"title": "RepositoryPlatform"
},
"Requirement": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"title": "Description"
},
"axiom": {
"type": "boolean",
"title": "Axiom"
},
"type": {
"$ref": "#/$defs/RequirementType"
},
"criticality": {
"anyOf": [
{
"$ref": "#/$defs/Degree"
},
{
"type": "null"
}
]
},
"owner_function": {
"anyOf": [
{
"$ref": "#/$defs/OrganizationalFunction"
},
{
"type": "null"
}
]
},
"policy_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Policy Id"
},
"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"
},
"design_review_id": {
"type": "integer",
"title": "Design Review Id"
}
},
"type": "object",
"required": [
"symbolic_name",
"title",
"description",
"axiom",
"type",
"id",
"design_review_id"
],
"title": "Requirement"
},
"RequirementType": {
"type": "string",
"enum": [
"security",
"functional",
"non_functional"
],
"title": "RequirementType"
},
"ThinThreatModel": {
"properties": {
"symbolic_name": {
"type": "string",
"pattern": "^[0-9a-z-]+$",
"title": "Symbolic Name"
},
"title": {
"type": "string",
"title": "Title"
},
"description": {
"type": "string",
"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"
},
"versions": {
"items": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)*$"
},
"type": "array",
"title": "Versions"
},
"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",
"description",
"id",
"versions"
],
"title": "ThinThreatModel"
}
}
}
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-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 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.