Skip to content

api rest api

Douwe de Vries edited this page Jul 2, 2026 · 1 revision

REST API

Purpose

The REST API supports browser mode. It creates sessions, loads files, suggests mappings, runs comparisons, exports results, and saves or loads user artifacts.

Routes

Route Method Handler Purpose
/api/health GET health_check Status and version.
/api/sessions POST create_session Create a session.
/api/sessions/{session_id} DELETE delete_session Delete a session.
/api/sessions/{session_id}/files/{file_letter} POST load_csv_file Load File A or File B as multipart.
/api/sessions/{session_id}/mappings POST suggest_mappings Suggest column mappings.
/api/sessions/{session_id}/compare POST compare Run comparison.
/api/sessions/{session_id}/export GET export_csv Download CSV export.
/api/sessions/{session_id}/pair-order/save POST save_pair_order Download pair-order file.
/api/sessions/{session_id}/pair-order/load POST load_pair_order Load pair-order contents.
/api/sessions/{session_id}/comparison-snapshot/save POST save_comparison_snapshot Download snapshot file.
/api/sessions/{session_id}/comparison-snapshot/load POST load_comparison_snapshot Load snapshot contents.

Key source files

File Purpose
src/api/app.rs Route constants, router assembly, upload body limits.
src/api/handlers.rs Handler implementations.
frontend/src/services/apiRoutes.ts Frontend route builders.
frontend/src/services/http.ts HTTP helper functions and error parsing.
tests/response_contracts.rs Response shape tests.

Notes

File uploads are bounded by constants in src/api/app.rs and src/backend/workflow.rs. Attachment responses are created in src/api/handlers.rs for CSV exports, pair-order files, and snapshots.

See Tauri commands for the desktop equivalent.

Clone this wiki locally