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 use

  • id of host Network is known

Workgroup Schema

FieldTypeDescription

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

id of Organizationserving as ecosystem operator

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

NameTypeDescription

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 Workgroup

Path Parameters

NameTypeDescription

id*

uuid

id of target Workgroup

Headers

NameTypeDescription

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

NameTypeDescription

authorization*

string

bearer <JWT> scoped for Organization

Request Body

NameTypeDescription

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

{
    // Response
}

Update Workgroup

Updates a specified Workgroup

Update Workgroup

POST https://baseline.provide.services/api/v1/workgroups

Updates a Workgroup per the request parameters

Headers

NameTypeDescription

authorization*

string

bearer <JWT> scoped for Organization

Request Body

NameTypeDescription

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

{
    // Response
}

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

NameTypeDescription

authorization*

string

bearer <JWT> scope to Organization

{
    // Response
}

Last updated