Workgroups
Overview
The Workgroup API provides tools for managing the organizations and resources included in a baseline ecosystem. A Workgroup
represents a logical collection of resources provisioned within Provide's containerized microservices architecture and designed to facilitate shared business processes amongst a group of known participants. A Workgroup
is immutably configured upon initialization with support for a primary Network
.
Access to programmatically manage resources associated with a Workgroup
is provided via REST API, to which ACL-based authorization is managed using generic permissions.
Application
Workgroups are used to establish rulesets and define resources for use by participants in a shared baseline process. Typically, Workgroup
variables are stored in a configurable Vault
, defaulting to the organizational Vault
as defined by the ecosystem operator
Fundamentals
Ecosystem
A Workgroup
exists within a broader environment that includes all external resources needed to complete an end-to-end baselined process. In Provide Baseline, this environment is known as the Ecosystem or Baseline Ecosystem. An ecosystem can encompass systems of record, participants, external workgroups, networks, infrastructure or hosting environments.
An ecosystem is provisioned, curated and managed by an Ecosystem Operator.
Ecosystem Operator
An Ecosystem Operator is responsible for Workgroup
creation, ecosystem management, Workflow
design, and infrastructure architecture. Upon Workgroup
initialization, the ecosystem operator defaults to the creating User
. The ecosystem operator can be changed via an Update Workgroup request within an authorized scope.
Participants
Organizations or other entities included in a Workgroup
are referred to as participants. Organizations are invited to become a participant in a Workgroup
by way of an Invitation
.
Using Workgroups
Prerequisites
The Workgroup API is intended to function within the context of an Organization
Within this context, it is assumed that:
an
Organization
scoped JWT is available for useid
of hostNetwork
is known
Workgroup Schema
config
object
arbitrary data pertaining to Workflow
created_at
date/time
timestamp of Workgroup
creation
hidden
boolean
when true
, workgroup in not visible in public workgroup table
id
uuid
id
of Workgroup
network_id
string
id
of Network
on which workgroup is registered
organization_id
string
participants
array
list of workgroup participants
privacy_policy
string
arbitrary privacy policy encompassing the Workgroup
security_policy
string
arbitrary security policy encompassing the Workgroup
tokenization_policy
object
object that defines the tokenization policies made available to workgroup participants
type
uuid
type of workgroup; defaults to baseline
user_id
string
id
of User
that initialized workgroup creation
API Requests
List Workgroups
Returns a list of workgroups within the authorized scope
List Workgroups
GET
https://baseline.provide.services/api/v1/workgroups
Returns a list of workgroups within an authorized scope
Headers
authorization*
string
bearer <JWT> scoped for Organization
Get Workgroup Details
Get Workgroup Details
GET
https://baseline.provide.services/api/v1/workgroups/:id
Retrieves detailed information for a specified Wor
kgroup
Path Parameters
id*
uuid
id
of target Workgroup
Headers
authorization*
string
bearer <JWT> scoped for Organization
Create Workgroup
Creates a Workgroup
per the provided parameters
Create Workgroup
POST
https://baseline.provide.services/api/v1/workgroups
Creates a Workgroup
per the provided parameters
Headers
authorization*
string
bearer <JWT> scoped for Organization
Request Body
name*
string
name of workgroup
description
string
brief descriptor of workgroup
type*
string
classification of workgroup; should be equal to baseline
privacy_policy
string
arbitrary privacy policy encompassing the Workgroup
security_policy
string
arbitrary security policy encompassing the Workgroup
tokenization_policy
object
object that defines the tokenization policies made available to workgroup participants
network_id*
uuid
id
of Network
on which workgroup is to be registered
Update Workgroup
Updates a specified Workgroup
Update Workgroup
POST
https://baseline.provide.services/api/v1/workgroups
Updates a Workgroup
per the request parameters
Headers
authorization*
string
bearer <JWT> scoped for Organization
Request Body
name*
string
name of Workgroup
description
string
brief descriptor of Workgroup
type
string
classification of Workgroup
. In baseline context, should be equal to 'baseline'
privacy_policy
string
arbitrary privacy policy encompassing the Workgroup
security_policy
string
arbitrary security policy encompassing the Workgroup
tokenization_policy
object
object that defines the tokenization policies made available to workgroup participants
List Workgroup Participants
Returns a list of participants in a specified Workgroup
List Workgroup Participants
GET
https://baseline.provide.services/api/v1/workgroups/:id/participants
Returns a list of participants in a specified Workgroup
within the authorized scope
Headers
authorization*
string
bearer <JWT> scope to Organization
Last updated