# 비동기 리서치 Agent 실행을 제출합니다.

**API:** Data API

**Endpoint:** `POST /v1/beta/exa/agent/runs`

**Tags:** Exa

비동기 리서치 작업을 제출합니다. query를 제공하고 선택적으로 systemPrompt와 effort(minimal만 허용)를 지정합니다. Idempotency-Key는 필수입니다. HTTP 202는 작업을 반환하며, completed, failed 또는 cancelled가 될 때까지 해당 id로 대응하는 Felo 폴링 엔드포인트를 사용하세요. 작업 가격 필드는 공급자 승인 및 정산 메타데이터이며 Felo 청구 기록이 아닙니다.

### 가격 참고

- 과금 기준: 요청당 참조.
- 참고 요청 추정치: USD 0.1.

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

## Base URL

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

## Authentication

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

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `Idempotency-Key` | header | yes | string | 앞뒤 공백을 제거한 UTF-8 길이는 1~191바이트여야 합니다. |

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "additionalProperties": false,
  "properties": {
    "effort": {
      "default": "minimal",
      "description": "minimal effort만 지원되며, 생략되거나 비어 있거나 null인 값은 minimal로 정규화됩니다.",
      "enum": [
        null,
        "",
        "minimal"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "query": {
      "description": "공백을 제거한 뒤 비어 있지 않은 쿼리입니다.",
      "pattern": "\\S",
      "type": "string"
    },
    "systemPrompt": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "query"
  ],
  "type": "object"
}
```

Example:

```json
{
  "query": "Find the official documentation for Go"
}
```

## Responses

### 202 — 성공

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

**application/json**

Schema: object

```json
{
  "properties": {
    "completedAt": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "createdAt": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "endpoint": {
      "type": [
        "string",
        "null"
      ],
      "description": "공급자 작업 식별자입니다. 폴링에는 문서화된 Felo 작업 경로를 사용하세요."
    },
    "error": {
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "id": {
      "type": [
        "string",
        "null"
      ]
    },
    "object": {
      "const": "integration_async_job",
      "type": "string"
    },
    "output": {},
    "outputExpired": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "pricing": {
      "properties": {
        "authorizedMicrosUSD": {
          "type": [
            "integer",
            "null"
          ]
        },
        "billingMode": {
          "type": [
            "string",
            "null"
          ]
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "finalMicrosUSD": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "description": "마이크로 USD 단위의 공급자 승인 및 정산 메타데이터이며, Felo 잔액, 보류 금액 또는 청구 영수증이 아닙니다."
    },
    "status": {
      "enum": [
        "queued",
        "running",
        "completed",
        "failed",
        "cancelled"
      ],
      "type": "string"
    }
  },
  "required": [
    "completedAt",
    "createdAt",
    "endpoint",
    "error",
    "id",
    "object",
    "output",
    "pricing",
    "status"
  ],
  "type": "object"
}
```

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

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

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

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

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

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

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

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

### default — 작업이 실패했습니다. Felo 지원에 문의할 때 응답의 요청 ID를 보관하세요.
