メインコンテンツへスキップ
Box Hubの項目APIを使用すると、以下のことが可能です。
現時点で、このAPIはファイル、フォルダ、およびウェブリンクの管理のみをサポートしています。吹き出し、区切り線、段落、セクションなどの要素は、Box Hubsのウェブインターフェースで追加する必要があります。APIを介して追加されたコンテンツは、最初のコンテンツブロックに配置されます。
Box Hubs endpoints require the box-version: 2025.0 header. If you omit this header, the API returns a 400 error with the message Missing required box-version header. Supported API versions: [2025.0]. For more information, see Box API versioning strategy.
GET /2.0/hub_itemsはHTTP 207 (複数のステータス) を返します。レスポンス本文には各操作 (追加または削除) のステータスが含まれます。レスポンス全体とエラー処理については、APIリファレンスを参照してください。

Hubの項目のリストを取得

Box Hubのすべての項目を取得するには、Hub IDを指定してGET /2.0/hub_itemsエンドポイントを呼び出します。
curl -i -X GET "https://api.box.com/2.0/hub_items?hub_id=HUB_ID" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "box-version: 2025.0"
HUB_IDをHub IDに置き換えてください。ページネーションにはクエリパラメータmarkerおよびlimit を使用できます (省略可)。レスポンスにはHubの項目のentries配列が含まれます (各項目にはidtypenameがあります)。

Hubの項目を追加または削除

Hubの項目を追加または削除するには、Hub IDと操作のリストを指定してPOST /2.0/hubs/{hub_id}/manage_itemsエンドポイントを呼び出します。各操作にはaction (addまたはremove) とitem参照 (typeおよびid) があります。

Hubにファイルを追加

curl -i -X POST "https://api.box.com/2.0/hubs/HUB_ID/manage_items" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "box-version: 2025.0" \
     -H "Content-Type: application/json" \
     -d '{
       "operations": [
         {
           "action": "add",
           "item": {
             "type": "file",
             "id": "FILE_ID"
           }
         }
       ]
     }'

Hubにフォルダを追加

curl -i -X POST "https://api.box.com/2.0/hubs/HUB_ID/manage_items" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "box-version: 2025.0" \
     -H "Content-Type: application/json" \
     -d '{
       "operations": [
         {
           "action": "add",
           "item": {
             "type": "folder",
             "id": "FOLDER_ID"
           }
         }
       ]
     }'

Hubから項目を削除

curl -i -X POST "https://api.box.com/2.0/hubs/HUB_ID/manage_items" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "box-version: 2025.0" \
     -H "Content-Type: application/json" \
     -d '{
       "operations": [
         {
           "action": "remove",
           "item": {
             "type": "file",
             "id": "FILE_ID"
           }
         }
       ]
     }'
HUB_IDFILE_ID、およびFOLDER_IDを実際のIDに置き換えます。ウェブリンクの場合は、"type": "web_link"とウェブリンクIDを使用します。1回のリクエストで複数の追加操作と削除操作を組み合わせることができます。

ユースケース

  • Hub作成の自動化: Box検索APIまたはメタデータクエリを使用して条件に一致するコンテンツを見つけ、Hubの項目を管理エンドポイントを使用してフィルタ済みの結果をHubに追加します。
  • イベント駆動型の更新: イベント (例: フォルダ内の新規ファイル) に反応するWebhookを使用して、そのコンテンツを自動的にHubに追加します。