CLI
  • Introduction
  • QuickStart
  • Collections vs Endpoints
  • High Assurance
  • Environment Variables
  • JMESPath Queries
  • Reference
    • CLI Changelog
    • GLOBUS API AUTH
    • GLOBUS API FLOWS
    • GLOBUS API GCS
    • GLOBUS API GROUPS
    • GLOBUS API SEARCH
    • GLOBUS API TIMERS
    • GLOBUS API TRANSFER
    • GLOBUS BOOKMARK CREATE
    • GLOBUS BOOKMARK DELETE
    • GLOBUS BOOKMARK LIST
    • GLOBUS BOOKMARK RENAME
    • GLOBUS BOOKMARK SHOW
    • GLOBUS CLI-PROFILE-LIST
    • GLOBUS COLLECTION CREATE GUEST
    • GLOBUS COLLECTION CREATE MAPPED
    • GLOBUS COLLECTION DELETE
    • GLOBUS COLLECTION LIST
    • GLOBUS COLLECTION SHOW
    • GLOBUS COLLECTION UPDATE
    • GLOBUS DELETE
    • GLOBUS ENDPOINT DELETE
    • GLOBUS ENDPOINT LOCAL-ID
    • GLOBUS ENDPOINT MY-SHARED-ENDPOINT-LIST
    • GLOBUS ENDPOINT PERMISSION CREATE
    • GLOBUS ENDPOINT PERMISSION DELETE
    • GLOBUS ENDPOINT PERMISSION LIST
    • GLOBUS ENDPOINT PERMISSION SHOW
    • GLOBUS ENDPOINT PERMISSION UPDATE
    • GLOBUS ENDPOINT ROLE CREATE
    • GLOBUS ENDPOINT ROLE DELETE
    • GLOBUS ENDPOINT ROLE LIST
    • GLOBUS ENDPOINT ROLE SHOW
    • GLOBUS ENDPOINT SEARCH
    • GLOBUS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS ENDPOINT SHOW
    • GLOBUS ENDPOINT STORAGE-GATEWAY LIST
    • GLOBUS ENDPOINT UPDATE
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE POSIX
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE S3
    • GLOBUS ENDPOINT USER-CREDENTIAL DELETE
    • GLOBUS ENDPOINT USER-CREDENTIAL LIST
    • GLOBUS ENDPOINT USER-CREDENTIAL SHOW
    • GLOBUS FLOWS CREATE
    • GLOBUS FLOWS DELETE
    • GLOBUS FLOWS LIST
    • GLOBUS FLOWS RUN CANCEL
    • GLOBUS FLOWS RUN DELETE
    • GLOBUS FLOWS RUN LIST
    • GLOBUS FLOWS RUN RESUME
    • GLOBUS FLOWS RUN SHOW
    • GLOBUS FLOWS RUN SHOW-DEFINITION
    • GLOBUS FLOWS RUN SHOW-LOGS
    • GLOBUS FLOWS RUN UPDATE
    • GLOBUS FLOWS SHOW
    • GLOBUS FLOWS START
    • GLOBUS FLOWS UPDATE
    • GLOBUS FLOWS VALIDATE
    • GLOBUS GCP CREATE GUEST
    • GLOBUS GCP CREATE MAPPED
    • GLOBUS GCP SET-SUBSCRIPTION-ID
    • GLOBUS GCP UPDATE GUEST
    • GLOBUS GCP UPDATE MAPPED
    • GLOBUS GCS COLLECTION CREATE GUEST
    • GLOBUS GCS COLLECTION CREATE MAPPED
    • GLOBUS GCS COLLECTION DELETE
    • GLOBUS GCS COLLECTION LIST
    • GLOBUS GCS COLLECTION SHOW
    • GLOBUS GCS COLLECTION UPDATE
    • GLOBUS GCS ENDPOINT ROLE CREATE
    • GLOBUS GCS ENDPOINT ROLE DELETE
    • GLOBUS GCS ENDPOINT ROLE LIST
    • GLOBUS GCS ENDPOINT ROLE SHOW
    • GLOBUS GCS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS GCS ENDPOINT SHOW
    • GLOBUS GCS ENDPOINT UPDATE
    • GLOBUS GCS STORAGE-GATEWAY LIST
    • GLOBUS GCS USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS GCS USER-CREDENTIAL CREATE POSIX
    • GLOBUS GCS USER-CREDENTIAL CREATE S3
    • GLOBUS GCS USER-CREDENTIAL DELETE
    • GLOBUS GCS USER-CREDENTIAL LIST
    • GLOBUS GCS USER-CREDENTIAL SHOW
    • GLOBUS GET-IDENTITIES
    • GLOBUS GROUP CREATE
    • GLOBUS GROUP DELETE
    • GLOBUS GROUP GET-BY-SUBSCRIPTION
    • GLOBUS GROUP GET-SUBSCRIPTION-INFO
    • GLOBUS GROUP INVITE ACCEPT
    • GLOBUS GROUP INVITE DECLINE
    • GLOBUS GROUP JOIN
    • GLOBUS GROUP LEAVE
    • GLOBUS GROUP LIST
    • GLOBUS GROUP MEMBER ADD
    • GLOBUS GROUP MEMBER APPROVE
    • GLOBUS GROUP MEMBER INVITE
    • GLOBUS GROUP MEMBER LIST
    • GLOBUS GROUP MEMBER REJECT
    • GLOBUS GROUP MEMBER REMOVE
    • GLOBUS GROUP SET-POLICIES
    • GLOBUS GROUP SHOW
    • GLOBUS GROUP UPDATE
    • GLOBUS LIST-COMMANDS
    • GLOBUS LOGIN
    • GLOBUS LOGOUT
    • GLOBUS LS
    • GLOBUS MKDIR
    • GLOBUS RENAME
    • GLOBUS RM
    • GLOBUS SEARCH DELETE-BY-QUERY
    • GLOBUS SEARCH INDEX CREATE
    • GLOBUS SEARCH INDEX DELETE
    • GLOBUS SEARCH INDEX LIST
    • GLOBUS SEARCH INDEX ROLE CREATE
    • GLOBUS SEARCH INDEX ROLE DELETE
    • GLOBUS SEARCH INDEX ROLE LIST
    • GLOBUS SEARCH INDEX SHOW
    • GLOBUS SEARCH INGEST
    • GLOBUS SEARCH QUERY
    • GLOBUS SEARCH SUBJECT DELETE
    • GLOBUS SEARCH SUBJECT SHOW
    • GLOBUS SEARCH TASK LIST
    • GLOBUS SEARCH TASK SHOW
    • GLOBUS SESSION CONSENT
    • GLOBUS SESSION SHOW
    • GLOBUS SESSION UPDATE
    • GLOBUS STAT
    • GLOBUS TASK CANCEL
    • GLOBUS TASK EVENT-LIST
    • GLOBUS TASK GENERATE-SUBMISSION-ID
    • GLOBUS TASK LIST
    • GLOBUS TASK PAUSE-INFO
    • GLOBUS TASK SHOW
    • GLOBUS TASK UPDATE
    • GLOBUS TASK WAIT
    • GLOBUS TIMER CREATE TRANSFER
    • GLOBUS TIMER DELETE
    • GLOBUS TIMER LIST
    • GLOBUS TIMER PAUSE
    • GLOBUS TIMER RESUME
    • GLOBUS TIMER SHOW
    • GLOBUS TRANSFER
    • GLOBUS UPDATE
    • GLOBUS VERSION
    • GLOBUS WHOAMI
  • Examples
