Skip to main content

Schema Reference

Complete JSON Schema reference for all AXAG artifacts.

Annotation Attribute Schema

Every AXAG-annotated HTML element uses the following attributes:

Required Attributes

AttributeTypeValuesDescription
axag-intentstringentity.action patternCanonical intent identifier
axag-entitystringsnake_caseEntity this action operates on
axag-action-typestringread | write | deleteOperation category
AttributeTypeValuesDescription
axag-descriptionstringFree textHuman-readable action description
axag-risk-levelstringnone | low | medium | high | criticalRisk classification
axag-idempotentbooleantrue | falseWhether repeated calls are safe
axag-required-parametersJSON array["param1","param2"]Parameters that MUST be provided
axag-optional-parametersJSON array["param1","param2"]Parameters that MAY be provided

Safety Attributes

AttributeTypeValuesDescription
axag-confirmation-requiredbooleantrue | falseWhether user confirmation is needed
axag-approval-requiredbooleantrue | falseWhether role-based approval is needed
axag-approval-rolesJSON array["role1","role2"]Roles authorized to approve
axag-preconditionsJSON array["condition"]Conditions that MUST be true before execution
axag-postconditionsJSON array["condition"]Conditions guaranteed after successful execution
axag-side-effectsJSON array["effect"]Side-effects of execution

Scope Attributes

AttributeTypeValuesDescription
axag-scopestringpublic | user | tenant | globalData access scope
axag-tenant-boundarystringstrict | relaxedTenant isolation enforcement

Execution Attributes

AttributeTypeValuesDescription
axag-asyncbooleantrue | falseWhether operation is asynchronous

Manifest Schema

See Schema Conformance for the full JSON Schema definition.

Tool Schema

Generated MCP tools follow this structure:

{
"tool_name": "entity_action",
"description": "Description of the action",
"input_schema": {
"type": "object",
"properties": {
"param_name": { "type": "string", "description": "Parameter description" }
},
"required": ["param_name"]
},
"safety": {
"risk_level": "medium",
"idempotent": true,
"confirmation_required": true,
"approval_required": false,
"side_effects": ["state_change"],
"preconditions": ["entity exists"]
}
}