> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 패키지 검증

> .dataapp zip 검증만 업로드. 쓰기 없음. 계약 경로가 후속.

<Warning>
  **비권장.** 계약 경로가 `.dataapp` 패키지 흐름을 대체: 계약 폴더 조립으로 자체 검사 후 제출. 신규는 그쪽.
</Warning>

**`POST`** `https://api-datahub.octoparse.com/v1/data-apps/package`

인증: API 키 필요(`Authorization: Bearer <API Key>`).

원시 zip을 `.dataapp` 패키지로 업로드 → 해제 → 동일 검증 파이프라인. 영속화 없음. 검증만이며 해제 파일 에코: **통과 후에도 원샷 게시 엔드포인트로 Release 생성 필요**.

## 요청

### 요청 예시

```bash theme={null}
curl -X POST \
  -H "Authorization: Bearer $OCTOPARSE_API_KEY" \
  "https://api-datahub.octoparse.com/v1/data-apps/package"
```

## 응답

### 200 성공

```json theme={null}
{
  "data": {
    "valid": false,
    "errors": [
      {
        "path": "string",
        "message": "string"
      }
    ],
    "card": {},
    "manifest": "",
    "files": {}
  }
}
```

페이로드는 `data`로 감쌉니다. 필드:

<ResponseField name="valid" type="boolean" required>
  검증 통과 여부.
</ResponseField>

<ResponseField name="errors" type="object[]">
  문제 목록.

  <Expandable title="fields">
    <ResponseField name="path" type="string" required>
      —
    </ResponseField>

    <ResponseField name="message" type="string" required>
      —
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="card" type="object">
  미리보기 카드.
</ResponseField>

<ResponseField name="manifest" type="string">
  —
</ResponseField>

<ResponseField name="files" type="object">
  압축 해제 파일명 목록.
</ResponseField>

### 오류

| HTTP | `code`              | `category`      | 설명                              |
| ---- | ------------------- | --------------- | ------------------------------- |
| 401  | `unauthorized`      | `forbidden`     | API 키 누락 또는 무효.                 |
| 422  | `invalid-manifest`  | `invalid_input` | 매니페스트 검증 실패. `issues[]`에 문제 목록. |
| 413  | `payload-too-large` | `invalid_input` | 요청 body가 크기 상한 초과.              |

오류 응답은 `{"error": {code, category, message, retryable}}`입니다. <a href="/docs/ko/datahub/api/reference/introduction#errors">오류</a> 참고.

## 클라이언트 라이브러리

Python / JavaScript SDK는 아직 이 엔드포인트를 감싸지 않습니다. REST를 직접 호출하세요.
