Skip to content

Data Import & Export

Professional+ tier: bulk import and export of master data over the REST API, with full validation, structured error reporting, and CLI shortcuts for operational workflows.

Overview

  • Available on Professional and Enterprise tiers.
  • Supports CSV, JSON, and XLSX formats.
  • Available through both REST API and CLI.

Import — JSON

POST /api/v1/entities/{name}/data/bulk?mode=insert&batchName=Q1-load
  • Content-Type: application/json
  • Body is a JSON array of row objects.
  • Optional query parameters: mode, keyColumns, batchName.

Import — CSV

POST /api/v1/entities/{name}/data/bulk-csv?mode=insert&batchName=Q1-load&sep=,&quote="
  • Content-Type: text/csv
  • First row is the header.
  • Supports sep, quote, mode, keyColumns, and batchName.

Validation on import

  • Full server-side validation runs before rows are written.
  • Rules include required fields, regex, allowed values, referential integrity, type coercion, and unique constraints.
  • Invalid rows are rejected while valid rows are imported.

Import to edit table

  • Imported data lands in the edit table first.
  • If approvalRequired is enabled, imported rows must be approved before reaching the approved table.
  • batchName can be used for group approval.

Upsert mode

  • Set mode=upsert and specify keyColumns.
  • Matching rows are updated; non-matching rows are inserted.

Record deduplication

POST /api/v1/entities/{name}/data/deduplicate
  • Merge two records of the same entity by _sys_id.
  • Server updates the survivor row, relinks references, and soft-deletes the removed row.
  • Available on Professional+.

Bulk update / delete (SQL)

POST /api/v1/entities/{name}/data/bulk-action/preview
POST /api/v1/entities/{name}/data/bulk-action/execute
  • Enterprise only.
  • Supports preview before execution.
  • Uses the same bracket-filter syntax as the list page.

Saved filters

Enterprise tenants can store per-user named presets for flat data grids.

  • GET /api/entities/{name}/saved-filters
  • GET /api/entities/{name}/saved-filters/{filterName}
  • POST /api/entities/{name}/saved-filters
  • DELETE /api/entities/{name}/saved-filters/{filterName}

Export

GET /api/v1/entities/{name}/data/export?format=csv&skip=0&take=10000
  • Supports csv, json, and xlsx.
  • Supports skip and take.
  • Data masking applies for restricted classification tags unless the caller has view-restricted permission.

Time travel

Enterprise with historyEnabled can query and export data as-of a specific UTC time.

  • GET /api/v1/entities/{name}/data?asOfUtc=2026-04-05T21:10:49.000Z
  • GET /api/v1/entities/{name}/data/export?format=xlsx&asOfUtc=2026-04-05T21:10:49.000Z
  • GET /api/v1/entities/{name}/data/time-travel-bounds

CLI usage

entihub entities data bulk <entity> --file data.json --mode upsert --key-columns code
entihub entities data bulk-csv <entity> --file data.csv --batch-name "Q1 load"
entihub entities data export <entity> --format csv