Discover

Get Started

Developers

Industries

Automate File Transfers

Automate recurring File Transfers using schedules or triggers. Automations are managed through standard CRUD operations.

PurposeMethod · Endpoint
Create AutomationPOST /api/automation
List AutomationsGET /api/automation
Get AutomationGET /api/automation/{automationId}
Get Automation Details (Progress & OS)GET /api/automation/{automationId}/details
Update AutomationPATCH /api/automation/{automationId}
Delete AutomationDELETE /api/automation/{automationId}
Pause / ResumePOST /api/automation/pause
Validate Device PathPOST /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" } }

UpdatePATCH /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 / ResumePOST /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 PathPOST /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.

ParameterTypeDescription
pageintegerPage number
sizeintegerNumber of results per page