Configure manual data egress
- Last UpdatedDec 16, 2025
- 7 minute read
Manual data egress is a task that sends the timeseries data collected by Edge Data Store (EDS) to long term storage in either CONNECT data services or PI Server. You can create multiple manual egress tasks.
Once you prepare the CONNECT data services or PI Server destinations to receive Open Message Format (OMF) messages and configure EgressEndpoints for the chosen destination, you can send manual egress requests as needed. For example, you may need to backfill data or want to review data for an event as soon as possible. For more information on egress destinations, see Prepare egress destinations.
Make requests in JSON using parameters, similar to periodic egress, to specify which data to egress and when the egress should happen. You can either save the parameters in a file to send them or send the request directly. In addition to creating manual egress requests, you can cancel, resume, and delete these requests. For a list of other REST operations you can perform, see REST URLs.
Note: The maximum number of manual egress jobs is 50, including completed jobs. If the maximum number is reached, new manual egress requests are rejected. Use the delete REST operation to remove egress jobs that you no longer need.
Send manual data egress request
To send a manual data egress request:
-
Create a JSON file.
Note: If you prefer, you can send the JSON request directly without saving the parameters to a file.
-
Update the parameters as needed.
-
Save the JSON file to any directory on the device where Edge Data Store is installed. For example, as ManualEgress.json.
-
Use any tool capable of making HTTP requests to send the contents of the JSON request to the following configuration endpoint using POST:
http://localhost:5590/api/v1/configuration/storage/manualegresses
Example using , which must be run from the directory where the JSON file is saved:
curl -d "@ManualEgress.json" -H "Content-Type: application/json" -X POST http://localhost:5590/api/v1/configuration/storage/manualegresses
Parameters
The following table lists the parameters for manual egress.
|
Parameter |
Required |
Type |
Description |
|---|---|---|---|
|
Id |
Optional |
string |
Unique identifier of the request. |
|
EndpointId |
Required |
string |
Unique identifier of the endpoint destination. Note: You must configure the endpoint before sending manual egress requests. |
|
Period |
Optional |
string |
The frequency of time between each egress action after the initial egress. Must be a string in the format d.hh:mm:ss.##. See ScheduledTime for additional information. If you do not set the Period, the default value is 01:00:00, which is 1 hour. If the entire range of data specified by the StartIndex and EndIndex is in the past, the Period is not used. |
|
ScheduledTime |
Optional |
string |
The date and time when the egress request will begin. Valid formats are: : yyyy-mm-ddThh:mm:ssZ and Local: yyyy-mm-ddThh:mm:ss. Use the ScheduledTime parameter if you want data egress to begin at or after a specific time instead of beginning immediately. If you do not specify a ScheduledTime, uses the time the request is received. Note: Only one manual egress job runs at a time. |
|
StartIndex |
Optional |
string |
Identifies the first data point to transfer. If null, it is interpreted as the date and time egress is scheduled to start. The Valid formats are: UTC: yyyy-mm-ddThh:mm:ssZ, Local: yyyy-mm-ddThh:mm:ss, and Relative: +d.hh:mm:ss.## or -d.hh:mm:ss.##. Relative time strings are calculated based on the ScheduledTime. If the ScheduledTime is not specified, the relative time string is calculated based on the time the egress job request is received. |
|
EndIndex |
Optional |
string |
Identifies the last data point to transfer. If null, it is interpreted as the date and time egress is scheduled to end. Valid formats are: UTC: yyyy-mm-ddThh:mm:ssZ, Local: yyyy-mm-ddThh:mm:ss, and Relative: +d.hh:mm:ss.##. Relative time strings are calculated based on the StartIndex. Relative time strings must be positive to ensure a range of data is selected for egress. |
|
DataSelectors |
Optional |
array |
An array of configuration settings to select data for egress. See the DataSelectors parameters in the following table. |
The following table lists egress parameters for EgressConfigurations.
|
Parameter |
Required |
Type |
Description |
|---|---|---|---|
|
Id |
Optional |
string |
Unique identifier of the configuration |
|
Name |
Optional |
string |
Friendly name |
|
Description |
Optional |
string |
Friendly description |
|
Enabled |
Optional |
boolean |
An indicator of whether egress is enabled when the egress endpoint is loaded. Defaults to true. |
|
EndpointId |
Required |
string |
Id of the endpoint selected for egress |
|
ScheduleId |
Required |
string |
Id of the schedule selected for egress |
|
DataSelectorIds |
Optional |
array |
Ids of the data selectors for egress |
|
NamespaceId |
Optional |
string |
Represents the namespace that will be egressed. There are two available namespaces: default and diagnostics. The default namespace is default. |
|
Backfill |
Optional |
boolean |
Indicates whether data will be backfilled. Data backfill occurs when you run the egress endpoint for the first time after application startup. This results in all data from the earliest to the latest stored index being egressed. Set to true to backfill data. Defaults to false. |
|
StreamPrefix |
Optional |
string |
Prefix applied to any streams that are egressed. A null string or a string containing only empty spaces will be ignored. The following restricted characters are not allowed: / : ? # [ ] @ ! $ & ' ( ) \ * + , ; = % | < > { } ` " |
|
TypePrefix |
Optional |
string |
Prefix applied to any types that are egressed. A null string or a string containing only empty spaces will be ignored. The following restricted characters are not allowed: / : ? # [ ] @ ! $ & ' ( ) \ * + , ; = % | < > { } ` " |
The following table lists egress parameters for DataSelectors.
|
Parameter |
Required |
Type |
Description |
|---|---|---|---|
|
Id |
Required |
string |
Unique identifier of the data selector configuration. |
|
StreamFilter |
Optional |
string |
A filter used to determine which streams and types are egressed. For more information on valid filters, see Search in SDS. |
|
AbsoluteDeadband |
Optional |
string |
Specifies the absolute change in data value that will cause the current value to pass the filter test. |
|
PercentChange |
Optional |
string |
Specifies the percent change from previous value that will cause the current value to pass the filter test. |
|
ExpirationPeriod |
Optional |
string |
The length in time that can elapse after an event before automatically storing the next event. The expected format is HH:MM:SS.###. |
Example manual egress request
The following is an example manual egress request.
{
"Id": "Egress1",
"EndpointId": "CONNECT data services_Location",
"Period": "00:00:30",
"ScheduledTime": "2022-08-10T21:20:00Z",
"StartIndex": "2022-08-08T18:20:00Z",
"EndIndex": "+ 04:00:00",
"DataSelectors": [
{
"id": "PercentChangeFilter",
"percentChange": 1
}
]
}
Example manual egress response
The following is an example response for a manual egress request.
{
"id": "Egress1",
"endpointId": "CONNECT data services_Location",
"period": "00:00:30",
"requestTimeUtc": "2022-08-10T13:45:58.607148Z",
"scheduledTime": "2022-08-10T21:20:00Z",
"dataSelectors": [
{
"id": "PercentChangeFilter",
"streamFilter": null,
"absoluteDeadband": null,
"percentChange": 1,
"expirationPeriod": null
}
],
"startIndex": "2022-08-08T18:20:00Z",
"endIndex": "+ 04:00:00",
"startIndexDateTimeUtc": "2022-08-08T18:20:00Z",
"endIndexDateTimeUtc": "2022-08-08T22:20:00Z",
"checkpoint": null,
"progress": 0,
"status": "Active",
"errors": null
}
Response parameters
Response parameters include information sent in the manual egress request and additional information about how the request will be processed. The following table lists the response parameters for manual egress.
|
Parameter |
Description |
|---|---|
|
RequestTimeUtc |
The date and time EDS received the egress request. |
|
StartIndexDateTimeUtc |
The date and time of the first data point to transfer in . If you specified a relative time, this is the calculated result. |
|
EndIndexDateTimeUtc |
The date and time of the last data point to transfer UTC. If you specified a relative time, this is the calculated result. |
|
Checkpoint |
The latest timestamp that the egress has completed with the range between StartIndex and EndIndex. |
|
Progress |
Current percent complete of the egress job. |
|
Status |
Status of the egress job. Values are Active, Canceled, Complete, and Failed. |
|
Errors |
Errors encountered during egress. |
REST URLs
|
HTTP verb |
Relative URL |
Action |
|---|---|---|
|
|
api/v1/configuration/storage/manualegresses |
Requests a manual egress job |
|
|
api/v1/configuration/storage/manualegresses |
Returns the state of all manual egress jobs in the queue |
|
|
api/v1/configuration/storage/manualegresses |
Cancels all active manual egress job and removes states |
|
|
api/v1/configuration/storage/manualegresses/<Id> |
Returns the state of a specific egress job |
|
|
api/v1/configuration/storage/manualegresses/<Id> |
Deletes the state of an individual egress job |
|
|
api/v1/configuration/storage/manualegresses/<Id>/cancel |
Cancels an egress job |
|
|
api/v1/configuration/storage/manualegresses/<Id>/resume |
Resumes a canceled or failed egress job |
Note: Replace <Id> with the Id of the egress job for which you want to perform the action.


