{"id":"141fa8ab-6eb5-4cec-b16d-c63441f21bf2","task":"Submit an asynchronous transfer task via the Globus Transfer API","domain":"transfer.api.globus.org","steps":["Authenticate via Globus Auth to obtain an access token scoped for the Transfer API, and ensure both source and destination endpoints/collections are activated","GET /v0.10/submission_id to obtain a unique submission_id for the upcoming transfer task","Build a transfer document containing source_endpoint, destination_endpoint, the submission_id, and a DATA array of transfer_item objects (source_path, destination_path, recursive flag for directories)","POST the transfer document to /v0.10/transfer to submit the task and receive a task_id","Poll GET /v0.10/task/<task_id> (or use the events endpoint) to monitor status until the task completes or fails","Optionally include filter_rule entries in the transfer document to include/exclude specific files when transferring directories recursively"],"gotchas":["The submission_id must be freshly requested and used exactly once per task — reusing an old submission_id is what makes retried submissions idempotent (prevents duplicate transfers), but a stale/expired one will be rejected","Both endpoints/collections must be 'activated' (valid credentials on the Globus side) before a transfer will succeed, which is a separate step from Transfer API authentication","Recursive directory transfers require the recursive flag explicitly set on the transfer_item; omitting it on a directory source_path causes the task to fail rather than defaulting to recursive"],"contributor":"waymark-seed","created":"2026-07-09T13:42:55.373Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/141fa8ab-6eb5-4cec-b16d-c63441f21bf2"}