Skip to main content
Globus Docs
  • APIs
    Auth Flows Groups Search Timers Transfer Globus Connect Server Compute Helper Pages
  • Applications
    Globus Connect Personal Globus Connect Server Premium Storage Connectors Compute Command Line Interface Python SDK JavaScript SDK
  • Guides
  • Support
    FAQs Mailing Lists Contact Us Check Support Tickets
  1. Home
  2. Introduction
  3. Collections vs Endpoints

Handling Collections vs Endpoints

Within the Globus ecosystem, Endpoints and Collections are very closely related, but distinct, entities. While some applications are able to make them appear similar or even identical for some cases, when interacting via the CLI it becomes important to distinguish them.

In Globus Connect Personal, the ID of the endpoint is used for management and data transfer. However, for Globus Connect Server, the Endpoint and Collection are distinct entities. The Endpoint is used for some operations like collection listing, but the Collection is used for many management capabilities and data transfers.

For a more full explanation of these terms, see the v5 terminology documentation.

Different Object Types

Which command do you use for which type of object?

  • Globus Connect Personal
  • Globus Connect Server Endpoint
  • Globus Connect Server Collection
Globus Connect Personal

Manage with globus endpoint commands.

Under Globus Connect Personal, the Endpoint and the Collection are the same object.

If 5e025a81-899c-4d57-b351-db824e114e3e is the ID of a Globus Connect Personal, the following command should be used to display it:

