Automate recurring transfers based on schedules or triggers. Automation is managed through standard CRUD operations on the automations resource.
| Purpose | Method · Path |
|---|---|
| Create automation | POST /api/automations |
| List automations | GET /api/automations |
| Get details | GET /api/automations/{automationId} |
| Get details (progress · OS) | GET /api/automations/{automationId}/details |
| Get execution logs | GET /api/automations/{automationId}/executions |
| Update | PATCH /api/automations/{automationId} |
| Delete | DELETE /api/automations/{automationId} |
| Pause/Resume | POST /api/automations/{automationId}/pause |
| Get next schedules | GET /api/automation-details/{detailId}/next-schedules |
Creation example:
curl -X POST https://app.innorix.com/api/automations \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"name": "Nightly backup",
"transferType": "scheduled",
"timezone": "Asia/Seoul",
"schedules": [
{
"type": "day",
"hour": "02",
"minute": "00",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-12-31T00:00:00.000Z"
}
],
"details": [
{
"sourceItem": [ "D:/Projects/data/exported_users.csv" ],
"targetPath": "D:/Backup/Daily_Reports",
"senderId": "user123",
"receiverId": "backup_sys_001",
"step": 1,
"fileCount": 1,
"folderCount": 0,
"sizeCount": 1000
}
]
}'
Response:
{
"status_code": 200,
"message": "success",
"data": { "automationId": "auto_301", "status": "active" }
}
Update — PATCH /api/automations/{automationId}
curl -X PATCH https://app.innorix.com/api/automations/auto_301 \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"name": "Nightly backup (updated)",
"timezone": "Asia/Seoul",
"schedules": [
{ "type": "day", "hour": "03", "minute": "30" }
]
}'
Pause/Resume — POST /api/automations/{automationId}/pause
Pause or resume a specific automation. Set pause to true to pause it and false to resume it.
curl -X POST https://app.innorix.com/api/automations/auto_301/pause \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{ "pause": true }'
Get details (progress · OS type) — GET /api/automations/{automationId}/details
Retrieve transfer progress together with the device OS type.
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number |
size | integer | Items per page |
Get next schedules — GET /api/automation-details/{detailId}/next-schedules
Retrieve the next execution time for the automation detail.
curl "https://app.innorix.com/api/automation-details/D1234-5678/next-schedules" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
Get execution logs — GET /api/automations/{automationId}/executions
Retrieve execution logs for a specific automation.
curl "https://app.innorix.com/api/automations/auto_301/executions" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
Command Automation (URL Request Trigger)
Trigger an automation through an external URL request. First issue a trigger code and, if required, a command-specific API key. Then create the command automation using that code and execute it externally by calling https://app.innorix.com/command/{code}.
| Purpose | Method · Path |
|---|---|
| Issue trigger code | POST /api/command/generate-code |
| Issue command-specific API key | GET /api/command/generate-api-key |
| Execute external trigger | GET /command/{code} or POST /command/{code} |
Issue trigger code — POST /api/command/generate-code
Issues an opaque code that identifies the command automation. There is no request body, and authentication uses a Bearer access token. Append the returned code to the trigger URL.
curl -X POST https://app.innorix.com/api/command/generate-code \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
Issue command-specific API key — GET /api/command/generate-api-key
Issues a command-specific key (CommandApiKey) used to authenticate external triggers. This is separate from the general user API key issued through POST /api/auth/api-keys. Send it in the x-api-key header when triggering the automation.
curl "https://app.innorix.com/api/command/generate-api-key" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
Execute external trigger — GET /command/{code} · POST /command/{code}
{code} specifies the command automation to execute. GET and POST behave identically and have no request body. This host differs from the /api base URL (there is no /api in the path). Required credentials depend on the automation's authType.
authType | Required credentials |
|---|---|
0 (none) | None — executes with a valid code only |
1 (api_key) | Command-specific API key in the x-api-key header |
2 (bearer) | Authorization: Bearer <token> |
Missing or invalid credentials, or an unknown code, return 401. If the automation schedule is not in the RUNNING state, the request returns 400.
# authType=1 (api_key) example
curl -X POST "https://app.innorix.com/command/<CODE>" \
-H "x-api-key: <COMMAND_API_KEY>"