본문으로 건너뛰기
Structly 문서
English

API 레퍼런스

Workflow

이 페이지의 내용

이 페이지는 공개 계약에서 생성하며 설명은 원문(한국어) 그대로 표시합니다.

Endpoint·Workflow를 호출하는 순서 있는 Step 기록.

listWorkflows#

GET /api/workflows

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
handlequerystring아니요handle 정확 일치 필터. 앞뒤 공백 제거·소문자 정규화 후 비교하며 형식이 맞지 않으면 400 INVALID_REQUEST입니다. 기존 q·sort·page·per_page와 함께 사용할 수 있습니다. 결과는 최대 1건입니다.
qquerystring아니요
sortqueryany아니요값: key, -key, name, -name
pagequeryinteger아니요
per_pagequeryinteger아니요

응답

상태설명
200성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

200 응답 본문

배열(WorkflowSummary[])이며 표는 항목의 필드입니다.

이름타입필수설명
workflow_keystring예
namestring예
summarystring예
descriptionstring예
idstring예
handlestring예같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)예
updated_atstring(date-time)예
step_countinteger예

createWorkflow#

POST /api/workflows

인증: 세션 쿠키 또는 Agent 토큰

요청 본문

application/json · 필수: 예

타입: WorkflowCreate

이름타입필수설명
handlestring예필수. 앞뒤 공백 제거·소문자 정규화 후 3~39자의 영문 소문자·숫자·단일 하이픈만 허용하며 정규화한 값을 저장합니다. 같은 Organization의 같은 Catalog에서 이미 사용 중이면 409 HANDLE_CONFLICT, 형식 오류는 422 VALIDATION_FAILED(오류 field /handle, code invalid_format)입니다.
workflow_keystring예
namestring예
summarystring아니요
descriptionstring아니요
inputsobject | boolean | null아니요null 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]아니요
parametersWorkflow.Parameter[]아니요
success_actionsAction[]아니요
failure_actionsAction[]아니요
outputsOutput[]아니요
stepsStep[]예
sourceSource | null아니요

응답

상태설명
201성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

201 응답 본문

타입: Workflow

이름타입필수설명
workflow_keystring예
namestring예
summarystring예
descriptionstring예
inputsobject | boolean | null예null 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]예
parametersWorkflow.Parameter[]예
success_actionsAction[]예
failure_actionsAction[]예
outputsOutput[]예
stepsStep[]예
sourceSource | null예
idstring예
handlestring예같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)예
updated_atstring(date-time)예

getWorkflow#

GET /api/workflows/{id}

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예
If-None-Matchheaderstring아니요

응답

상태설명
200성공
304일치하는 ETag. 본문 없음.
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

200 응답 본문

타입: Workflow

이름타입필수설명
workflow_keystring예
namestring예
summarystring예
descriptionstring예
inputsobject | boolean | null예null 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]예
parametersWorkflow.Parameter[]예
success_actionsAction[]예
failure_actionsAction[]예
outputsOutput[]예
stepsStep[]예
sourceSource | null예
idstring예
handlestring예같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)예
updated_atstring(date-time)예

updateWorkflow#

PUT /api/workflows/{id}

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예
If-Matchheaderstring예단일 strong ETag. 삭제 참조 보호 409가 누락 428·불일치 412보다 우선.

요청 본문

application/json · 필수: 예

타입: WorkflowReplace

이름타입필수설명
handlestring아니요선택. 생략하면 저장된 값을 유지합니다. 앞뒤 공백 제거·소문자 정규화 후 3~39자의 영문 소문자·숫자·단일 하이픈만 허용하며 정규화한 값을 저장합니다. 같은 Organization의 같은 Catalog에서 이미 사용 중이면 409 HANDLE_CONFLICT, 형식 오류는 422 VALIDATION_FAILED(오류 field /handle, code invalid_format)입니다.
workflow_keystring예
namestring예
summarystring예
descriptionstring예
inputsobject | boolean | null예null 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]예
parametersWorkflow.Parameter[]예
success_actionsAction[]예
failure_actionsAction[]예
outputsOutput[]예
stepsStep[]예
sourceSource | null예

응답

상태설명
200성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

200 응답 본문

