INNORIX
Transfer BuilderTransfer FinderDevelopersResourcesCustomers
Start Free
INNORIX

LET FILES
MOVE THEMSELVES

INNORIX provides enterprise file infrastructure for moving and automating files across every system and environment.
Trusted by more than 5,000 enterprise and government agencies.

START HERE

  • Build the Transfer You Need
  • Find the Transfer You Need

POPULAR TRANSFERS

  • Sync Team Folders
  • Send Large Files to Clients
  • Explore Files Across Systems
  • Migrate FTP, SFTP, SCP & rsync
  • Add Transfer to Any App
  • Add Web Upload & Download
  • Build AI & Data Workflows
  • Browse All Transfers→

DEVELOPERS

  • Developer Center
  • Examples
  • API Quickstart
  • Developer Guide
  • API Reference
  • GitHub

RESOURCES

  • Resource Center
  • Product Guide
  • Integrations
  • Deploy & Manage
  • Help Center

CUSTOMERS

  • Government
  • Public Sector
  • Manufacturing
  • Engineering
  • Finance
  • Distribution
  • IT/Telecom
  • Media
  • Healthcare
  • Education

PLANS

  • Pricing

COMPANY

About Us

OTHER INNORIX PRODUCT

Al.bert — Smart Traffic AI

GLOBAL OFFICES

  • New York, USA
  • Seoul, South Korea
  • Ho Chi Minh City, Vietnam
  • View Office Locations→

(C)2026 INNORIX. All rights reserved.

  • Security
  • Status
  • Terms
  • Privacy
  • Cookies
  1. Developers
  2. API Reference
  3. Automate File Transfers

Automate File Transfers

INNORIX documentation for reference: Automation.

  • Get Your API Key
  • Control & Monitor File Transfers
  • Automate File Transfers
  • API Reference
Deploy & Manage
Exabyter

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:

bash
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:

json
{
  "status_code": 200,
  "message": "success",
  "data": { "automationId": "auto_301", "status": "active" }
}

Update — PATCH /api/automations/{automationId}

bash
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.

bash
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.

bash
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.

bash
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.

bash
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.

bash
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.

bash
# authType=1 (api_key) example
curl -X POST "https://app.innorix.com/command/<CODE>" \
  -H "x-api-key: <COMMAND_API_KEY>"
PreviousControl & Monitor File TransfersNextAPI Reference

On this page

  • Command Automation (URL Request Trigger)