Member Junction
    Preparing search index...

    Aggregate result of a sync operation

    interface SyncResult {
        CustomKeyStats?: Record<string, CustomKeyStat[]>;
        Duration?: number;
        EntityMapResults?: EntityMapSyncResult[];
        ErrorMessage?: string;
        Errors: SyncRecordError[];
        RecordsCreated: number;
        RecordsDeleted: number;
        RecordsErrored: number;
        RecordsProcessed: number;
        RecordsSkipped: number;
        RecordsUpdated: number;
        RunID?: string;
        SchemaUpdate?: SchemaPromotionResult;
        Success: boolean;
        Throttled?: boolean;
        WatermarkAfter?: string;
    }
    Index

    Properties

    CustomKeyStats?: Record<string, CustomKeyStat[]>

    Custom (unmapped) source keys observed this run, keyed by target MJ entity name — the out-of-band candidate statistics gathered regardless of row writes/skips (see CustomKeyStat). Undefined for a customs-free sync.

    Duration?: number

    Duration of the sync in milliseconds

    EntityMapResults?: EntityMapSyncResult[]

    Per-entity-map results breakdown

    ErrorMessage?: string

    Summary error message when the sync fails or completes with errors

    Errors: SyncRecordError[]

    Details of individual record errors

    RecordsCreated: number

    New records created in MJ

    RecordsDeleted: number

    Records deleted/soft-deleted in MJ

    RecordsErrored: number

    Records that encountered errors

    RecordsProcessed: number

    Total records processed

    RecordsSkipped: number

    Records that were skipped

    RecordsUpdated: number

    Existing records updated in MJ

    RunID?: string

    The CompanyIntegrationRun ID created for this sync

    SchemaUpdate?: SchemaPromotionResult

    Outcome of the post-sync custom-column promotion pass (gaps.md §2). Present only when a promotion callback is registered AND ran; undefined for a customs-free sync (the common case). Lets the resolver surface SchemaUpdatePending to the client.

    Success: boolean

    Whether the overall sync completed without fatal errors

    Throttled?: boolean

    True if this map hit a rate-limit/throttle during fetch. Feeds the per-layer AIMD controller so a throttle (not just a per-request token-bucket backoff) also reduces in-flight concurrency. Transient signal — not persisted.

    WatermarkAfter?: string

    Watermark value after this sync for incremental next-run