Managing workspaces

This document provides information on workspace management, namely the following actions: creating workspaces, managing a workspace, as well as adding new and managing existing users.

Creating workspaces

A Workspace is an environment within your platform contract where users can build and test flows. Access to a workspace is restricted by default.

As a rule each Workspace should have a specific function. For most organisations we recommend a Production workspace where your live integrations are running, and a Staging or Testing workspace where you can test new or updated flows against staging or sandbox accounts.

However any user can create a workspace to test new ideas in a space where other users cannot see or access them. Any new Workspace created within a contract will automatically be a "limited" workspace. Limited workspaces are designed to function like sandboxes. They have limited logging and data storage and should not be used for Production flows. If you have a Limited workspace that you want to use for production flows, contact support.

Creating a workspace

Learn how to create a new workspace that contains its own flows, credentials and members.

Working in the UI, the option to create a new workspace is available on a number of screens, however the Create Workspace button in the left hand menu is always available.

  • Click "Create Workspace"

  • Enter a Workspace name and click "Create".

Working in the API, use the following request:

POST https://api.connect.squiz.cloud/v2/workspaces

Below are request parameters:

Payload Parameter Required Description

type

yes

Allowed value: workspace

attributes.name

yes

Name of the new workspace

relationships.contract.data.id

yes

ID of the contract

relationships.contract.data.type

yes

Allowed value: contract

EXAMPLE:

To create a new workspace called Integrator 2: Judgement Day, we will use the following request:

$ curl https://api.connect.squiz.cloud/v2/workspaces \
  -X POST \
  -u {EMAIL}:{APIKEY} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' -d '
  {
    "data":{
      "type":"workspace",
      "attributes":{
        "name":"Integrator 2: Judgement Day"
      },
      "relationships":{
        "contract":{
          "data":{
            "id":"{CONTRACT_ID}",
            "type":"contract"
          }
        }
      }
    }
  }'
The Workspace name may contain only letters, digits, whitespaces, - and _ symbols, and be from 3 up to 40 symbols long.

Managing a workspace

A workspace owner or admin can manage the Workspace.

Organize - Workspace

1 At the top of the left-hand menu, select the workspace you want to administer.

2 In the Organise section of the menu, click Workspace to view the admin screen.

You will see the workspace details, including a list of workspace members.

Add users

Learn how to add members of your contract to a workspace and change a member role in Integrations.

Any platform user can be added to your contract as a member. New members can be invited to the contract from DXP Console.

1 Click Add new member button.

2 Select the member.

3 Define workspace role.

4 Click Add.

Add new member

Manage existing users

To remove members from a workspace, click the Remove icon on the user list, or click Edit to change a member’s role.

Workspace details

To rename a workspace, click Workspace in the menu, and then click Workspace name.

To delete a workspace, click Delete workspace on the same page:

Delete workspace

If you are working in an Limited Workspace a message will display on screen. Limited workspaces are for test use only and have limitations that make them unsuitable for use in productions. Contact support if you need to make a limited workspace unlimited.

Workspace management via the API

All actions that can be carried out in the UI can be carried out via the API.

To add a new member via the API, use the following request:

POST https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID}/members

Below are request parameters:

Payload Parameter Required Description

id

yes

ID of an already registered user, who will be added as a member of the workspace

type

yes

Allowed value: member.

attributes.roles[]

yes

New member roles.

EXAMPLE:

To add a user with the ID Elvis with King and Immortal roles we will use the following request:

$ curl https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID}/members/ \
    -X POST \
    -u {EMAIL}:{APIKEY} \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' -d '
    {
       "data": {
           "type": "member",
           "id": "{Elvis}",
           "attributes": {
               "roles": [
                 "{King}",
                 "{Immortal}"
               ]
           }
       }
    }'

To update user roles via the API, use the following request:

PATCH https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID}/members/{USER_ID}/

Below are request parameters:

URL Parameter Required Description

WORKSPACE_ID

yes

Workspace ID

USER_ID

yes

Target user ID

Payload Parameter Required Description

id

yes

ID of an already registered user, match URL parameter \{USER_ID}

type

yes

Allowed value: member.

attributes.roles[]

yes

Roles.

EXAMPLE:

To change user roles we will use the following request:

$ curl https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID}/members/{USER_ID}/ \
    -X PATCH  \
    -u {EMAIL}:{APIKEY} \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' -d '
    {
       "data": {
           "type": "member",
           "id": "{USER_ID}",
           "attributes": {
               "roles": [
                 "{NEW_ROLE}"
               ]
           }
       }
    }'

To remove a member from the workspace via the API we will use the following request:

DELETE https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID}/members/{USER_ID}/

Below are request parameters:

URL Parameter Description

WORKSPACE_ID

The ID of the Workspace.

USER_ID

The ID of the user, which requires deletion.

EXAMPLE:

$ curl https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID}/members/{USER_ID}/ \
    -X DELETE    \
    -u {EMAIL}:{APIKEY}

To rename a workspace via the API we will use the following request:

POST https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID}

Below are request parameters:

Payload Parameter Description

type

The value must be workspace.

attributes.name

Name of the workspace.

EXAMPLE:

$ curl https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID} \
  -X PATCH \
  -u {EMAIL}:{APIKEY} \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' -d '
   {
  "data":{
    "type":"workspace",
    "attributes":{
      "name":"New Workspace Name"
      }
    }
  }'

To delete workspace via the API we will use the following request:

DELETE https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID} \

Below are request parameters:

URL Parameter Description

WORKSPACE_ID

The ID of the Workspace.

EXAMPLE:

$ curl -i https://api.connect.squiz.cloud/v2/workspaces/{WORKSPACE_ID} \
  -X DELETE \
  -u {EMAIL}:{APIKEY}