Skip to main content
POST
/
agents
/
validate-flow
플로우 검증
curl --request POST \
  --url https://client-api.tryvox.co/v3/agents/validate-flow \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "flow": {
    "nodes": [
      {
        "id": "<string>",
        "type": "<string>",
        "position": {
          "x": 123,
          "y": 123
        }
      }
    ],
    "edges": [
      {
        "source": "<string>",
        "target": "<string>",
        "condition": {
          "type": "<string>",
          "prompt": ""
        },
        "id": "<string>",
        "skip_user_response": false
      }
    ]
  }
}
'
{
  "valid": true,
  "errors": [
    {
      "message": "<string>",
      "field": "<string>",
      "code": "<string>",
      "rule": "<string>",
      "node_id": "<string>",
      "suggestion": {},
      "doc": "<string>",
      "details": {}
    }
  ],
  "advisories": [
    {
      "message": "<string>",
      "field": "<string>",
      "code": "<string>",
      "rule": "<string>",
      "node_id": "<string>",
      "level": "runtime"
    }
  ]
}

Authorizations

Authorization
string
header
required

조직 API 키를 Authorization: Bearer <token> 형식으로 보냅니다.

Query Parameters

level
enum<string>
default:critical

항목 레벨 필터입니다. critical(기본값)은 저장 차단 오류만, runtime은 주의 항목만, all은 둘 다 반환합니다.

Available options:
critical,
runtime,
all
agent_id
string<uuid> | null

수정(PATCH) 검증 대상 에이전트 UUID입니다. 설정하면 해당 에이전트의 현재 flow를 기준으로 참조 검사(orphan·dangling·multifanout)를 함께 수행합니다. 생략하면 생성 기준으로 검증합니다.

Body

application/json

검증할 flow 그래프입니다({flow: {nodes, edges}}).

POST /v3/agents/validate-flow 요청 body입니다.

flow
Flow · object
required

저장하지 않고 검증할 flow graph({nodes, edges})입니다.

Response

성공 응답

POST /v3/agents/validate-flow 응답입니다.

valid
boolean
required

flow에 critical blocking issue가 없어 create/update로 안전하게 저장할 수 있으면 true입니다. runtime-level advisory는 이 값에 영향을 주지 않습니다.

errors
FlowValidationErrorItem · object[]

저장을 막는 critical issue 목록입니다.

advisories
FlowValidationAdvisoryItem · object[]

?level=runtime 또는 ?level=all 요청에서 반환되는 runtime-level issue입니다. 저장을 막지는 않습니다. 예: 연결되지 않은 skip/fallback wakeup transition, 도달 가능한 terminal node 없음.