메인 콘텐츠로 건너뛰기

엔드포인트

POST /v1/guard/{api-id}/analyze
Authorization: Bearer {api-key}
Content-Type: application/json

Top-Level 필드

FieldTypeRequired설명
messagesarray필수OpenAI 포맷 메시지. 마지막 user 메시지가 분석 대상이며, 나머지는 컨텍스트.
opticonobject선택Opticon 트레이싱 메타데이터.

messages — Content 형식

content의 형태는 API에 바인딩된 InputType에 따라 달라집니다:
{
  "role": "user",
  "content": "이 텍스트를 분석해주세요."
}
각 Guard API는 하나의 InputType에만 바인딩됩니다. 타입이 다른 데이터를 전송하면 400 INVALID_INPUT_TYPE이 반환됩니다.

opticon — 트레이싱 메타데이터

모든 필드는 선택입니다.
FieldType설명
trace_idstring커스텀 Trace ID. 생략 시 서버가 UUID를 생성.
session_idstring여러 요청을 하나의 세션으로 그룹핑.
user_idstring최종 사용자 식별자.
metadataobjectTrace에 기록할 자유형 key-value.
tagsarray[string]필터링용 태그.
Credentials는 서버 내부에서 관리됩니다. Langfuse의 public/secret key는 opticon에 전달하지 않으며, Guardian Bastion이 서버 측에서 관리합니다. 클라이언트는 트레이싱 메타데이터만 제공합니다.

전체 예시

{
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    { "role": "user",   "content": "HBM4 로드맵을 알려줘." }
  ],
  "opticon": {
    "session_id": "fab-chat-session",
    "user_id": "engineer-park",
    "metadata": { "department": "semiconductor", "environment": "production" },
    "tags": ["fab-analysis", "sensitive"]
  }
}