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.
Effective 1/22/2025, the following action providers are no longer supported:
-
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_itemsfield has been renamed toDATA. -
The
source_endpoint_idfield has been renamed tosource_endpoint. -
The
destination_endpoint_idfield has been renamed todestination_endpoint.
-
-
/delete
-
The
itemsfield has been renamed toDATA.-
Elements within
DATAmust be objects with apathfield, rather than strings. See examples at Delete.
-
-
The
endpoint_idfield has been renamed toendpoint.
-
-
/ls
-
the
path_onlyfield 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 therecursivefield is now optional for transfer items.In cases where auto-detection is not sufficient, you can use the new
stataction 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
recursivefield is now optional for individual transfer items. -
The optional fields
filter_rules,perf_cc,perf_p,perf_ppandperf_udtare now supported.
-
-
/delete
-
The optional
deadlinefield is now supported.
-
-
All documents that accept an optional
DATA_TYPEfield 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_managedfield has been removed from the output of the/collection_infoaction provider. This functionality can be replaced by checking ifsubscription_idis 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_folderfield has been removed from the output of/ls. To replace this functionality, you can check if the value of thetypefield is "dir".