Skip to main content
Dromo’s session auto-save feature lets users pick up an import exactly where they left off — even after navigating away, closing the browser, or returning days later. Sessions are stored server-side and can be restored across any device.

How it works

When savePartialSession is enabled, Dromo continuously saves the user’s progress in the background — capturing the active stage, column mappings, transformations, and the uploaded file. Progress is debounced and flushed automatically; no extra code is required. To enable auto-save:
savePartialSession requires backendSyncMode: "FULL_DATA" and a consistent importIdentifier to group sessions for the same import type.

Security model — the hydrationId

Sessions use a two-token model to prevent a leaked credential from granting permanent access: When a session is created, both tokens are returned. Pass the hydrationId to the widget. Store the sessionId server-side so you can mint a fresh hydrationId whenever the user returns.
All session endpoints require your backend license key (is_for_backend_api=True). Never call these from client-side code.

Starting a session

Call POST /api/widget/session/v2/auth/ from your backend. The response includes a sessionId to store and a hydrationId to pass to the widget.
Optionally provide an import_identifier and a custom token TTL:
Response:
Store both values:
  • sessionId — persist this server-side. It is needed to resume or delete the session later.
  • hydrationId — pass this to the widget to begin the session.

Restoring a session

When the user returns to resume an import, mint a fresh hydrationId from your backend using the stored sessionId, then pass it to the widget.

Step 1 — Re-issue a hydrationId

Optionally set a custom TTL:
Response:

Step 2 — Pass to the widget

The widget uses the hydrationId to fetch the saved state and resume from where the user left off.

Deleting a session

Sessions are automatically cleared when an import completes. To delete manually, send a DELETE request with the session’s UUID and your backend license key:
Response:
All hydration tokens for the session are immediately invalidated — any subsequent widget calls with the old hydrationId return 403. This call is idempotent and returns success: true even if the session was already deleted.

Error reference


Full endpoint reference

All endpoints require X-DROMO-LICENSE-KEY (backend license key).