Download OpenAPI specification:Download
This is the Globus Flows API description.
Deploy a Flow and its schema.
required | object (FlowDefinition) |
title | string [ 1 .. 128 ] characters A non-unique, human-friendly name used for displaying the provider to end users. |
subtitle | string [ 1 .. 128 ] characters A concise summary of the provider’s purpose. |
description | string [ 1 .. 4096 ] characters A detailed description of the provider for end user display. |
keywords | Array of strings A set of terms used to categorize the provider which may be used in query and discovery operations. Maximum total length of all keywords is 1024 characters. |
flow_viewers | Array of strings (PrincipalURN_or_public) unique A set of Principal URN values, or the value "public" indicating the identity of users who can view the provider description via introspection or when indexed in any provider catalog service. |
flow_starters | Array of strings (PrincipalURN_or_all_authenticated_users) unique A set of Principal URN values, or the value "all_authenticated_users" indicating the identity of users who can use the /run operation to initiate an action on the provider. |
flow_administrators | Array of strings (PrincipalURN) unique The set of Principal URN values of users who may perform administrative operations, including updating the description itself, on the provider. |
input_schema | object A published JSON Schema which input to the Flow must conform to. |
subscription_id | string <uuid> A subscription_id associated with this Flow. If no subscription_id is present, the Flow may be accepted, but may have limits on how long or how much it can be used. |
{- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "title": "string",
- "subtitle": "string",
- "description": "string",
- "keywords": [
- "string"
], - "flow_viewers": [
- "public",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_starters": [
- "all_authenticated_users",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_administrators": [
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "input_schema": { },
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627"
}
{- "id": "string",
- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "input_schema": { },
- "user_role": "flow_viewer",
- "flow_viewers": [
- "public",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_starters": [
- "all_authenticated_users",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_administrators": [
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c"
], - "flow_owner": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "synchronous": true,
- "log_supported": true,
- "types": [
- "Action"
], - "api_version": "1.0",
- "title": "string",
- "subtitle": "string",
- "description": "string",
- "keywords": [
- "string"
], - "principal_urn": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "globus_auth_username": "string",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627"
}
Query the Flows service for a listing of Flows available to a user according to the permissions (role) they have on the Flow.
marker | string An opaque token used to iterate through pages of returned Flows. If provided, all other query arguments will be ignored. The marker encodes all state in a given query, therefore it's unnecessary to provide query arguments once an initial marker has been received. |
per_page | integer [ 1 .. 50 ] Default: 20 Example: per_page=50 The number of results to return in a single paged response. |
page | integer >= 1 Default: 1 Example: page=2 The page of results to return. |
filter_roles | Array of strings Deprecated Default: "flow_owner,flow_viewers,flow_starters,flow_administrators" Items Enum: "flow_owner" "flow_viewers" "flow_starters" "flow_administrators" Example: filter_roles=flow_owner,flow_viewers Return Flows for which the user has the supplied role. The role the user has on the Flow dictates the operations they can perform. If multiple roles are specified, the user will have at least one of the specified roles on each Flow returned. |
filter_role | string Enum: "flow_viewer" "flow_starter" "flow_administrator" "flow_owner" Example: filter_role=flow_starter Return Flows for which the user has the provided role. The role the user has on the Flow dictates the operations they can perform. Roles are cumulative in the sense that having, for example, the "flow_starter" role also implies having the "flow_viewer" role. Thus, specifying "flow_starter" will also include all Flows for which the user has "flow_viewer" role as well. If not provided, only Flows for which the caller has "flow_owner" role will be returned. |
filter_scope_string | Array of strings Example: filter_scope_string=0abc,100 Performs a case insensitive substring based search on the Flows' scope string fields. If multiple values are specified, each Flow returned is guaranteed to contain at least one of the strings in its scope strings. |
filter_title | Array of strings Example: filter_title=hello,science Performs a case insensitive substring based search on the Flows' title field. If multiple values are specified, each Flow returned is guaranteed to contain at least one of the strings in its title. |
filter_subtitle | Array of strings Example: filter_subtitle=hello,science Performs a case insensitive substring based search on the Flows' subtitle field. If multiple values are specified, each Flow returned is guaranteed to contain at least one of the strings in its subtitle. |
filter_description | Array of strings Example: filter_description=hello,science Performs a case insensitive substring based search on the Flows' description field. If multiple values are specified, each Flow returned is guaranteed to contain at least one of the strings in its description. |
filter_keywords | Array of strings Example: filter_keywords=hello,science Performs a case insensitive substring based search on the Flows' keywords field. If multiple values are specified, each Flow returned is guaranteed to contain at least one of the substrings as a keyword. |
filter_fulltext | Array of strings Example: filter_fulltext=globus Given a one or more patterns, this filter searches against a pre-defined subset of fields for a match. If any of the fields match any of the patterns, the Flow is considered a match. The fields that are automatically searched in are:
|
orderby | Array of strings Example: orderby=title ASC,id DESC An ordering criteria to apply to the resulting Flows listing. The first value indicates the field to order on, and the second value indicates the sorting order. The first ordering criteria will be used to sort the data, subsequent ordering criteria will be applied for ties. Fields that support ordering are:
Supported orderings are:
|
{- "flows": [
- {
- "id": "string",
- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "input_schema": { },
- "user_role": "flow_viewer",
- "flow_viewers": [
- "public",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_starters": [
- "all_authenticated_users",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_administrators": [
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c"
], - "flow_owner": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "synchronous": true,
- "log_supported": true,
- "types": [
- "Action"
], - "api_version": "1.0",
- "title": "string",
- "subtitle": "string",
- "description": "string",
- "keywords": [
- "string"
], - "principal_urn": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "globus_auth_username": "string",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627"
}
], - "limit": 0,
- "marker": "string",
- "has_next_page": true
}
Get a previously deployed Flow.
flow_id required | string The ID for the Flow whose definition is being looked up. |
{- "id": "string",
- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "input_schema": { },
- "user_role": "flow_viewer",
- "flow_viewers": [
- "public",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_starters": [
- "all_authenticated_users",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_administrators": [
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c"
], - "flow_owner": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "synchronous": true,
- "log_supported": true,
- "types": [
- "Action"
], - "api_version": "1.0",
- "title": "string",
- "subtitle": "string",
- "description": "string",
- "keywords": [
- "string"
], - "principal_urn": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "globus_auth_username": "string",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627"
}
Update a previously deployed Flow.
flow_id required | string The ID for the Flow whose definition is being looked up. |
object (FlowDefinition) | |
input_schema | object A JSON schema document. When starting the flow, input keys and values must conform to the schema. The Globus Web App uses the input schema to created a guided input page when starting the flow. |
title | string [ 1 .. 128 ] characters A non-unique, human-friendly name used for displaying the flow to end users. |
subtitle | string <= 128 characters A short summary of the flow's purpose or functionality. |
description | string <= 4096 characters Arbitrary text to describe the Flow. |
flow_owner | string If provided, the value must be the calling user's Globus Auth identity URN, and the user must be a flow administrator. It is not possible for non-administrators to take ownership of a flow. Also, it is currently not possible to assign ownership to another user. |
flow_administrators | Array of str[ items ] A list of Globus Auth identity and group URNs that may administer the flow. Flow administrators are able to see the full flow definition, including any parameters listed in a "__Private_Parameters" value. |
flow_starters | Array of str[ items ] A list of Globus Auth identity and group URNs that may start the flow. It is possible to make a flow available for use to all authenticated users -- including those outside your organization or domain -- by using the special value "all_authenticated_users". Parameters listed in "__Private_Parameters" values in the definition will be removed from the definition when it is viewed by a flow starter. |
flow_viewers | Array of str[ items ] A list of Globus Auth identity and group URNs that may see the flow, including its definition and input schema. It is possible to make a flow available for viewing to all users -- including those outside your organization or domain -- by using the special value "public". Parameters listed in "__Private_Parameters" values in the definition will be removed from the definition when it is viewed by a flow starter. |
keywords | Array of str[ items ] A list of keywords that can be used for grouping or identifying flows. |
{- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "input_schema": { },
- "title": "string",
- "subtitle": "string",
- "description": "string",
- "flow_owner": "string",
- "flow_administrators": [
- null
], - "flow_starters": [
- null
], - "flow_viewers": [
- null
], - "keywords": [
- null
]
}
{- "id": "string",
- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "input_schema": { },
- "user_role": "flow_viewer",
- "flow_viewers": [
- "public",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_starters": [
- "all_authenticated_users",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_administrators": [
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c"
], - "flow_owner": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "synchronous": true,
- "log_supported": true,
- "types": [
- "Action"
], - "api_version": "1.0",
- "title": "string",
- "subtitle": "string",
- "description": "string",
- "keywords": [
- "string"
], - "principal_urn": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "globus_auth_username": "string",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627"
}
Remove a Flow from the Flow service.
flow_id required | string The ID for the Flow whose definition is being looked up. |
{- "id": "string",
- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "input_schema": { },
- "user_role": "flow_viewer",
- "flow_viewers": [
- "public",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_starters": [
- "all_authenticated_users",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_administrators": [
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c"
], - "flow_owner": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "synchronous": true,
- "log_supported": true,
- "types": [
- "Action"
], - "api_version": "1.0",
- "title": "string",
- "subtitle": "string",
- "description": "string",
- "keywords": [
- "string"
], - "principal_urn": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "globus_auth_username": "string",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627"
}
Query the Flows service for a listing of Flows available to a user according to the permissions (role) they have on the Flow.
roles | Array of strings Default: "flow_owner" Items Enum: "flow_owner" "flow_viewers" "flow_starters" "flow_administrators" Example: roles=flow_owner,flow_viewers Return Flow's for which the user has the supplied role. The role the user has on the Flow dictates the operations they can perform. |
{- "flows": [
- {
- "id": "string",
- "definition": {
- "Comment": "string",
- "StartAt": "string",
- "States": {
- "property1": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}, - "property2": {
- "Parameters": "string",
- "InputPath": "string",
- "ResultPath": "string"
}
}
}, - "input_schema": { },
- "user_role": "flow_viewer",
- "flow_viewers": [
- "public",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_starters": [
- "all_authenticated_users",
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "urn:globus:groups:id:fdb38a24-03c1-11e3-86f7-12313809f035"
], - "flow_administrators": [
- "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c"
], - "flow_owner": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "synchronous": true,
- "log_supported": true,
- "types": [
- "Action"
], - "api_version": "1.0",
- "title": "string",
- "subtitle": "string",
- "description": "string",
- "keywords": [
- "string"
], - "principal_urn": "urn:globus:auth:identity:46bd0f56-e24f-11e5-a510-131bef46955c",
- "globus_auth_username": "string",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627"
}
], - "limit": 0,
- "marker": "string",
- "has_next_page": true
}