Skip to main content

Verification API

The Verification API predicts whether a schema is valid and identifies likely errors, without running the full compiler. Responses return in milliseconds, making verification practical inside tight agent loops.

POST /validity-check

Returns a validity prediction with a confidence probability.

Request:

curl -X POST https://api.masar.almadar.io/validity-check \
-H "Authorization: Bearer $MASAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schema": {
"name": "App",
"orbitals": [{"entity": "Ticket", "traits": ["Triage"], "pages": ["Dashboard"]}]
}
}'

Response:

{
"valid": true,
"probability": 0.94,
"confidence": "high"
}
FieldTypeDescription
validbooleanPredicted validity (threshold: 0.5)
probabilityfloatConfidence score from 0.0 to 1.0
confidencestring"high" (above 0.85), "medium" (0.6-0.85), or "low" (below 0.6)

POST /error-check

Predicts probabilities across 20 error categories. Use this to pinpoint what's wrong before asking the LLM to fix it.

Request:

curl -X POST https://api.masar.almadar.io/error-check \
-H "Authorization: Bearer $MASAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"schema": {"name": "App", "orbitals": [...]}}'

Response:

{
"errors": [
{"category": "missing_transition", "probability": 0.87, "description": "One or more states have no outgoing transitions"},
{"category": "orphan_event", "probability": 0.62, "description": "Events declared but never used in transitions"},
{"category": "missing_initial_state", "probability": 0.03, "description": "Trait has no initial state"}
],
"top_errors": ["missing_transition", "orphan_event"],
"error_count_prediction": 2
}

The 20 categories cover structural issues (missing transitions, orphan states), wiring issues (unmatched emits, broken bindings), and UI issues (missing render effects, invalid patterns).

POST /rank-edits/jepa

Suggests optimal repair actions for a failing schema. See the dedicated Repair API docs for full details.

Quick example:

from masar import MasarClient

client = MasarClient()
repairs = client.rank_edits(
schema=failing_schema,
errors=["missing_transition", "orphan_event"]
)
for repair in repairs.suggestions:
print(f"{repair.action}: {repair.params} (score: {repair.score:.2f})")

Next Steps