# Takumi API のクロールワークフローでクレジット上限の指定・追加クロールが可能に

Takumi API 経由で実行したクロール（`blackbox-crawl` ワークフロー）において、**クレジット上限を指定**して実行できるようになりました。また、終了したクロールに対してクレジットを追加してクロールを続行できるようになりました。Web コンソールの[追加クロール機能](/docs/ja/t/features/blackbox-assessment/#追加クロール)と同様に、Takumi API 経由のクロールでも、クレジット消費量を制御しながらクロールを進めていただけます。

## クレジット上限を指定してクロールする

クロールワークフローを実行する際、`input.credit_limit` パラメータを用いてクロール時のクレジット消費の上限を指定できます。指定した場合、クレジット上限に達するとそこでクロールが終了し、そこまでに検出された機能一覧を出力します。

```typescript
const { workflow_run_id } = await fetch(
  `${TAKUMI_API}/v1/o/${TAKUMI_ORG}/workflows/blackbox-crawl/dispatch`,
  {
    method: "POST",
    headers,
    body: JSON.stringify({
      input: {
        language: "japanese",
        target_urls: ["https://app.example/"],

        // クレジット上限
        credit_limit: 20,
      },
    }),
  },
).then((r) => r.json());
```

## クレジットを追加して続きからクロールを再開する

より幅広くクロールしたい場合や、特定の機能をより深くクロールしたい場合に、終了したクロールに対して追加クロールを実行できます。追加クロールでは、発見済みの機能・エンドポイント一覧が引き継がれ、新たに発見された機能・エンドポイントが追加されます。追加クロール実行時に、クロールする対象を絞り込むための指示を与えることもできます。

```typescript
const { workflow_run_id: crawl_workflow_run_id2 } = await fetch(
  `${TAKUMI_API}/v1/o/${TAKUMI_ORG}/workflows/blackbox-crawl/dispatch`,
  {
    method: "POST",
    headers,
    body: JSON.stringify({
      input: {
        language: "japanese",
        target_urls: ["https://app.example/"],

        // 前回クロールの結果を引き継いで追加クロールする
        resume: {
          workflow_id: "blackbox-crawl",
          workflow_run_id: crawl_workflow_run_id, // 前回クロールの workflow_run_id を指定
        },

        // クレジット上限 (任意)
        credit_limit: 20,

        // 追加の指示 (任意)
        additional_instructions:
          "/page/abc でアクセスできるページにおいてやり取りされる API (/api/v1/users/...) を重点的にクロールしてください",
      },
      notification: { webhook_endpoint_ids: [WEBHOOK_ID] },
    }),
  },
).then((r) => r.json());
```

## 利用開始方法

詳細は [API ドキュメント](/docs/ja/t/api)をご覧ください。