globus endpoint show 5e025a81-899c-4d57-b351-db824e114e3e

And this command would set the description

globus endpoint update 5e025a81-899c-4d57-b351-db824e114e3e \
  --description "Foo"
Globus Connect Server Endpoint

Limited management capabilities.

Under Globus Connect Server, the Endpoint and the Collection are distinct. However, for full management of a Globus Connect Server Endpoint, you must use the globus-connect-server command from the Endpoint itself.

If 5e025a81-899c-4d57-b351-db824e114e3e is the ID of a Globus Connect Server, the following command should be used to display it:

globus endpoint show 5e025a81-899c-4d57-b351-db824e114e3e

However, the Globus CLI does not support modifying the Endpoint in this case.

Mapped or Guest Collection

Manage with globus collection commands.

Under Globus Connect Server, the Endpoint and the Collection are distinct. Management of the Collection objects is supported by the Globus CLI.

If 5e025a81-899c-4d57-b351-db824e114e3e is the ID of a Mapped Collection or Guest Collection, the following command should be used to display it:

globus collection show 5e025a81-899c-4d57-b351-db824e114e3e

And this command would set the description

globus collection update 5e025a81-899c-4d57-b351-db824e114e3e \
  --description "Foo"

Inspecting Entity Type

You can always retrieve the entity_type field from an endpoint or collection by using globus api command with the --jmespath option like so:

globus api transfer GET /endpoint/${OBJECT_ID} --jmespath 'entity_type'

This command makes direct use of Globus Transfer API to fetch the object and extract the field which describes the type of object.

Globus CLI Handling of Endpoint vs Collection

For a CLI user, you may not know if an object is a v5 Endpoint, a v4 Endpoint, or a Collection. And, unfortunately, that information is necessary for the correct execution of Globus CLI commands.

Collections under Globus Connect Server require that the user logs in against the Endpoint which hosts the collections in order to perform management functions. That is, collection update, collection list, and similar operations require authentication against the Endpoint.

For this reason, these operations are not supported by the equivalent globus endpoint commands.

In the best case, you know that you are using a collection, not an endpoint, and can run the appropriate command. As in:

$ globus collection update 83567b16-478d-4ead-a486-645bab0b07dc \
    --description 'My Mapped Collection'
code: success

However, there are two interesting scenarios to discuss…​

Using an endpoint command on a collection

The endpoint and collection commands understand that globus endpoint update is analogous to globus collection update. Therefore, when a command is used, but against the wrong type of object, an appropriate error message will be shown.

For example, if a collection ID with globus endpoint update, the following error message appears:

$ globus endpoint update 83567b16-478d-4ead-a486-645bab0b07dc \
    --description 'My Mapped Collection'
Expected 83567b16-478d-4ead-a486-645bab0b07dc to be an endpoint ID.
Instead, found it was of type 'Mapped Collection'.


Please run the following command instead:

    globus collection update 83567b16-478d-4ead-a486-645bab0b07dc

This message tells us that the ID 83567b16-478d-4ead-a486-645bab0b07dc refers to a collection, and therefore needs to be updated with the globus collection update command.

The same holds in reverse. If globus collection update is used with an endpoint ID, a similar error will be shown.

Required Logins

globus collection update may, or may not, succeed depending on whether or not the user has already logged in to the Endpoint which hosts the Collection. This only needs to be done once per-login-per-endpoint, but the first time a command is run which interacts with an endpoint, it will fail.

In the case that the Endpoint has not been used, any command which uses it will return a new error, instructing the user to login to the Endpoint. For example:

$ globus collection update 83567b16-478d-4ead-a486-645bab0b07dc \
    --description 'My Mapped Collection'
