반복 전송을 스케줄 또는 트리거 기반으로 자동화합니다. 자동화(automation)는 automations 리소스의 표준 CRUD로 관리합니다.
| 목적 | 메서드 · 경로 |
|---|---|
| 자동화 생성 | POST /api/automations |
| 목록 조회 | GET /api/automations |
| 상세 조회 | GET /api/automations/{automationId} |
| 상세 조회 (진행률·OS) | GET /api/automations/{automationId}/details |
| 실행 로그 조회 | GET /api/automations/{automationId}/executions |
| 업데이트 | PATCH /api/automations/{automationId} |
| 삭제 | DELETE /api/automations/{automationId} |
| 일시 중지/재개 | POST /api/automations/{automationId}/pause |
| 다음 스케줄 조회 | GET /api/automation-details/{detailId}/next-schedules |
생성 예시:
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
}
]
}'
응답:
{
"status_code": 200,
"message": "success",
"data": { "automationId": "auto_301", "status": "active" }
}
업데이트 — 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" }
]
}'
일시 중지/재개 — POST /api/automations/{automationId}/pause
특정 자동화를 일시 중지하거나 재개합니다. pause를 true로 하면 중지, false로 하면 재개합니다.
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 }'
상세 조회 (진행률·OS 타입) — GET /api/automations/{automationId}/details
전송 진행률과 장비 OS 타입까지 함께 조회합니다.
| 파라미터 | 타입 | 설명 |
|---|---|---|
page | integer | 페이지 번호 |
size | integer | 페이지당 개수 |
다음 스케줄 조회 — GET /api/automation-details/{detailId}/next-schedules
자동화 상세의 다음 실행 시각을 조회합니다.
curl "https://app.innorix.com/api/automation-details/D1234-5678/next-schedules" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
실행 로그 조회 — GET /api/automations/{automationId}/executions
특정 자동화의 실행 로그를 조회합니다.
curl "https://app.innorix.com/api/automations/auto_301/executions" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
명령 자동화 (URL Request 트리거)
자동화를 외부 URL 호출로 트리거합니다. 먼저 트리거 코드와 (필요 시) 명령 전용 API 키를 발급한 뒤, 그 코드로 명령 자동화를 만들고, 외부에서 https://app.innorix.com/command/{code}를 호출해 실행합니다.
| 목적 | 메서드 · 경로 |
|---|---|
| 트리거 코드 발급 | POST /api/command/generate-code |
| 명령 전용 API 키 발급 | GET /api/command/generate-api-key |
| 외부 트리거 실행 | GET /command/{code} 또는 POST /command/{code} |
트리거 코드 발급 — POST /api/command/generate-code
명령 자동화를 식별하는 불투명(opaque) 코드를 발급합니다. 요청 본문은 없으며 Bearer 액세스 토큰으로 인증합니다. 반환된 code를 트리거 URL 뒤에 붙입니다.
curl -X POST https://app.innorix.com/api/command/generate-code \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
명령 전용 API 키 발급 — GET /api/command/generate-api-key
외부 트리거 인증에 쓰는 명령 전용 키(CommandApiKey)를 발급합니다. POST /api/auth/api-keys로 발급하는 일반 사용자 API 키와는 별개입니다. 트리거 시 x-api-key 헤더로 보냅니다.
curl "https://app.innorix.com/api/command/generate-api-key" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
외부 트리거 실행 — GET /command/{code} · POST /command/{code}
{code}가 실행할 명령 자동화를 지정합니다. GET·POST 모두 동일하게 동작하며 요청 본문은 없습니다. 이 호스트는 /api 기본 URL과 다릅니다(경로에 /api 없음). 필요한 자격 증명은 자동화의 authType에 따라 다릅니다.
authType | 필요한 자격 증명 |
|---|---|
0 (none) | 없음 — 유효한 코드만으로 실행 |
1 (api_key) | x-api-key 헤더에 명령 전용 API 키 |
2 (bearer) | Authorization: Bearer <token> |
자격 증명 누락·오류나 알 수 없는 코드는 401, 자동화 스케줄이 RUNNING 상태가 아니면 400을 반환합니다.
# authType=1 (api_key) 예시
curl -X POST "https://app.innorix.com/command/<CODE>" \
-H "x-api-key: <COMMAND_API_KEY>"