타입: Workflow

이름타입필수설명
workflow_keystring예
namestring예
summarystring예
descriptionstring예
inputsobject | boolean | null예null 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]예
parametersWorkflow.Parameter[]예
success_actionsAction[]예
failure_actionsAction[]예
outputsOutput[]예
stepsStep[]예
sourceSource | null예
idstring예
handlestring예같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)예
updated_atstring(date-time)예

deleteWorkflow#

DELETE /api/workflows/{id}

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예
If-Matchheaderstring예단일 strong ETag. 삭제 참조 보호 409가 누락 428·불일치 412보다 우선.

응답

상태설명
204성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

validateWorkflowCreate#

POST /api/workflows/validate

인증: 세션 쿠키 또는 Agent 토큰

요청 본문

application/json · 필수: 예

타입: WorkflowCreate

이름타입필수설명
handlestring예필수. 앞뒤 공백 제거·소문자 정규화 후 3~39자의 영문 소문자·숫자·단일 하이픈만 허용하며 정규화한 값을 저장합니다. 같은 Organization의 같은 Catalog에서 이미 사용 중이면 409 HANDLE_CONFLICT, 형식 오류는 422 VALIDATION_FAILED(오류 field /handle, code invalid_format)입니다.
workflow_keystring예
namestring예
summarystring아니요
descriptionstring아니요
inputsobject | boolean | null아니요null 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]아니요
parametersWorkflow.Parameter[]아니요
success_actionsAction[]아니요
failure_actionsAction[]아니요
outputsOutput[]아니요
stepsStep[]예
sourceSource | null아니요

응답

상태설명
200성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

200 응답 본문

타입: Validation

이름타입필수설명
validtrue예
operationany예값: create, update

validateWorkflowUpdate#

PUT /api/workflows/{id}/validate

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예
If-Matchheaderstring예단일 strong ETag. 삭제 참조 보호 409가 누락 428·불일치 412보다 우선.

요청 본문

application/json · 필수: 예

타입: WorkflowReplace

이름타입필수설명
handlestring아니요선택. 생략하면 저장된 값을 유지합니다. 앞뒤 공백 제거·소문자 정규화 후 3~39자의 영문 소문자·숫자·단일 하이픈만 허용하며 정규화한 값을 저장합니다. 같은 Organization의 같은 Catalog에서 이미 사용 중이면 409 HANDLE_CONFLICT, 형식 오류는 422 VALIDATION_FAILED(오류 field /handle, code invalid_format)입니다.
workflow_keystring예
namestring예
summarystring예
descriptionstring예
inputsobject | boolean | null예null 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]예
parametersWorkflow.Parameter[]예
success_actionsAction[]예
failure_actionsAction[]예
outputsOutput[]예
stepsStep[]예
sourceSource | null예

응답

상태설명
200성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

200 응답 본문

타입: Validation

이름타입필수설명
validtrue예
operationany예값: create, update

workflowReferrers#

GET /api/workflows/{id}/referrers

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예

응답

상태설명
200성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

200 응답 본문

배열(Referrer[])이며 표는 항목의 필드입니다.

이름타입필수설명
workflow_keystring예
namestring예
summarystring예
descriptionstring예
idstring예
handlestring예같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)예
updated_atstring(date-time)예
step_countinteger예
kindsany[]예

endpointWorkflows#

GET /api/endpoints/{id}/workflows

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예

응답

상태설명
200성공
400INVALID_REQUEST·INVALID_ID: 엄격한 JSON·미정의 필드·조건 헤더·query 오류
404WORKFLOW_NOT_FOUND·ENDPOINT_NOT_FOUND: 현재 Workspace에 없는 부모
409WORKFLOW_KEY_CONFLICT·WORKFLOW_IN_USE·ENDPOINT_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE: 본문 1 MiB 초과
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED: 필드·Schema·참조·순환·깊이
428PRECONDITION_REQUIRED

200 응답 본문

배열(EndpointWorkflow[])이며 표는 항목의 필드입니다.

이름타입필수설명
workflow_keystring예
namestring예
summarystring예
descriptionstring예
idstring예
handlestring예같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)예
updated_atstring(date-time)예
step_countinteger예
stepsobject[]예