STANAG 4817 / AEP-105 · 0.3.0-rc4 (SD-3 RC4)
Getting Started

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)

StepCallPurpose
1POST /validate{ "message": { … } } → valid, errors[]
2POST /routeSame 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.json

Or run locally: cd interop/validation-api && uvicorn app:app --port 8817.

On this page