Translate
Ten years of vendor XML,
translated.
POST an EPCIS 1.1 or 1.2 XML document and get EPCIS 2.0 JSON-LD back, with a fidelity report for the job: every source path that has no home in 2.0 is named, so loss is declared, never silent. No key, no account.
curl -sS https://epcis.dev/translate \
-H 'content-type: application/xml' \
--data-binary @receiving-1.2.xml
200 application/json
spine-translation-fidelity: round-trip-clean
spine-translation-lossy-paths: 0
{
"type": "OK",
"document": {
"type": "EPCISDocument",
"schemaVersion": "2.0",
"epcisBody": { "eventList": [ … ] }
},
"fidelityReport": { … },
"sourceSchemaVersion": "1.2"
}
The fidelity report is the contract.
Every job returns a report beside the output. roundTripClean is computed by recomputation: every source leaf must be accounted for in the output, and a miss fails the job. lossyPaths names every source path with no standard 2.0 home.
fidelityReport
{
"roundTripClean": true,
"lossyPaths": []
}
Three ways in, one engine.
- POST /translateNo key.Translates and returns. You decide whether to capture.
- POST /capture/xmlCapture key.Translates and captures in one call, under the gateway laws.
- translateMCP tool, readOnlyHint: true.The same engine in an agent's toolchain.
Get a capture key.
Translate, validate and hash run here with no key. Capture, query and MCP open with a capture key.