MissingLoginError: Missing login for 60ffc8ad-7227-4d9b-885e-19bdb16e52fa, please run

  globus login --gcs 60ffc8ad-7227-4d9b-885e-19bdb16e52fa

In this case, the new login is needed, after which the collection update will succeed:

$ globus login --gcs 60ffc8ad-7227-4d9b-885e-19bdb16e52fa
...  # a prompt for login will be shown, and the user logs in

You have successfully logged in to the Globus CLI!

You can check your primary identity with
  globus whoami

For information on which of your identities are in session use
  globus session show

Logout of the Globus CLI with
  globus logout

# now run the update
$ globus collection update 83567b16-478d-4ead-a486-645bab0b07dc \
    --description 'My Mapped Collection'
code: success
  • Introduction
  • QuickStart
  • Collections vs Endpoints
  • High Assurance
  • Environment Variables
  • JMESPath Queries
  • Reference
    • CLI Changelog
    • GLOBUS API AUTH
    • GLOBUS API FLOWS
    • GLOBUS API GCS
    • GLOBUS API GROUPS
    • GLOBUS API SEARCH
    • GLOBUS API TIMERS
    • GLOBUS API TRANSFER
    • GLOBUS BOOKMARK CREATE
    • GLOBUS BOOKMARK DELETE
    • GLOBUS BOOKMARK LIST
    • GLOBUS BOOKMARK RENAME
    • GLOBUS BOOKMARK SHOW
    • GLOBUS CLI-PROFILE-LIST
    • GLOBUS COLLECTION CREATE GUEST
    • GLOBUS COLLECTION CREATE MAPPED
    • GLOBUS COLLECTION DELETE
    • GLOBUS COLLECTION LIST
    • GLOBUS COLLECTION SHOW
    • GLOBUS COLLECTION UPDATE
    • GLOBUS DELETE
    • GLOBUS ENDPOINT DELETE
    • GLOBUS ENDPOINT LOCAL-ID
    • GLOBUS ENDPOINT MY-SHARED-ENDPOINT-LIST
    • GLOBUS ENDPOINT PERMISSION CREATE
    • GLOBUS ENDPOINT PERMISSION DELETE
    • GLOBUS ENDPOINT PERMISSION LIST
    • GLOBUS ENDPOINT PERMISSION SHOW
    • GLOBUS ENDPOINT PERMISSION UPDATE
    • GLOBUS ENDPOINT ROLE CREATE
    • GLOBUS ENDPOINT ROLE DELETE
    • GLOBUS ENDPOINT ROLE LIST
    • GLOBUS ENDPOINT ROLE SHOW
    • GLOBUS ENDPOINT SEARCH
    • GLOBUS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS ENDPOINT SHOW
    • GLOBUS ENDPOINT STORAGE-GATEWAY LIST
    • GLOBUS ENDPOINT UPDATE
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE POSIX
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE S3
    • GLOBUS ENDPOINT USER-CREDENTIAL DELETE
    • GLOBUS ENDPOINT USER-CREDENTIAL LIST
    • GLOBUS ENDPOINT USER-CREDENTIAL SHOW
    • GLOBUS FLOWS CREATE
    • GLOBUS FLOWS DELETE
    • GLOBUS FLOWS LIST
    • GLOBUS FLOWS RUN CANCEL
    • GLOBUS FLOWS RUN DELETE
    • GLOBUS FLOWS RUN LIST
    • GLOBUS FLOWS RUN RESUME
    • GLOBUS FLOWS RUN SHOW
    • GLOBUS FLOWS RUN SHOW-DEFINITION
    • GLOBUS FLOWS RUN SHOW-LOGS
    • GLOBUS FLOWS RUN UPDATE
    • GLOBUS FLOWS SHOW
    • GLOBUS FLOWS START
    • GLOBUS FLOWS UPDATE
    • GLOBUS FLOWS VALIDATE
    • GLOBUS GCP CREATE GUEST
    • GLOBUS GCP CREATE MAPPED
    • GLOBUS GCP SET-SUBSCRIPTION-ID
    • GLOBUS GCP UPDATE GUEST
    • GLOBUS GCP UPDATE MAPPED
    • GLOBUS GCS COLLECTION CREATE GUEST
    • GLOBUS GCS COLLECTION CREATE MAPPED
    • GLOBUS GCS COLLECTION DELETE
    • GLOBUS GCS COLLECTION LIST
    • GLOBUS GCS COLLECTION SHOW
    • GLOBUS GCS COLLECTION UPDATE
    • GLOBUS GCS ENDPOINT ROLE CREATE
    • GLOBUS GCS ENDPOINT ROLE DELETE
    • GLOBUS GCS ENDPOINT ROLE LIST
    • GLOBUS GCS ENDPOINT ROLE SHOW
    • GLOBUS GCS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS GCS ENDPOINT SHOW
    • GLOBUS GCS ENDPOINT UPDATE
    • GLOBUS GCS STORAGE-GATEWAY LIST
    • GLOBUS GCS USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS GCS USER-CREDENTIAL CREATE POSIX
    • GLOBUS GCS USER-CREDENTIAL CREATE S3
    • GLOBUS GCS USER-CREDENTIAL DELETE
    • GLOBUS GCS USER-CREDENTIAL LIST
    • GLOBUS GCS USER-CREDENTIAL SHOW
    • GLOBUS GET-IDENTITIES
    • GLOBUS GROUP CREATE
    • GLOBUS GROUP DELETE
    • GLOBUS GROUP GET-BY-SUBSCRIPTION
    • GLOBUS GROUP GET-SUBSCRIPTION-INFO
    • GLOBUS GROUP INVITE ACCEPT
    • GLOBUS GROUP INVITE DECLINE
    • GLOBUS GROUP JOIN
    • GLOBUS GROUP LEAVE
    • GLOBUS GROUP LIST
    • GLOBUS GROUP MEMBER ADD
    • GLOBUS GROUP MEMBER APPROVE
    • GLOBUS GROUP MEMBER INVITE
    • GLOBUS GROUP MEMBER LIST
    • GLOBUS GROUP MEMBER REJECT
    • GLOBUS GROUP MEMBER REMOVE
    • GLOBUS GROUP SET-POLICIES
    • GLOBUS GROUP SHOW
    • GLOBUS GROUP UPDATE
    • GLOBUS LIST-COMMANDS
    • GLOBUS LOGIN
    • GLOBUS LOGOUT
    • GLOBUS LS
    • GLOBUS MKDIR
    • GLOBUS RENAME
    • GLOBUS RM
    • GLOBUS SEARCH DELETE-BY-QUERY
    • GLOBUS SEARCH INDEX CREATE
    • GLOBUS SEARCH INDEX DELETE
    • GLOBUS SEARCH INDEX LIST
    • GLOBUS SEARCH INDEX ROLE CREATE
    • GLOBUS SEARCH INDEX ROLE DELETE
    • GLOBUS SEARCH INDEX ROLE LIST
    • GLOBUS SEARCH INDEX SHOW
    • GLOBUS SEARCH INGEST
    • GLOBUS SEARCH QUERY
    • GLOBUS SEARCH SUBJECT DELETE
    • GLOBUS SEARCH SUBJECT SHOW
    • GLOBUS SEARCH TASK LIST
    • GLOBUS SEARCH TASK SHOW
    • GLOBUS SESSION CONSENT
    • GLOBUS SESSION SHOW
    • GLOBUS SESSION UPDATE
    • GLOBUS STAT
    • GLOBUS TASK CANCEL
    • GLOBUS TASK EVENT-LIST
    • GLOBUS TASK GENERATE-SUBMISSION-ID
    • GLOBUS TASK LIST
    • GLOBUS TASK PAUSE-INFO
    • GLOBUS TASK SHOW
    • GLOBUS TASK UPDATE
    • GLOBUS TASK WAIT
    • GLOBUS TIMER CREATE TRANSFER
    • GLOBUS TIMER DELETE
    • GLOBUS TIMER LIST
    • GLOBUS TIMER PAUSE
    • GLOBUS TIMER RESUME
    • GLOBUS TIMER SHOW
    • GLOBUS TRANSFER
    • GLOBUS UPDATE
    • GLOBUS VERSION
    • GLOBUS WHOAMI
  • Examples
© 2010- The University of Chicago Legal Privacy Accessibility