Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Last updated Sep 7, 2026

Export File Specification

Overview

Use this reference to understand how the Simplified Exporter structures output files. It covers the two export modes — full table exports and incremental exports — along with chunking behaviour, the JSONL format, metadata headers, and standard fields. The exporter supports ActiveObjects (AO) tables, shared core tables, and ID mapping files.

File Structure

Export files use JSONL (Newline-Delimited JSON) format for efficient streaming and processing.

Metadata Header (First Row)

The first line of every export file contains metadata about the export:

FieldTypeValue / Description
columnsarray of objectsList of column definitions (see below)
columns[].namestringName of the column
columns[].typestringData type of the column (e.g. varchar, boolean, number)
columns[].sizeintegerColumn size or precision; -1 indicates unlimited
columns[].nullablebooleanWhether the column accepts null values
primaryKeysarray of stringsList of primary key column names (e.g. ["id"])
tablestringName of the exported table/entity
rowCountintegerTotal number of data records (excluding metadata row)
exportTimestringTimestamp indicating when the export file was generated.
metadatabooleanAlways true for the metadata header row.

Example Metadata line (formatted for readability)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
  "table": "AO_6FF49D_DOMAIN_SCAN",
  "columns": [
    {
      "name": "BLOCKED_DOMAINS_COUNT",
      "type": "number",
      "size": 64,
      "nullable": true
    },
    {
      "name": "DISTINCT_DOMAINS_COUNT",
      "type": "number",
      "size": 64,
      "nullable": true
    },
    {
      "name": "EXECUTION_TIME",
      "type": "number",
      "size": 64,
      "nullable": true
    },
    {
      "name": "FINISHED_AT",
      "type": "number",
      "size": 64,
      "nullable": true
    },
    {
      "name": "ID",
      "type": "varchar",
      "size": -1,
      "nullable": false
    },
    {
      "name": "LOOKUP_METHOD",
      "type": "varchar",
      "size": -1,
      "nullable": true
    },
    {
      "name": "STARTED_AT",
      "type": "number",
      "size": 64,
      "nullable": true
    },
    {
      "name": "STATUS",
      "type": "varchar",
      "size": -1,
      "nullable": true
    },
    {
      "name": "DELETED",
      "type": "boolean",
      "size": 1,
      "nullable": false
    },
    {
      "name": "TXN_SEQUENCE",
      "type": "integer",
      "size": 19,
      "nullable": false
    }
  ],
  "primaryKeys": [
    "ID"
  ],
  "rowCount": 0,
  "exportTime": "2026-04-17T05:30:07.477354Z",
  "metadata": true
}

Data Records (Rows 2+)

Each subsequent line is a complete data record. The metadata flag is only present (and true) on the header row; data records do not include it.

Example Data Record line (formatted for readability)

1
2
3
4
5
6
7
8
9
10
11
12
13
{
  "BLOCKED_DOMAINS_COUNT":0,
  "DISTINCT_DOMAINS_COUNT":1,
  "EXECUTION_TIME":3923,
  "FINISHED_AT":1773982903301,
  "ID":"821a09b3-8593-4c4b-a636-e483564f4d01",
  "LOOKUP_METHOD":"UMS",
  "STARTED_AT":1773982899378,
  "STATUS":"FINISHED",
  "DELETED":false, // Added by migration platform
  "TXN_SEQUENCE":0 // Added by migration platform
}

Note: Exports include DELETED and TXN_SEQUENCE values for all data records.

Export Types

Files may be a full table export for an initial snapshot, or incremental changes after the snapshot. The file format is identical for both types of exports, the only difference is the incremental will make use of the DELETED and TXN_SEQUENCE columns to flag changes.

1. Full Table Export

Complete snapshot of all table data at export time.

  • Contains: All table rows with complete column data including DELETED and TXN_SEQUENCE fields
  • Standard Fields: DELETED: false and TXN_SEQUENCE: 0 for all records
  • Use Case: Initial data migration, complete backups

2. Incremental Export

Captures only changes since last export using Change Data Capture.

  • Contains: INSERT, UPDATE, DELETE operations from changes
  • Standard Fields: DELETED indicates operation type, TXN_SEQUENCE tracks change order
  • Use Case: Real-time synchronization, change tracking

When consuming incremental export files, the row with the highest TXN_SEQUENCE value for a key, should be retained. Each row is a complete data record for that key in the table. There is no need to retain data for earlier TXN_SEQUENCE rows for that key, or reconstruct changes.

File Chunking

Exports are automatically split into multiple files to manage file sizes:

Chunking Strategy

  • Max File Size: 4 GB per file
  • Trigger: Files are split when they would exceed the 4GB limit
  • Metadata: Each chunk includes its own metadata header (first line)
  • Reassembly: Chunks can be concatenated by skipping the metadata header from lines 2+

Standard Fields

Every exported record includes two standard fields:

DELETED Field

  • Type: boolean
  • Purpose: Indicates if record represents a deletion
  • Full Export: Always false
  • Incremental Export: true for DELETE operations, false for INSERT/UPDATE
  • Name is upper case.

TXN_SEQUENCE Field

  • Type: integer (large integer)
  • Purpose: Tracks transaction order for change sequencing
  • Full Export: Always 0
  • Incremental Export: Increasing counter (1, 2, 7...)
  • Name is upper case.

How to handle incremental exports

The migration platform provides two fields for all data records. These are "DELETED" and "TXN_SEQUENCE". These two values are provided as multiple data types are incrementally exported from the DC instance. While parallelising the import of the export file specification files, you can use the TXN_SEQUENCE field to know which entry is the latest for that migration.

Example SQL

1
2
3
4
5
6
7
8
9
INSERT INTO event_file_data (cloud_url, table_name, primary_key, value, deleted, txn_sequence, created_at, updated_at) 
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
ON CONFLICT ON CONSTRAINT pk_event_file_data
DO UPDATE SET value = EXCLUDED.value,
deleted = EXCLUDED.deleted,
txn_sequence = EXCLUDED.txn_sequence,
updated_at = EXCLUDED.updated_at
WHERE EXCLUDED.txn_sequence > event_file_data.txn_sequence;

Rate this page: