Managing Contracts

Maganig Contract via UI

At the moment, it is mostly possible to manage contracts on the platform mostly via API calls. The following functions available through UI:

  • Change the name of a contract. For updating Contract name you need contracts.contract.edit permission.

For the next functions you need have contracts.membership.edit permission or to be a user with TenantAdmin role:

  • Invite users to a contract. Note that you can either invite to the contract only, or to the contract and workspace at the same time.
  • Remove pending invitation
  • Change member role
  • Remove users from a contract

Of course, the functionality of contract management is not limited to this. However, it is only possible using the corresponding API calls. All functionality can be divided into 3 groups: getting Contract data, editing Contract memberships and editing Contracts.

Getting Contract Data

With the right permissions a Contract member can get Contract data via the API. Namely, the following actions are available:

  1. Get Contract by ID
  2. Get Contracts
  3. Get a list of Contract members
  4. Get a list of pending invites
  5. Get Contract roles

Editing Contract Memberships

A Contract member with the corresponding permission can:

  1. Invite a user to the Contract
  2. Update the specified Invitation
  3. Add a new member to the Contract
  4. Update membership in the Contract
  5. Remove a user from a Contract

PLease Note:

  • If a contract only has one member, which is the Owner, it is still possible to remove this member. However, this user also will be removed from the Platform completely if they are not a member of other contracts.
  • It is not possible to remove the last Contract Owner, if there are still members in the Contract.

Editing contracts

A Contract member with the corresponding permission can edit the Contract in the following ways:

Update a Contrat’s attributes

As a contract owner, you can change the following attributes via API:

Contract Name

{
  "data": {
    "attributes": {
      "name": "Your contract name"
    }
  }
}

Contract Description

{
  "data": {
    "attributes":{
      "custom_data": {
        "description": "Your contract description"
      }
    }
  }
}

Contract Roles

  {
    "data": {
      "attributes":{
        "available_roles": [
          {
            "scope": "contracts",
            "role": "admin"
          }
        ]
      }
    }
  }

Feature flag: Enabling Recipe Feature

You can enable Recipe feature for separate contract.

  {
    "data": {
      "attributes":{
        "feature_flags": {
            "disable_recipe_feature": true
          }
      }
    }
  }

Feature Flag: Subscribe to error by default

You can enable subscription for flow errors by default.

  {
    "data": {
      "attributes":{
        "feature_flags":{
            "subscribe_to_error_by_default": true
          }
      }
    }
  }

Suspend Contract

You can suspend contract. Which means stopping of all of its flows and inability of performing any actions with the Contract.

Unsuspend Contract

You can unsuspend contract. This is return contract in available state after suspending.