Skip to content
Structly Docs
한국어

API reference

Workflow

On this page

This page is generated from the public contract. Descriptions are shown in the original Korean.

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

listWorkflows#

GET /api/workflows

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
handlequerystringNohandle 정확 일치 필터. 앞뒤 공백 제거·소문자 정규화 후 비교하며 형식이 맞지 않으면 400 INVALID_REQUEST입니다. 기존 q·sort·page·per_page와 함께 사용할 수 있습니다. 결과는 최대 1건입니다.
qquerystringNo
sortqueryanyNoValues: key, -key, name, -name
pagequeryintegerNo
per_pagequeryintegerNo

Responses

StatusDescription
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 response body

An array (WorkflowSummary[]). The table lists item fields.

NameTypeRequiredDescription
workflow_keystringYes
namestringYes
summarystringYes
descriptionstringYes
idstringYes
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)Yes
updated_atstring(date-time)Yes
step_countintegerYes

createWorkflow#

POST /api/workflows

Authentication: Session cookie or Agent token

Request body

application/json · Required: Yes

Type: WorkflowCreate

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

Responses

StatusDescription
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 response body

Type: Workflow

NameTypeRequiredDescription
workflow_keystringYes
namestringYes
summarystringYes
descriptionstringYes
inputsobject | boolean | nullYesnull 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]Yes
parametersWorkflow.Parameter[]Yes
success_actionsAction[]Yes
failure_actionsAction[]Yes
outputsOutput[]Yes
stepsStep[]Yes
sourceSource | nullYes
idstringYes
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)Yes
updated_atstring(date-time)Yes

getWorkflow#

GET /api/workflows/{id}

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYes
If-None-MatchheaderstringNo

Responses

StatusDescription
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 response body

Type: Workflow

NameTypeRequiredDescription
workflow_keystringYes
namestringYes
summarystringYes
descriptionstringYes
inputsobject | boolean | nullYesnull 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]Yes
parametersWorkflow.Parameter[]Yes
success_actionsAction[]Yes
failure_actionsAction[]Yes
outputsOutput[]Yes
stepsStep[]Yes
sourceSource | nullYes
idstringYes
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)Yes
updated_atstring(date-time)Yes

updateWorkflow#

PUT /api/workflows/{id}

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYes
If-MatchheaderstringYes단일 strong ETag. 삭제 참조 보호 409가 누락 428·불일치 412보다 우선.

Request body

application/json · Required: Yes

Type: WorkflowReplace

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

Responses

StatusDescription
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 response body

Type: Workflow

NameTypeRequiredDescription
workflow_keystringYes
namestringYes
summarystringYes
descriptionstringYes
inputsobject | boolean | nullYesnull 또는 JSON Schema 2020-12. 256 KiB·64단계, 정의 내부 참조만 허용.
depends_onstring[]Yes
parametersWorkflow.Parameter[]Yes
success_actionsAction[]Yes
failure_actionsAction[]Yes
outputsOutput[]Yes
stepsStep[]Yes
sourceSource | nullYes
idstringYes
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)Yes
updated_atstring(date-time)Yes

deleteWorkflow#

DELETE /api/workflows/{id}

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYes
If-MatchheaderstringYes단일 strong ETag. 삭제 참조 보호 409가 누락 428·불일치 412보다 우선.

Responses

StatusDescription
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

Authentication: Session cookie or Agent token

Request body

application/json · Required: Yes

Type: WorkflowCreate

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

Responses

StatusDescription
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 response body

Type: Validation

NameTypeRequiredDescription
validtrueYes
operationanyYesValues: create, update

validateWorkflowUpdate#

PUT /api/workflows/{id}/validate

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYes
If-MatchheaderstringYes단일 strong ETag. 삭제 참조 보호 409가 누락 428·불일치 412보다 우선.

Request body

application/json · Required: Yes

Type: WorkflowReplace

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

Responses

StatusDescription
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 response body

Type: Validation

NameTypeRequiredDescription
validtrueYes
operationanyYesValues: create, update

workflowReferrers#

GET /api/workflows/{id}/referrers

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYes

Responses

StatusDescription
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 response body

An array (Referrer[]). The table lists item fields.

NameTypeRequiredDescription
workflow_keystringYes
namestringYes
summarystringYes
descriptionstringYes
idstringYes
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)Yes
updated_atstring(date-time)Yes
step_countintegerYes
kindsany[]Yes

endpointWorkflows#

GET /api/endpoints/{id}/workflows

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYes

Responses

StatusDescription
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 response body

An array (EndpointWorkflow[]). The table lists item fields.

NameTypeRequiredDescription
workflow_keystringYes
namestringYes
summarystringYes
descriptionstringYes
idstringYes
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
created_atstring(date-time)Yes
updated_atstring(date-time)Yes
step_countintegerYes
stepsobject[]Yes