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=,"e="
Content-Type: text/csv- First row is the header.
- Supports
sep,quote,mode,keyColumns, andbatchName.
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
approvalRequiredis enabled, imported rows must be approved before reaching the approved table. batchNamecan be used for group approval.
Upsert mode
- Set
mode=upsertand specifykeyColumns. - 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-filtersGET /api/entities/{name}/saved-filters/{filterName}POST /api/entities/{name}/saved-filtersDELETE /api/entities/{name}/saved-filters/{filterName}
Export
GET /api/v1/entities/{name}/data/export?format=csv&skip=0&take=10000
- Supports
csv,json, andxlsx. - Supports
skipandtake. - 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.000ZGET /api/v1/entities/{name}/data/export?format=xlsx&asOfUtc=2026-04-05T21:10:49.000ZGET /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