Runs
Trigger, monitor, and cancel import runs.
This functionality is in preview mode - some of the features may not be fully operational yet.
Retrieves the run history for a configuration, most recent first.
- : Needed to trigger, schedule, monitor, and cancel import runs and to read configurations, streams, schedules, runs, and imported data.
The tenant you want to access.
mytenantThe configuration identifier.
7c9e6679-7425-40de-944b-e07fc1f90ae7The zero-based page number.
0Example: 0The page size.
20The request was successful. The run history is returned.
Pagination metadata for a page of results.
The total number of elements across all pages.
1250The total number of pages.
63The current zero-based page number.
0The page size.
20Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.
Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
Internal Service Error occurred.
GET /importtool/{tenant}/configs/{configId}/runs HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"totalElements": 3,
"totalPages": 1,
"number": 0,
"size": 20,
"content": [
{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"configId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"tenant": "mytenant",
"trigger": "MANUAL",
"origin": "Dashboard",
"status": "SUCCEEDED",
"mode": "DELTA",
"startedAt": "2026-07-27T02:00:00.000Z",
"finishedAt": "2026-07-27T02:04:12.000Z",
"recordsRead": 1250,
"created": 40,
"updated": 1180,
"skipped": 25,
"failed": 5,
"deleted": 0,
"message": "Import completed with 5 record failures."
}
]
}This functionality is in preview mode - some of the features may not be fully operational yet.
Starts an import run for the configuration and returns immediately with the run in a running state; progress is streamed over Server-Sent Events. At most one run is active per configuration.
- : Needed to trigger, schedule, monitor, and cancel import runs and to read configurations, streams, schedules, runs, and imported data.
The tenant you want to access.
mytenantThe configuration identifier.
7c9e6679-7425-40de-944b-e07fc1f90ae7The run mode. When omitted, defaults to DELTA.
DELTAPossible values: When true, the run maps and validates but performs no remote writes.
falseWhen true, every extracted record is rewritten, even if unchanged. It bypasses the idempotency skip-if-unchanged check. Use it to force target IDs and values to be rewritten.
falseDry-run only. How many mapped records to sample per stream for the preview returned as dryRunSample. Clamped to 1-100; defaults to 25.
25What requested this run. Examples: Dashboard, an integration scenario name, or a scheduler name. The trigger field records only MANUAL or SCHEDULED. Use origin when more than one system calls this endpoint. If you omit origin or send a blank value, the service stores the trigger value. The service rejects values longer than 40 characters and values that contain control characters. It does not shorten them.
Make scenario 42The request was successful. The run has been started.
An import run and its reconciled counters.
The run identifier.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dThe configuration the run belongs to.
7c9e6679-7425-40de-944b-e07fc1f90ae7The owning tenant.
mytenantWhat triggered the run.
MANUALPossible values: What requested the run. The origin value from the trigger request, or the trigger value when origin was omitted. Use this field to distinguish a dashboard run from a run started by an integration scenario. The field is absent on runs recorded before it existed.
DashboardThe run status.
SUCCEEDEDPossible values: The run mode.
DELTAPossible values: When the run started.
2026-07-27T02:00:00.000ZWhen the run finished.
2026-07-27T02:04:12.000ZRecords read (created + updated + skipped + deleted + failed).
1250Records created.
40Records updated.
1180Records skipped because they were unchanged.
25Records that failed.
5Records deleted.
0Source rows that repeat a key already imported in this run. The import keeps the last row of each repeated key and discards earlier rows. Duplicate keys do not fail the run; they mean the source feed is not unique on the key the stream imports by.
25907Child records that were not imported because their parent could not be found. Counted separately from skipped, which counts records that were already up to date.
25370A terminal status message, typically set on failure.
Import completed with 5 record failures.When the run retries another run's failed records, the identifier of that original run.
7c9e6679-7425-40de-944b-e07fc1f90ae7Whether the run rewrote every record, bypassing the skip-if-unchanged check.
falseWhether the run only extracted, mapped, and validated, writing nothing to the target. A dry run legitimately reports zero for every counter, so this distinguishes it from a run that wrote nothing because it failed.
falseWhether cancellation has been requested for a run that is still finishing.
falseFor a dry run, how many mapped records were kept as a sample.
10Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.
Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
The request conflicts with the current state of the resource.
Internal Service Error occurred.
POST /importtool/{tenant}/configs/{configId}/runs HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 36
{
"mode": "FULL",
"origin": "Dashboard"
}{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"configId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"tenant": "mytenant",
"trigger": "MANUAL",
"origin": "Dashboard",
"status": "RUNNING",
"mode": "FULL",
"startedAt": "2026-07-27T02:00:00.000Z",
"finishedAt": null,
"recordsRead": 120,
"created": 10,
"updated": 100,
"skipped": 8,
"failed": 2,
"deleted": 0,
"message": null
}This functionality is in preview mode - some of the features may not be fully operational yet.
Retrieves a run's status together with its per-stream progress.
- : Needed to trigger, schedule, monitor, and cancel import runs and to read configurations, streams, schedules, runs, and imported data.
The tenant you want to access.
mytenantThe run identifier.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dThe request was successful. The run and its streams are returned.
A run together with its per-stream progress.
Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.
Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
The requested resource does not exist.
Internal Service Error occurred.
GET /importtool/{tenant}/runs/{runId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"run": {
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"configId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"tenant": "mytenant",
"trigger": "MANUAL",
"origin": "Dashboard",
"status": "SUCCEEDED",
"mode": "DELTA",
"startedAt": "2026-07-27T02:00:00.000Z",
"finishedAt": "2026-07-27T02:04:12.000Z",
"recordsRead": 1250,
"created": 40,
"updated": 1180,
"skipped": 25,
"failed": 5,
"deleted": 0,
"message": "Import completed with 5 record failures."
},
"streams": [
{
"id": "c56a4180-65aa-42ec-a945-5fd21dec0538",
"runId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"streamId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"streamName": "Products",
"status": "PARTIAL",
"recordsRead": 1250,
"created": 40,
"updated": 1180,
"skipped": 25,
"failed": 5,
"deleted": 0,
"message": "5 records failed validation."
}
]
}This functionality is in preview mode - some of the features may not be fully operational yet.
Streams a run's progress as Server-Sent Events: an initial snapshot (run and streams), then a stream event per processed batch, and a final run event when the run finishes.
- : Needed to trigger, schedule, monitor, and cancel import runs and to read configurations, streams, schedules, runs, and imported data.
The tenant you want to access.
mytenantThe run identifier.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dThe event stream was opened.
event: snapshot data: {"run":{"id":"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","status":"RUNNING"},"streams":[{"streamName":"Products","status":"RUNNING","recordsRead":120}]} event: stream data: {"streamName":"Products","status":"RUNNING","recordsRead":240,"created":20,"updated":210,"failed":2} event: run data: {"id":"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","status":"SUCCEEDED","recordsRead":1250}Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.
Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
Internal Service Error occurred.
GET /importtool/{tenant}/runs/{runId}/events HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
event: snapshot
data: {"run":{"id":"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","status":"RUNNING"},"streams":[{"streamName":"Products","status":"RUNNING","recordsRead":120}]}
event: stream
data: {"streamName":"Products","status":"RUNNING","recordsRead":240,"created":20,"updated":210,"failed":2}
event: run
data: {"id":"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","status":"SUCCEEDED","recordsRead":1250}This functionality is in preview mode - some of the features may not be fully operational yet.
Requests cancellation of an active run. By default the cancellation is cooperative; with force=true the run is stopped immediately and its configuration is unblocked.
- : Needed to trigger, schedule, monitor, and cancel import runs and to read configurations, streams, schedules, runs, and imported data.
The tenant you want to access.
mytenantThe run identifier.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dWhen true, hard-stops the run immediately.
falseExample: falseThe cancellation was accepted.
The outcome of a cancellation request.
The run the cancellation targeted.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dWhether a hard stop was requested.
falseWhether the cancellation was accepted. false when the run is unknown or already finished.
trueGiven request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.
Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
The request conflicts with the current state of the resource.
Internal Service Error occurred.
POST /importtool/{tenant}/runs/{runId}/cancel HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"runId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"force": false,
"accepted": true
}This functionality is in preview mode - some of the features may not be fully operational yet.
Retrieves the errors recorded during a run, paginated.
- : Needed to trigger, schedule, monitor, and cancel import runs and to read configurations, streams, schedules, runs, and imported data.
The tenant you want to access.
mytenantThe run identifier.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dThe zero-based page number.
0Example: 0The page size.
20The request was successful. The errors are returned.
Pagination metadata for a page of results.
The total number of elements across all pages.
1250The total number of pages.
63The current zero-based page number.
0The page size.
20Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.
Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
Internal Service Error occurred.
GET /importtool/{tenant}/runs/{runId}/errors HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"totalElements": 5,
"totalPages": 1,
"number": 0,
"size": 50,
"content": [
{
"id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"runId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"streamId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"naturalKey": "SKU-1001",
"targetEntity": "emporix.customEntity",
"stage": "MAPPING",
"errorCode": "REQUIRED_FIELD_MISSING",
"message": "Required field 'name' is missing for natural key SKU-1001.",
"createdAt": "2026-07-27T02:03:41.000Z"
}
]
}This functionality is in preview mode - some of the features may not be fully operational yet.
Starts a new run that reprocesses only the records that failed in the given run, instead of the whole source. The new run is returned immediately and reports its own progress; the original run is left untouched and keeps its counters.
As with any run, at most one run can be active per configuration.
- : Needed to trigger, schedule, monitor, and cancel import runs and to read configurations, streams, schedules, runs, and imported data.
The tenant you want to access.
mytenantThe run identifier.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dThe retry run was started.
An import run and its reconciled counters.
The run identifier.
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6dThe configuration the run belongs to.
7c9e6679-7425-40de-944b-e07fc1f90ae7The owning tenant.
mytenantWhat triggered the run.
MANUALPossible values: What requested the run. The origin value from the trigger request, or the trigger value when origin was omitted. Use this field to distinguish a dashboard run from a run started by an integration scenario. The field is absent on runs recorded before it existed.
DashboardThe run status.
SUCCEEDEDPossible values: The run mode.
DELTAPossible values: When the run started.
2026-07-27T02:00:00.000ZWhen the run finished.
2026-07-27T02:04:12.000ZRecords read (created + updated + skipped + deleted + failed).
1250Records created.
40Records updated.
1180Records skipped because they were unchanged.
25Records that failed.
5Records deleted.
0Source rows that repeat a key already imported in this run. The import keeps the last row of each repeated key and discards earlier rows. Duplicate keys do not fail the run; they mean the source feed is not unique on the key the stream imports by.
25907Child records that were not imported because their parent could not be found. Counted separately from skipped, which counts records that were already up to date.
25370A terminal status message, typically set on failure.
Import completed with 5 record failures.When the run retries another run's failed records, the identifier of that original run.
7c9e6679-7425-40de-944b-e07fc1f90ae7Whether the run rewrote every record, bypassing the skip-if-unchanged check.
falseWhether the run only extracted, mapped, and validated, writing nothing to the target. A dry run legitimately reports zero for every counter, so this distinguishes it from a run that wrote nothing because it failed.
falseWhether cancellation has been requested for a run that is still finishing.
falseFor a dry run, how many mapped records were kept as a sample.
10Given request is unauthorized - the authorization token is invalid or has expired. Details will be provided in the response payload.
Given authorization scopes are not sufficient and do not match scopes required by the endpoint.
The requested resource does not exist.
The request conflicts with the current state of the resource.
Internal Service Error occurred.
POST /importtool/{tenant}/runs/{runId}/retry HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"configId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"tenant": "mytenant",
"trigger": "MANUAL",
"origin": "Dashboard",
"status": "RUNNING",
"mode": "FULL",
"startedAt": "2026-07-27T02:00:00.000Z",
"finishedAt": null,
"recordsRead": 120,
"created": 10,
"updated": 100,
"skipped": 8,
"failed": 2,
"deleted": 0,
"message": null
}Last updated
Was this helpful?

