Flows API
  • Globus Flows
  • Overview
  • Getting Started
    • How to Run a Flow
    • How to Monitor a Flow Run
    • How to Create a Flow
    • How to Manage High Assurance Flows
  • Authoring Flows
    • Introduction
    • Actions
    • Expressions
    • Choice States
    • Wait States
    • Fail States
    • Pass States
    • Protecting Secrets
    • Handling Exceptions
    • Performing Actions as Different Users
    • Run Context
    • Validating Flow Definitions
    • High Assurance Flows
  • Authoring Input Schemas
  • Registered APIs
    • Feature Overview
    • Tutorials
    • Explanations
    • How-tos
    • Reference
    • The Globus Registered API CLI
  • Authentication and Authorization
  • Consents and Resuming Runs
  • Permissions
  • Limits
  • Hosted Registered APIs
    • Usage notes
    • Globus Groups Registered APIs
    • Globus Search Registered APIs
  • Hosted Action Providers
    • Hello World
    • Globus Search - Ingest Task
    • Globus Search - Delete Task
    • Send Notification Email
    • Wait For User Selection
    • Expression Evaluation
    • DataCite Mint
    • Transfer APs
    • Compute AP
  • Example Flows
    • Simple Transfer
    • Move (copy and delete) files
    • Transfer and Share Files
    • Two Stage Globus Transfer
    • Transfer After Approval
    • Looping Batched Move
    • Tar and Transfer with Globus Compute
Skip to main content
Globus Docs
  • Getting Started
    Getting Started

    Getting Started and Tutorial docs cover how to perform some activity or provide an introduction to a feature. They are not comprehensive, but help you get started with Globus or with new Globus features.

    • Users
    • Admins
    • Developers
  • Reference
    Reference
    • Service
      • Auth
      • Groups
      • Transfer
      • Timers
      • Flows
      • Compute
      • Search
    • Agents
      • Globus Connect Server
      • GCS CLI
      • Globus Connect Personal
      • Globus Compute
    • SDK
      • Python
      • JavaScript/TypeScript
    • Clients
      • CLI
    • Security and Compliance
      • Product Security
      • Privacy
      • Solutions for Sensitive Data
      • FAQs
  • Solutions & Guides
    Solutions & Guides

    Find practical approaches for leveraging Globus in research environments, integrating with platforms, and building science gateways. Access hands-on guides, integration instructions, and real-world scenarios for advanced usage.

    • Portals/Science Gateways
    • Guides
  • Support
    Support

    Find answers to frequently asked questions, connect with the community by joining our mailing lists, or reach out directly to Globus support.

    • FAQs
    • Mailing Lists
    • Contact Us
    • Check Support Tickets
  • Site Search
  1. Home
  2. Globus Services
  3. Globus Flows
  4. Registered APIs
  5. Explanations
  6. What is a scope?

What is a scope?

Table of Contents
  • 1. What is a scope?
  • 2. How do scopes relate to Registered APIs?
    • 2.1. Example: Globus Search scopes
    • 2.2. Example: Globus Flows scopes

1. What is a scope?

When you use a browser or a command line tool for the first time to interact with a Globus service, you will be asked to consent to the browser or command line tool accessing information from the Globus service.

For example, when you log into the Globus Web App for the first time, you’ll be asked something like this:

Globus Web App would like to:

✅ Search for data using your identities and groups
✅ Manage your Globus groups (v2)
✅ Manage data using Globus Transfer
✅ View the identities in your Globus account

A scope is an OAuth2 construct that associates some unit of permission that a tool can have with a service. Each of the items in the list above is associated with a scope.

2. How do scopes relate to Registered APIs?

If a Registered API targets an API which accepts Globus Auth tokens, it must define one or more scopes.

This allows the Globus Flows service to:

  1. Verify that flow runners have properly consented to interact with the Registered API when it is used in a specific flow.

  2. Orchestrate which tokens to provide when calling the API.

In the ideal case, the service’s OpenAPI specification will already document which scopes — if any — are required for each API route.

However, you might encounter an OpenAPI specification that doesn’t document scopes. In that circumstance, when using the gra manage command, you’ll need to list what scopes are required for each target.

2.1. Example: Globus Search scopes

Let’s look at a concrete example. The Globus Search service has a total of three scopes, summarized below. Note that write access ("Ingest") does not imply read access ("Search").

Scope Search Ingest Create index Delete index

search

✅

-

-

-

ingest

-

✅

-

-

all

✅

✅

✅

✅

If you wanted to create a Registered API for the Globus Search service’s Query - GET API route, you would need to provide both the search and all scopes.

The order of the scopes matters! Although either the search or the all scope would allow the API call to succeed, the search scope should be listed first. If the user hasn’t given permission for a flow to use either scope, they will be prompted to consent to the first scope listed.

Therefore, if an OpenAPI specification is ever missing scope information, you should list the scopes with the least-permissive scope listed first.

Note

The Globus Search OpenAPI specification contains scope information, so you won’t actually need to provide scopes yourself.

2.2. Example: Globus Flows scopes

Let’s look at another example. The Globus Flows service has two flows-related scopes, as well as an all scope. Note that write access implies read access.

Globus Flows scopes

Scope Read flows Write flows

view_flows

✅

-

manage_flows

✅

✅

all

✅

✅

Read access is required to list the flows that you have access to; consenting to any of the scopes listed above would allow a tool to list your flows.

However, write access is required to update a flow, so you would have to consent to either the manage_flows or all scope to allow a tool to update a flow you have access to.

  • Globus Flows
  • Overview
  • Getting Started
    • How to Run a Flow
    • How to Monitor a Flow Run
    • How to Create a Flow
    • How to Manage High Assurance Flows
  • Authoring Flows
    • Introduction
    • Actions
    • Expressions
    • Choice States
    • Wait States
    • Fail States
    • Pass States
    • Protecting Secrets
    • Handling Exceptions
    • Performing Actions as Different Users
    • Run Context
    • Validating Flow Definitions
    • High Assurance Flows
  • Authoring Input Schemas
  • Registered APIs
    • Feature Overview
    • Tutorials
    • Explanations
    • How-tos
    • Reference
    • The Globus Registered API CLI
  • Authentication and Authorization
  • Consents and Resuming Runs
  • Permissions
  • Limits
  • Hosted Registered APIs
    • Usage notes
    • Globus Groups Registered APIs
    • Globus Search Registered APIs
  • Hosted Action Providers
    • Hello World
    • Globus Search - Ingest Task
    • Globus Search - Delete Task
    • Send Notification Email
    • Wait For User Selection
    • Expression Evaluation
    • DataCite Mint
    • Transfer APs
    • Compute AP
  • Example Flows
    • Simple Transfer
    • Move (copy and delete) files
    • Transfer and Share Files
    • Two Stage Globus Transfer
    • Transfer After Approval
    • Looping Batched Move
    • Tar and Transfer with Globus Compute
© 2010- The University of Chicago Legal Privacy Accessibility