@globus/sdk provides modules for interacting with the various APIs that make up the Globus platform.

  • All service methods return a Promise that resolves to a Fetch API Response object.
    • Under the hood, we are returning the result of a composed fetch.
  • All service methods accept a ServiceMethodOptions object to pass query parameters, a payload, and headers.
  • All service methods support a tail argument to pass options to the SDK, including the composed fetch call.

Basic CRUD operations provided by services are exposed as the following:

Service Method Name HTTP Method Description Example
get GET Fetch a single resource. transfer.endpoint.get()
getAll GET Fetch a list of resources. flows.flows.getAll()
create POST Create a new resource. gcs.roles.create()
update PUT Update an existing resource. gcs.endpoint.update()
patch PATCH Update an existing resource. gcs.endpoint.patch()
remove DELETE Delete an existing resource. gcs.collections.remove()

Methods that do not map to obvious CRUD operations are named according to the resource. i.e., groups.groups.getMyGroups(), transfer.endpointSearch(), search.query.post()

import { transfer } from "@globus/sdk";

const result = await (
await globus.transfer.endpointSearch(
{
query: { filter_fulltext: "Globus Tutorial" }
headers: {
Authorization: "Bearer MY_ACCESS_TOKEN",
},
},
{
fetch: {
// Provide parameters to the underlying `fetch` call.
// https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters
options: {
priority: "high"
},
},
}
)
).json();
import { flows } from "@globus/sdk";

const result = await (await flows.flows.get("452bbea3-5e3b-45a5-af08-50179839a4e8")).json();

Namespaces

auth
Errors
logger
webapp

References

authorization → Authorization
info → Information

Service

compute
flows
gcs
groups
search
timer
transfer