Automate File Transfers
Automate recurring File Transfers using schedules or triggers. Automations are managed through standard CRUD operations.
| Purpose | Method · Endpoint |
|---|---|
| Create Automation | POST /api/automation |
| List Automations | GET /api/automation |
| Get Automation | GET /api/automation/{automationId} |
| Get Automation Details (Progress & OS) | GET /api/automation/{automationId}/details |
| Update Automation | PATCH /api/automation/{automationId} |
| Delete Automation | DELETE /api/automation/{automationId} |
| Pause / Resume | POST /api/automation/pause |
| Validate Device Path | POST /api/automation/checkValidDevicePath |
Create example:
bash
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
curl -X POST https://exacoola.innorix.com/api/automation \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"name": "Automation e7f2a9b3-5c1d-4e9a-8b72-3d4e9f102a8c",
"schedule": {
"type": "day",
"hour": "09",
"minute": "30",
"timezone": "America/New_York",
"startDate": "2025-02-27T14:30:00.000Z",
"endDate": "2025-02-28T14:30:00.000Z"
},
"details": [
{
"sourceItem": [
"D:/Projects/data/exported_users.csv",
"D:/Projects/data/sales_report.pdf"
],
"targetPath": "D:/Backup/Daily_Reports",
"senderId": "user123",
"receiverId": "backup_sys_001",
"step": 1,
"fileCount": 2,
"folderCount": 0,
"sizeCount": 1000
}
]
}'
Response:
json
1
2
3
4
5
{
"status_code": 200,
"message": "success",
"data": { "automationId": "auto_301", "status": "active" }
}
Update — PATCH /api/automation/{automationId}
bash
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
curl -X PATCH https://exacoola.innorix.com/api/automation/auto_301 \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"name": "Nightly backup (updated)",
"schedule": {
"type": "day",
"hour": "02",
"minute": "00",
"timezone": "Asia/Seoul",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-12-31T00:00:00.000Z"
},
"details": [
{
"sourceItem": [
"D:/Logs/application.log"
],
"targetPath": "D:/Logs/Archive",
"senderId": "app_server_01",
"receiverId": "log_archiver",
"step": 1,
"fileCount": 1,
"folderCount": 0,
"sizeCount": 1000
}
]
}'
Pause / Resume — POST /api/automation/pause
bash
1
2
3
4
5
curl -X POST https://exacoola.innorix.com/api/automation/pause \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{ "pause": true }'
Validate Device Path — POST /api/automation/checkValidDevicePath
Verify that the target path is valid across multiple Devices before creating an Automation.
bash
1
2
3
4
5
6
7
8
curl -X POST https://exacoola.innorix.com/api/automation/checkValidDevicePath \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"deviceList": ["6825bf6bd75095bd0c9ab2f5", "6825c0bdfaa222ffa5b160a7"],
"pathEncodeList": ["685a75571b83d6e0cef3228f_ino_aG1rYW5nL2R1bW15Mg", "685a75571b83d6e0cef3228f_ino_aG1rYW5nL2R1bW15Mg"]
}'
Response:
json
1
2
3
[
{ "deviceId": "DEVICE_001", "isValid": true }
]
Get Automation Details (Progress & OS Type) — GET /api/automation/{automationId}/details
Retrieve the Transfer progress and Device OS type.
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number |
size | integer | Number of results per page |