--- title: "createWorkflow" slug: "analytics-dataflow-createworkflow" updated: 2026-10-19T10:25:31Z published: 2026-10-20T03:00:25Z canonical: "api.ncloud-docs.com/analytics-dataflow-createworkflow" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # createWorkflow VPC 환경에서 이용 가능합니다. 워크플로를 생성합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /api/v1/workflows | ### 요청 헤더 Data Flow API에서 공통으로 사용하는 헤더에 대한 정보는 [Data Flow 요청 헤더](/docs/analytics-dataflow#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `name` | String | Required | 워크플로 이름 - 영문자, 숫자, 특수 문자 `_`, `-`를 조합하여 3~100자 이내로 입력 - 문자열의 시작은 영문자 또는 `_`로 구성 | | `nodes` | Array | Required | 노드 정보: [nodes](/docs/analytics-dataflow-createworkflow#nodes1) | #### `nodes` `nodes`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `id` | String | Required | 노드 아이디 - `triggerId` \| `jobId` - `triggerId`: [getTriggers](/docs/analytics-dataflow-gettriggers) 참조 (`type`이 `TRIGGER`인 경우) - `jobId`: [getJobs](/docs/analytics-dataflow-getjobs) 참조 (`type`이 `JOB`인 경우) | | `name` | String | Required | 노드 이름 - 트리거 이름 \| 작업 이름 - 트리거 이름: [getTriggers](/docs/analytics-dataflow-gettriggers) 참조 (`type`이 `TRIGGER`인 경우) - 작업 이름: [getJobs](/docs/analytics-dataflow-getjobs) 참조 (`type`이 `JOB`인 경우) | | `type` | String | Required | 노드 유형 - `TRIGGER` \| `JOB` | | `parentNodeIds` | Array | Required | 상위 노드 아이디 목록 - 작업 노드 오브젝트는 트리거 노드의 아이디 입력 - 트리거 노드 오브젝트는 빈 값 유지 | | `triggerRule` | String | Optional | 트리거 노드 실행 옵션 정보 - `RECURRING` \| `ONE_TIME` \| `NONE` - `RECURRING`: 주기 실행 - `ONE_TIME`: 특정일 실행 - `NONE`: 실행 옵션 없음 | | `jobCondition` | Object | Required | 작업 실행 옵션 정보 | | `jobCondition.numWorker` | Integer | Optional | 워커 수 - `2`~`10` | | `jobCondition.timeout` | Integer | Optional | 실행 타임아웃 (분) - `1`~`1440` | | `jobCondition.nrn` | String | Required | 작업에 대한 네이버 클라우드 플랫폼 리소스 식별 값 | | `jobCondition.scriptPath` | String | Required | 작업 실행 스크립트 저장 경로 | | `jobCondition.logPath` | String | Required | 작업 실행 이력 저장 경로 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://dataflow.apigw.ntruss.com/api/v1/workflows' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --data '{ "name": "workflow001", "nodes": [ { "id": "gqigvH******", "name": "job001", "type": "JOB", "parentNodeIds": [ "d125za******" ], "jobCondition": { "numWorker": 3, "timeout": 360, "nrn": "nrn:PUB:IAM::25****4:Role/****-a9d6-****-a85d-****", "scriptPath": "dataflow-33-****/scripts/", "logPath": "dataflow-33-****/sparkHistoryLogs/" } }, { "id": "d125za******", "name": "trigger001", "type": "TRIGGER", "parentNodeIds": [], "triggerRule": "RECURRING" } ] }' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `workflowId` | String | - | 워크플로 아이디 | | `name` | String | - | 워크플로 이름 | | `nodes` | Array | - | 노드 정보: [nodes](/docs/analytics-dataflow-createworkflow#nodes2) | | `createdDate` | String | - | 워크플로 생성 일시 - ISO 8601 형식 (UTC+9 포함) | | `updatedDate` | String | - | 워크플로 수정 일시 - ISO 8601 형식 (UTC+9 포함) | #### `nodes` `nodes`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `id` | String | - | 노드 아이디 - `type`에 따라 `triggerId` 또는 `jobId` 값 표시 | | `name` | String | - | 노드 이름 - `type`에 따라 트리거 이름 또는 작업 이름 표시 | | `type` | String | - | 노드 유형 - `TRIGGER` \| `JOB` | | `parentNodeIds` | Array | - | 상위 노드 아이디 목록 - 작업 노드 오브젝트는 트리거 노드의 아이디 표시 - 트리거 노드 오브젝트는 빈 값 표시 | | `triggerRule` | String | - | 트리거 노드 실행 옵션 정보 - `RECURRING` \| `ONE_TIME` \| `NONE` - `RECURRING`: 주기 실행 - `ONE_TIME`: 특정일 실행 - `NONE`: 실행 옵션 없음 | | `isValid` | Boolean | - | 노드 삭제 여부(노드 사용 가능 여부) - `true` \| `false` - `true`: 미삭제 (사용 가능) - `false`: 삭제 (사용 불가) | | `jobCondition` | Object | - | 작업 실행 옵션 정보 | | `jobCondition.numWorker` | Integer | - | 워커 수 - `2`~`10` | | `jobCondition.timeout` | Integer | - | 실행 타임아웃 (분) - `1`~`1440` | | `jobCondition.nrn` | String | - | 작업에 대한 네이버 클라우드 플랫폼 리소스 식별 값 | | `jobCondition.scriptPath` | String | - | 작업 실행 스크립트 저장 경로 | | `jobCondition.logPath` | String | - | 작업 실행 이력 저장 경로 | ### 응답 상태 코드 Data Flow API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Data Flow 응답 상태 코드](/docs/analytics-dataflow#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "workflowId" : "3tfNLP******", "name" : "workflow001", "nodes" : [ { "id" : "gqigvH******", "name" : "job001", "type" : "JOB", "parentNodeIds" : [ "8bjF7E******" ], "isValid" : true, "jobCondition" : { "numWorker" : 3, "timeout" : 360, "nrn" : "nrn:PUB:IAM::*******:Role/********-0496-11f0-baf6-246e96591a38", "scriptPath" : "dataflow-2706412-****/scripts/", "logPath" : "dataflow-2706412-****/sparkHistoryLogs/" } }, { "id" : "8bjF7E******", "name" : "trigger001", "type" : "TRIGGER", "parentNodeIds" : [ ], "triggerRule" : "RECURRING", "isValid" : true } ], "createdDate" : "2025-03-24T14:46:24+09:00", "updatedDate" : "2025-03-24T14:46:24+09:00" } ```