diff --git a/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineConfigDto.cs b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineConfigDto.cs
new file mode 100644
index 0000000..8fa41b4
--- /dev/null
+++ b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineConfigDto.cs
@@ -0,0 +1,47 @@
+namespace JdeScoping.Core.ApiContracts.Pipelines;
+
+///
+/// Pipeline configuration DTO for display.
+///
+public record PipelineConfigDto(
+ string Name,
+ PipelineSourceDto Source,
+ PipelineDestinationDto Destination,
+ PipelineSchedulesDto Schedules,
+ int PreScriptCount,
+ int PostScriptCount,
+ List? PreScripts,
+ List? PostScripts);
+
+public record PipelineSourceDto(
+ string Connection,
+ string? QueryPreview,
+ string? MassQueryPreview,
+ string? Query,
+ string? MassQuery,
+ List Parameters);
+
+public record PipelineParameterDto(
+ string Name,
+ string? Format,
+ string Source);
+
+public record PipelineDestinationDto(
+ string Table,
+ string OperationType,
+ List? MatchColumns,
+ List? ExcludeFromUpdate);
+
+public record PipelineSchedulesDto(
+ PipelineScheduleDto Mass,
+ PipelineScheduleDto Daily,
+ PipelineScheduleDto Hourly);
+
+public record PipelineScheduleDto(
+ bool Enabled,
+ int IntervalMinutes,
+ bool PrePurge,
+ bool ReIndex,
+ bool IntervalIsOverride,
+ bool PrePurgeIsOverride,
+ bool ReIndexIsOverride);
diff --git a/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineExecutionDto.cs b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineExecutionDto.cs
new file mode 100644
index 0000000..02fdd95
--- /dev/null
+++ b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineExecutionDto.cs
@@ -0,0 +1,16 @@
+namespace JdeScoping.Core.ApiContracts.Pipelines;
+
+using JdeScoping.Core.Models.Enums;
+
+///
+/// Pipeline execution history.
+///
+public record PipelineExecutionsResponse(List Executions);
+
+public record PipelineExecutionDto(
+ UpdateTypes ScheduleType,
+ DateTime StartTime,
+ DateTime? EndTime,
+ TimeSpan? Duration,
+ long RecordCount,
+ bool WasSuccessful);
diff --git a/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineListResponse.cs b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineListResponse.cs
new file mode 100644
index 0000000..1ad66e1
--- /dev/null
+++ b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineListResponse.cs
@@ -0,0 +1,6 @@
+namespace JdeScoping.Core.ApiContracts.Pipelines;
+
+///
+/// Response containing list of available pipeline names.
+///
+public record PipelineListResponse(List PipelineNames);
diff --git a/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineStatusDto.cs b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineStatusDto.cs
new file mode 100644
index 0000000..3586b27
--- /dev/null
+++ b/NEW/src/JdeScoping.Core/ApiContracts/Pipelines/PipelineStatusDto.cs
@@ -0,0 +1,17 @@
+namespace JdeScoping.Core.ApiContracts.Pipelines;
+
+using JdeScoping.Core.Models.Enums;
+
+///
+/// Pipeline schedule status for each update type.
+///
+public record PipelineStatusResponse(List Statuses);
+
+public record PipelineScheduleStatusDto(
+ UpdateTypes ScheduleType,
+ DateTime? LastRun,
+ bool LastRunWasSuccessful,
+ DateTime? LastSuccessfulRun,
+ DateTime? NextRequiredRun,
+ bool IsOverdue,
+ int IntervalMinutes);