Was this page helpful?
Files APIを使用してファイルをアップロードし、セッションのコンテナにマウントすることで、エージェントにファイルを提供できます。
すべてのManaged Agents APIリクエストには、managed-agents-2026-04-01ベータヘッダーが必要です。SDKはベータヘッダーを自動的に設定します。
まず、Files APIを使用してファイルをアップロードします:
file=$(curl --fail-with-body -sS "${auth[@]}" \
"${base_url}/files" \
-F [email protected])
file_id=$(jq -er '.id' <<<"${file}")
printf 'File ID: %s\n' "${file_id}"セッション作成時にresources配列に追加することで、アップロードされたファイルをコンテナにマウントします:
mount_pathはオプションですが、エージェントが何を探しているかわかるように、アップロードされたファイルに説明的な名前を付けてください。
セッション内のファイルのインスタンスを参照する新しいfile_idが作成されます。これらのコピーはストレージ制限にカウントされません。
resources配列にエントリを追加することで、複数のファイルをマウントします:
セッションごとに最大100ファイルがサポートされています。
セッションリソースAPIを使用して、作成後にセッションへのファイルの追加や削除ができます。各リソースには、追加時(またはリスト表示時)に返されるidがあり、削除時に使用します。
resources.listでセッションのすべてのリソースを一覧表示します。ファイルを削除するには、リソースIDを指定してresources.deleteを呼び出します:
Files APIを使用して、セッションにスコープされたファイルを一覧表示してダウンロードします。
エージェントは以下を含むあらゆるファイルタイプを扱えます:
.py、.js、.ts、.go、.rsなど).csv、.json、.xml、.yaml).txt、.md).zip、.tar.gz)- エージェントはbashを使用してこれらを展開できますコンテナにマウントされたファイルは読み取り専用のコピーです。エージェントはそれらを読み取ることができますが、元のアップロードされたファイルを変更することはできません。変更されたバージョンを扱うには、エージェントはコンテナ内の新しいパスに書き込みます。
/で始まる)である必要がありますsession=$(
jq -n \
--arg agent_id "${agent_id}" \
--arg environment_id "${environment_id}" \
--arg file_id "${file_id}" \
'{
agent: $agent_id,
environment_id: $environment_id,
resources: [
{
type: "file",
file_id: $file_id,
mount_path: "/workspace/data.csv"
}
]
}' | curl --fail-with-body -sS "${auth[@]}" "${base_url}/sessions" --json @-
)
session_id=$(jq -er '.id' <<<"${session}")"resources": [
{ "type": "file", "file_id": "file_abc123", "mount_path": "/workspace/data.csv" },
{ "type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json" },
{ "type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py" }
]resource=$(
jq -n --arg file_id "${file_id}" '{type: "file", file_id: $file_id}' \
| curl --fail-with-body -sS "${auth[@]}" \
"${base_url}/sessions/${session_id}/resources" --json @-
)
resource_id=$(jq -er '.id' <<<"${resource}")
printf '%s\n' "${resource_id}" # "sesrsc_01ABC..."curl --fail-with-body -sS "${auth[@]}" \
"${base_url}/sessions/${session_id}/resources" \
| jq -r '.data[] | "\(.id) \(.type)"'
curl --fail-with-body -sS "${auth[@]}" -X DELETE \
"${base_url}/sessions/${session_id}/resources/${resource_id}" >/dev/null# セッションに関連するファイルを一覧表示
curl -fsSL "https://api.anthropic.com/v1/files?scope_id=sess_abc123" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14"
# ファイルをダウンロード
curl -fsSL "https://api.anthropic.com/v1/files/$FILE_ID/content" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-o output.txt