Validation API
Integrate against the live validation service — validate, route, and publish STANAG 4817 messages.
Who this is for
Software developers wiring a codec, bridge, or test harness against STANAG 4817 /
AEP-105. The service validates JSON messages against the bundled schema pack and
returns the MQTT topic, qos, and retain your publisher should use.
Production base URL: https://4817.r2d2.office.ilab.zone (same host as this docs
site — API paths are routed to the FastAPI service).
1 · Pick an example (Docs, not REST)
Browse the numbered Examples gallery — the same 20+ worked CATL messages from the AEP-105 release, in JSON and XML. That sidebar order matches how the spec authors intended you to read them (Node Description → Node Status → …).
Use the gallery to copy a payload. The REST catalog (GET /examples) is for
automation; the Docs site is the human-friendly view.
2 · Integrate (two API calls)
| Step | Call | Purpose |
|---|---|---|
| 1 | POST /validate | { "message": { … } } → valid, errors[] |
| 2 | POST /route | Same body → { topic, qos, retain } — add ?dest_id= for TASK_* |
Interactive Try it panels: /api-reference (validate + route only).
curl -s -X POST https://4817.r2d2.office.ilab.zone/validate \
-H 'content-type: application/json' \
-d '{"message":'"$(curl -s https://4817.r2d2.office.ilab.zone/examples/catl_2_node_status.json | jq .message)"'}'Conformance is in the response body (valid: false still returns HTTP 200).
3 · Type reference
Structs, enums, and unions: Reference. Message-type → topic mapping: Message model.
4 · Live MQTT testing (optional)
Requires broker connectivity from the cluster. Powers the /testing
dashboard — see Advanced API for harness endpoints.
Client codegen
# Slim integration surface (validate + route)
curl -s https://4817.r2d2.office.ilab.zone/openapi-integration.json -o openapi-integration.json
# Full service (harness, fusion, REST mirrors)
curl -s https://4817.r2d2.office.ilab.zone/openapi.json -o openapi.jsonOr run locally: cd interop/validation-api && uvicorn app:app --port 8817.