Migrating Transfer Action Providers
Overview
This document provides important information for flow authors migrating to the
Transfer action providers hosted at transfer.actions.globus.org
.
The following action providers are deprecated and will be shut down on 1/22/2025, with gradually diminishing support in Flows leading up to that date:
-
https://actions.globus.org/transfer/collection_info
-
https://actions.globus.org/transfer/delete
-
https://actions.globus.org/transfer/ls
-
https://actions.globus.org/transfer/mkdir
-
https://actions.globus.org/transfer/set_permission
-
https://actions.globus.org/transfer/transfer
Other actions.globus.org
action providers are not affected by this change.
Scopes
Unlike the deprecated action providers, all actions hosted at
transfer.actions.globus.org
use the same Globus Auth scope as the
Transfer API itself: urn:globus:auth:scope:transfer.api.globus.org:all
.
Some users may need to re-consent to continue using a flow after it has been updated to use the new Transfer action providers.
Action URLs
All flows using the deprecated Transfer action providers will need to update
the ActionUrl
on states using those actions.
For most actions this will just be replacing actions.globus.org/transfer/
with
transfer.actions.globus.org/
. For example, a state with an ActionUrl
of
https://actions.globus.org/transfer/collection_info
should be changed to
https://transfer.actions.globus.org/collection_info
An exception to this is the "set_permission" action provider, which has been
renamed to "manage_permission". States using the
https://actions.globus.org/transfer/set_permission
ActionUrl
should be
changed to https://transfer.actions.globus.org/manage_permission
.
Input Schema Changes
Several action input schemas have changed to better align with the underlying Transfer API.
Breaking Changes
These fields require changes when migrating to the new Transfer action providers:
-
/transfer
-
The
transfer_items
field has been renamed toDATA
. -
The
source_endpoint_id
field has been renamed tosource_endpoint
. -
The
destination_endpoint_id
field has been renamed todestination_endpoint
.
-
-
/delete
-
The
items
field has been renamed toDATA
.-
Elements within
DATA
must be objects with apath
field, rather than strings. See examples at Delete.
-
-
The
endpoint_id
field has been renamed toendpoint
.
-
-
/ls
-
the
path_only
field has been removed. If your flow needed it to determine if a path was a directory or not, note that Transfer now supports auto-detection of item type and therecursive
field is now optional for transfer items.In cases where auto-detection is not sufficient, you can use the new
stat
action provider to get more detailed information about an item. An example of this usage is provided in the Move example flow.
-
Non-breaking Changes
These fields don’t require changes when migrating to the new Transfer action providers but provide new functionality not present in the legacy action providers:
-
/transfer
-
The
recursive
field is now optional for individual transfer items. -
The optional fields
filter_rules
,perf_cc
,perf_p
,perf_pp
andperf_udt
are now supported.
-
-
/delete
-
The optional
deadline
field is now supported.
-
-
All documents that accept an optional
DATA_TYPE
field in the underlying Transfer API will accept that field in their input schema as well.
Removed Output Fields
Similar to the changes to input schemas, the outputs of the new Transfer action providers have been changed to better align with the underlying API. If your flow relies on these fields being present, it will need to be updated to use other fields that provide equivalent information.
-
The
is_managed
field has been removed from the output of the/collection_info
action provider. This functionality can be replaced by checking ifsubscription_id
is a non-null value, as it will always be non-null for subscribed endpoints/collections.
Globus Connect Personal can use some premium features (such as using
guest collections) when owned by a member of a subscription group. You may want to
treat collections with an entity_type
of "GCP_mapped_collection" or
especially "GCP_guest_collection" as potentially able to use premium
features even if they do not have a subscription_id
set.
-
The
is_folder
field has been removed from the output of/ls
. To replace this functionality, you can check if the value of thetype
field is "dir".