> ## 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.

# 契約を分割

> 組み立ての逆: 1 マニフェストを正規契約フォルダのファイルマップへ分割。

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

認証：不要。匿名で呼び出し可能。

組み立ての逆: 自己完結マニフェスト → 正規契約フォルダのファイルマップ（各ファイルは JSON テキスト。zip 化はクライアント側）。

分割の意味（単一の正本）: プラットフォーム注入の読み戻しキー（`scope` / `status` / `namespace`）は除去。`input` / `output` はそれぞれ `schema` ラッパを 1 段外し、`output.id_field` は兄弟へ。結果のファイルマップは組み立ての逆。

## リクエスト

### リクエスト body

<ParamField body="manifest" type="object" required>
  マニフェストオブジェクト。
</ParamField>

<ParamField body="translations" type="object">
  任意の翻訳セット `{source, locales}`。
</ParamField>

### リクエスト例

```bash theme={null}
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"manifest": {"spec_version": "0.2", "identity": {"app_name": "reviews-query"}, "…": "…"}}' \
  "https://api-datahub.octoparse.com/v1/data-apps/contract/split"
```

## レスポンス

### 200 成功

```json theme={null}
{
  "data": {
    "files": {
      "dataapp.json": "{\n  \"spec_version\": \"0.2\",\n  …",
      "input_schema.json": "{…}",
      "output_schema.json": "{…}",
      "runtime.json": "{…}",
      "pricing.json": "{…}",
      "examples.json": "[…]"
    },
    "warnings": []
  }
}
```

ペイロードは `data` に包まれます。フィールド:

<ResponseField name="files" type="object">
  ファイルマップ。キーはファイル名、値は JSON テキスト。
</ResponseField>

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

## クライアントライブラリ

Python / JavaScript SDK はまだこのエンドポイントをラップしていません。REST を直接呼び出してください。
