# 모델 기반 웹 검색(OpenAI).

**API:** Data API

**Endpoint:** `POST /v1/beta/openai-websearch/search`

**Tags:** OpenAI Web Search

OpenAI 모델과 웹 검색으로 인용이 포함된 답변을 생성합니다. input은 문자열 또는 메시지 배열로 제공하세요. 모델, 도구, 검색 한도는 서비스에서 관리합니다. 응답은 output에 URL 인용이 포함된 web_search_call 및 message 항목을 담은 Responses 객체입니다. usage는 Felo 청구가 아닌 리소스 소비를 보고합니다.

### 가격 참고

- 과금 기준: 측정된 응답 구성 요소.
- 참고 요청 추정치: USD 0.3.
- 참고 고객 배수: 1.0. 정산된 고객 금액에 다시 적용하지 마세요.

참고용 메타데이터일 뿐이며, 계정 견적 또는 보장된 가격 또는 지출 한도가 아닙니다. 리소스 크레딧은 Felo 크레딧이 아닙니다. 최종 청구는 Felo 청구 기록을 따릅니다.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "type": "object",
  "required": [
    "input"
  ],
  "properties": {
    "input": {
      "type": "string",
      "description": "질문 또는 지시 사항이며 OpenAI Responses API `input`과 동일한 형식입니다. 메시지 배열도 허용됩니다.",
      "example": "What are the three biggest AI announcements this week? Give one sentence each with sources."
    },
    "max_output_tokens": {
      "type": "integer",
      "description": "답변에서 생성되는 토큰 수의 선택적 상한입니다.",
      "example": 1024
    },
    "instructions": {
      "type": "string",
      "description": "답변의 어조나 형식을 조정하기 위한 선택적 상위 수준 지시 사항입니다."
    }
  }
}
```

Example:

```json
{
  "input": "What are the three biggest AI announcements this week? Give one sentence each with sources.",
  "max_output_tokens": 1024
}
```

## Responses

### 200 — 표준 OpenAI Responses 객체입니다. `output[]`는 web_search_call 항목과 인용된 답변 메시지를 교차 배치하며, web_search_call 항목 수가 청구되는 검색 횟수입니다.

Headers:
- `X-Request-Id` (string) — Felo 지원팀에 문의할 때 포함할 요청 식별자입니다.

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "object": {
      "type": "string",
      "example": "response"
    },
    "status": {
      "type": "string",
      "example": "completed"
    },
    "output": {
      "type": "array",
      "description": "순서가 지정된 항목: web_search_call(수행된 검색) 및 message(인용된 답변).",
      "items": {
        "type": "object"
      }
    },
    "usage": {
      "type": "object",
      "properties": {
        "input_tokens": {
          "type": "integer"
        },
        "output_tokens": {
          "type": "integer"
        },
        "input_tokens_details": {
          "type": "object",
          "properties": {
            "cached_tokens": {
              "type": "integer"
            }
          }
        }
      }
    }
  }
}
```

### 400 — 요청을 처리할 수 없습니다. 요청 매개변수를 확인하세요.

### 401 — 유효한 Felo API 키가 필요합니다.

### 402 — 청구 요건이 충족되지 않아 요청을 진행할 수 없습니다.

### 403 — 이 계정에는 이 작업을 수행할 권한이 없습니다.

### 429 — 요청 또는 지출 한도에 도달했습니다.

### 502 — 서비스가 요청을 완료할 수 없습니다.

### 503 — API 또는 청구 서비스를 일시적으로 사용할 수 없습니다.

### 504 — 요청을 처리하는 동안 서비스 시간이 초과되었습니다.

### default — 오류 응답. 업스트림 패스스루 응답은 공급자 형식을 사용할 수 있습니다.

**application/json**

Schema:

```json
{}
```
