Import WATS WSXF Reports
Last updated on May 27, 2026
WSXF (WATS Standard XML Format) is the XML companion to WSJF, Virinco WATS's JSON format. It is a structured format: TofuPilot reads the XML directly, so importing a WSXF report needs no column mapping. The report's step tree becomes a TofuPilot Run.
Use this when your WATS export is XML rather than JSON.
| Encoding | XML |
|---|---|
| Extension | .xml |
| Detection | Auto-detected (XML root + WATS schema) |
| Origin | Virinco AS, WATS Standard XML Format (XSD-validated) |
| Maps to | Run, phases, measurements, limits, unit, part, revision |
| Runs per file | One or many |
| API import | POST /v2/import (importer: WSXF) |
History
WSXF is the original WATS interchange format defined by Virinco AS, specified as XML with an XSD schema. The newer WSJF (JSON) carries the same data model and was added to simplify third-party integration. Both remain current; the WATS Client auto-imports either from its standard-format folders.
File structure vs the TofuPilot model
WSXF expresses the same UUT/UUR data model as WSJF, as XSD-validated XML. One document may hold several reports. TofuPilot imports each test report and maps its step tree onto the run model, exactly as for WSJF.
| WSXF | TofuPilot |
|---|---|
| Report element (serial, part, revision, result) | One Run. |
| Serial number | Unit serial number. |
| Part number / revision | Part and Revision. |
| Step tree | Phases. |
| Numeric step (value, limits, unit) | Measurements with limits. |
| Report result | Run outcome. |
Prerequisites
- A WATS report exported as WSXF (
.xml). The schema may carry multiple reports in one document; TofuPilot imports each as its own run. - A Procedure to attach the runs to, created in the dashboard.
Auto-detection
TofuPilot detects WSXF by its XML root and WATS schema, not by file name. On the import page the row shows Auto-detected as WSXF; override the format from the row's detail sidebar if needed.
Import from the dashboard
- Open the target procedure's import page.
- Drag your WSXF
.xmlfile onto the dropzone. The row shows Auto-detected as WSXF and a Ready status. - Click Import. The runs appear under the procedure.
A WSXF document with multiple reports imports as multiple runs in one action.
Import through the API
Upload the file, then import it by upload_id with the WSXF importer.
# Import a WATS WSXF report (upload_id comes from the upload finalize step)
curl -X POST https://tofupilot.app/api/v2/import \
-H "Authorization: Bearer $TOFUPILOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "upload_id": "550e8400-e29b-41d4-a716-446655440000", "importer": "WSXF" }
]
}'The endpoint returns a { results: [...] } array with one entry per item; a multi-report document reports its run ids in the item's ids array. Pass several files in the items array (up to 100) to import them in one call; each is parsed independently and reported per-item. See the REST API reference for the upload flow and response schema.
Format
WSXF is the XML form of a Virinco WATS report. For the JSON equivalent, see WSJF.
TofuPilot flags duplicate files by content hash, so re-importing the same report links to the existing run instead of creating a copy.
How is this guide?
STDF
Learn how to import STDF semiconductor ATE datalogs into TofuPilot with automatic format detection, turning Teradyne and Advantest output into runs.
WSJF
Learn how to import Virinco WATS reports in WSJF (JSON) format into TofuPilot with automatic detection, migrating test history with no column mapping.