1. Overview

This document describes the resources that make up our brand new Clinked API v3. If you have any problems or requests please contact Clinked support.

Documentation for API v2.
Clinked has API endpoints for any feature available in the portal, some of which may not be documented yet. If you think there is something you need missing, please let us know by contacting Clinked support, and we will do our best to help.

1.1. Schema

All API access is over HTTPS, and accessed from the https://api.clinked.com. All data is sent and received in JSON format.

All timestamps are in milliseconds (UTC):

1518170699654

1.2. Rate limit

Maximum number of requests is 2000 from a single IP address in 5-minute period. This value is continually evaluated, and requests will be blocked once this limit is reached. The IP address is automatically unblocked after it falls below the limit.

2. Authentication

The client can authenticate using the user credentials or create an application and authenticate using client id and secret. It is recommended to use client id and secret.

2.1. Password authentication

Password grant allows you to authenticate using your user credentials.

HTTP
GET /oauth/token?client_id=clinked-mobile&grant_type=password&password=Aez1Ahr8Ji&username=jack&code=12345 HTTP/1.1
Accept: application/json
Host: api.clinked.com
Curl
$ curl 'https://api.clinked.com/oauth/token?client_id=clinked-mobile&grant_type=password&password=Aez1Ahr8Ji&username=jack&code=12345' -i -X GET \
    -H 'Accept: application/json'
Table 1. Request parameters
Parameter Description

client_id

Client id. Always a static value for this grant type: clinked-mobile

grant_type

Grant type

password

Password

username

Username

code

Optional. Two-factor authentication code if required

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
    "access_token": "f3a5837f-7a28-4148-9352-336e0bca75a9",
    "refresh_token": "e10560b0-9bdc-478e-a2dc-95009c419a40",
    "scope": "read write",
    "token_type": "bearer"
}

2.2. Client ID and secret authentication

This method requires Client ID and Client Secret to authenticate.

Create an application using the Applications endpoints to obtain client id and secret. Use the password authentication method to get an access token.
HTTP
GET /oauth/token?client_id=5ad29f13-82b8-4b68-89e6-c2f4c96d5d9d&client_secret=0eda391b-0a88-46d2-aaaf-905332c19e20&grant_type=client_credentials&scope=read+write HTTP/1.1
Accept: application/json
Host: api.clinked.com
Curl
$ curl 'https://api.clinked.com/oauth/token?client_id=5ad29f13-82b8-4b68-89e6-c2f4c96d5d9d&client_secret=0eda391b-0a88-46d2-aaaf-905332c19e20&grant_type=client_credentials&scope=read+write' -i -X GET \
    -H 'Accept: application/json'
Table 2. Request parameters
Parameter Description

client_id

Client id

client_secret

Client secret

grant_type

Grant type

scope

Scope. Normally should be read write

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
    "access_token": "2466f2ee-0875-41a1-ad6c-8f81468f47e9",
    "token_type": "bearer",
    "expires_in": 7199,
    "scope": "read write"
}

2.3. User information

Returns information about the authenticated user.

HTTP
GET /v3/userinfo HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/userinfo' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/userinfo' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1441

{
  "name" : "jack",
  "principal" : {
    "id" : 1,
    "username" : "jack",
    "enabled" : true,
    "locked" : false,
    "name" : "Jack Bauer",
    "jobTitle" : "Marketing",
    "organisation" : "Clinked",
    "email" : "jack.bauer@clinked.com",
    "address" : "71 Pilgrim Avenue",
    "telephone" : "123456789",
    "other" : null,
    "logo" : false,
    "timeZone" : "UTC",
    "locale" : "en",
    "verifiedEmail" : false,
    "twoFactorAuthentication" : false,
    "twoFactorMode" : null,
    "lastModified" : 1514764800000,
    "dateFormat" : null,
    "twentyFourHourTimeFormat" : false,
    "lastActive" : null
  },
  "authorities" : [ "ROLE_USER" ],
  "accounts" : [ {
    "account" : {
      "id" : 1,
      "name" : "awesome_org",
      "friendlyName" : "Awesome Organisation",
      "enabled" : true,
      "domain" : null,
      "hash" : null,
      "locale" : null,
      "dateCreated" : 1514764800000,
      "lastModified" : 1514764800000
    },
    "subscription" : {
      "code" : "premium",
      "planDetails" : null,
      "members" : 100,
      "storage" : null,
      "suspended" : false,
      "trialExpires" : null,
      "paused" : false,
      "pausedBillingCycles" : null,
      "datePausedAt" : null
    },
    "permission" : 16,
    "memberOfSpaces" : 0,
    "adminInSpaces" : 0,
    "features" : [ ],
    "mailDomain" : "localhost",
    "metadata" : {
      "PropertyName" : "PropertyValue"
    }
  } ]
}
Table 3. Definition of the returned fields
Path Type Description

name

object<type=String>

Username

authorities

2003

Set of user authorities

accounts

2003

Set of user organisations

accounts.[].account.domain

object<type=String>

Organisation domain

accounts.[].account.hash

object<type=String>

Hash code

accounts.[].account.locale

object<type=String>

Organisation locale

accounts.[].account.dateCreated

double

Date created

accounts.[].account.lastModified

double

Date last modified

accounts.[].subscription

object

Subscription details

accounts.[].subscription.code

object<type=String>

Subscription code

accounts.[].subscription.planDetails

object

Subscription plan details

accounts.[].subscription.members

double

Subscription max members

accounts.[].subscription.storage

double

Subscription max storage

accounts.[].subscription.suspended

boolean

Is subscription suspended

accounts.[].subscription.trialExpires

boolean

If null then not trial account

accounts.[].subscription.paused

boolean

Subscription is paused

accounts.[].subscription.pausedBillingCycles

double

Number of billing cycles the subscription is paused

accounts.[].subscription.datePausedAt

double

Date the subscription is or will be paused

accounts.[].permission

double

Permission

accounts.[].memberOfSpaces

double

Member of groups count

accounts.[].adminInSpaces

double

Admin of groups count

accounts.[].features

2003

Set of available features

accounts.[].mailDomain

object<type=String>

Mail domain

accounts.[].metadata

object

Additional metadata

accounts.[].metadata.PropertyName

object<type=String>

Additional metadata property

accounts.[].account.id

Number

User / profile id

accounts.[].account.name

String

Account name slug, used for internal identification and URIs

accounts.[].account.friendlyName

String

Full account name, visible to a user

accounts.[].account.enabled

Boolean

Is account enabled

principal.id

Number

User id

principal.name

String

Full name

principal.username

String

Username

principal.logo

Boolean

Profile picture is defined

principal.jobTitle

String

Job title

principal.lastModified

Number

Last modified date

principal.enabled

Boolean

Is user enabled

principal.locked

Boolean

Is user locked

principal.organisation

String

Organisation name

principal.email

String

Email address

principal.address

String

Address

principal.telephone

String

Phone number

principal.other

String

Optional other information

principal.timeZone

String

Time zone ID

principal.locale

String

Locale

principal.verifiedEmail

Boolean

Is email verified

principal.twoFactorAuthentication

Boolean

Is 2FA enabled

principal.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

principal.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

principal.lastActive

Number

Date the user was last active

principal.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

3. Applications

Use applications to access API endpoints using client credentials. Avoid sharing your personal credentials.

3.1. Create new application

HTTP
POST /v3/applications HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 264

{
    "name": "Awesome Application",
    "description": "The best application you can find",
    "platform": "OTHER",
    "deviceType": "Other",
    "deviceModel": "Unknown",
    "deviceOs": "Linux",
    "appVersion": "1.0",
    "bundleId": "com.clinked.awesome"
}
HTTPie
$ echo '{
    "name": "Awesome Application",
    "description": "The best application you can find",
    "platform": "OTHER",
    "deviceType": "Other",
    "deviceModel": "Unknown",
    "deviceOs": "Linux",
    "appVersion": "1.0",
    "bundleId": "com.clinked.awesome"
}' | http POST 'https://api.clinked.com/v3/applications' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/applications' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
    "name": "Awesome Application",
    "description": "The best application you can find",
    "platform": "OTHER",
    "deviceType": "Other",
    "deviceModel": "Unknown",
    "deviceOs": "Linux",
    "appVersion": "1.0",
    "bundleId": "com.clinked.awesome"
}'
Table 4. Request fields
Path Type Description

deviceType

String

Device type: [Phone, Tablet, Watch, Browser, Other]

appVersion

String

Version

name

String

Name

bundleId

String

Bundle/package name

description

String

Description

deviceModel

String

Device model name

platform

String

Device platform: [IOS, ANDROID, SYNC, LINUX, WINDOWS, OTHER]

deviceOs

String

Device operating system name

Example of a success response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 664

{
  "clientId" : "YmYOMPqFUKlRhwlUAOxDkvVZbKjicsPx",
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "name" : "Awesome Application",
  "description" : "The best application you can find",
  "platform" : "OTHER",
  "deviceType" : "Other",
  "deviceModel" : "Unknown",
  "deviceOs" : "Linux",
  "appVersion" : "1.0",
  "bundleId" : "com.clinked.awesome",
  "lastActivity" : null,
  "ip" : null,
  "scope" : [ "read", "write", "smartsync" ],
  "redirectURIs" : [ ],
  "grantTypes" : [ ],
  "clientSecret" : "BNoF4ECQG03avQaCj99X5uUuPuXRNPth"
}
Table 5. Definition of the returned fields
Path Type Description

clientId

String

Client ID

owner

Object

Base user who created the app

name

String

Application name

description

String

Application description

platform

String

Platform - IOS, ANDROID, SYNC, LINUX, WINDOWS, OTHER

deviceType

String

Device Type - Phone, Tablet, Watch, Browser, Other

deviceModel

String

Device model

deviceOs

String

Device OS

appVersion

String

Application version

bundleId

String

Bundle ID

lastActivity

Number

Date last active

ip

String

IP address

scope

Array

Set of permitted scopes

redirectURIs

Array

Set of valid redirect URLs

grantTypes

Array

Set of supported grant types

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

clientSecret

object<type=String>

Client secret

3.2. List applications

HTTP
GET /v3/applications HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/applications' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/applications' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 604

[ {
  "clientId" : "5eede59c-4b62-484c-b211-7a8f1eb4e158",
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "name" : "My Awesome App!",
  "description" : "This is my awesome test app",
  "platform" : "OTHER",
  "deviceType" : "Phone",
  "deviceModel" : "Google Pixel XL",
  "deviceOs" : "ANDROID",
  "appVersion" : "1.0",
  "bundleId" : "com.clinked.awesome",
  "lastActivity" : 1514764800000,
  "ip" : "127.0.0.1",
  "scope" : [ ],
  "redirectURIs" : [ ],
  "grantTypes" : [ ]
} ]
Table 6. Definition of the returned fields
Path Type Description

[].clientId

String

Client ID

[].owner

Object

Base user who created the app

[].name

String

Application name

[].description

String

Application description

[].platform

String

Platform - IOS, ANDROID, SYNC, LINUX, WINDOWS, OTHER

[].deviceType

String

Device Type - Phone, Tablet, Watch, Browser, Other

[].deviceModel

String

Device model

[].deviceOs

String

Device OS

[].appVersion

String

Application version

[].bundleId

String

Bundle ID

[].lastActivity

Number

Date last active

[].ip

String

IP address

[].scope

Array

Set of permitted scopes

[].redirectURIs

Array

Set of valid redirect URLs

[].grantTypes

Array

Set of supported grant types

[].owner.id

Number

User id

[].owner.name

String

Full name

[].owner.username

String

Username

[].owner.logo

Boolean

Profile picture is defined

[].owner.jobTitle

String

Job title

[].owner.lastModified

Number

Last modified date

3.3. Return application details

Table 7. /v3/applications/{application}
Parameter Description

application

Application client id

HTTP
GET /v3/applications/a30d440c-8439-44fc-97be-13788342d94e HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/applications/a30d440c-8439-44fc-97be-13788342d94e' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/applications/a30d440c-8439-44fc-97be-13788342d94e' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 600

{
  "clientId" : "a30d440c-8439-44fc-97be-13788342d94e",
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "name" : "My Awesome App!",
  "description" : "This is my awesome test app",
  "platform" : "OTHER",
  "deviceType" : "Phone",
  "deviceModel" : "Google Pixel XL",
  "deviceOs" : "ANDROID",
  "appVersion" : "1.0",
  "bundleId" : "com.clinked.awesome",
  "lastActivity" : 1514764800000,
  "ip" : "127.0.0.1",
  "scope" : [ ],
  "redirectURIs" : [ ],
  "grantTypes" : [ ]
}
Table 8. Definition of the returned fields
Path Type Description

clientId

String

Unique client id

deviceType

String

Device type: [Phone, Tablet, Watch, Browser, Other]

appVersion

String

Version

name

String

Name

bundleId

String

Bundle/package name

description

String

Description

deviceModel

String

Device model name

owner

Object

Application owner user

scope

Array

Permission scopes

platform

String

Device platform: [IOS, ANDROID, SYNC, LINUX, WINDOWS, OTHER]

deviceOs

String

Device operating system name

ip

String

IP address from which an application was created

lastActivity

Number

Application last activity timestamp

grantTypes

Array

Application grant types

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

3.4. Update application

Table 9. /v3/applications/{application}
Parameter Description

application

Application client id

HTTP
PATCH /v3/applications/0c8d8eb6-a842-4932-bb98-2da5749db414 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 262

{
    "name": "Updated name",
    "description": "Updated description",
    "platform": "ANDROID",
    "deviceType": "Phone",
    "deviceModel": "Google Pixel 2",
    "deviceOs": "Android",
    "appVersion": "1.3.3.7",
    "bundleId": "com.clinked.awesome.upd"
}
HTTPie
$ echo '{
    "name": "Updated name",
    "description": "Updated description",
    "platform": "ANDROID",
    "deviceType": "Phone",
    "deviceModel": "Google Pixel 2",
    "deviceOs": "Android",
    "appVersion": "1.3.3.7",
    "bundleId": "com.clinked.awesome.upd"
}' | http PATCH 'https://api.clinked.com/v3/applications/0c8d8eb6-a842-4932-bb98-2da5749db414' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/applications/0c8d8eb6-a842-4932-bb98-2da5749db414' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
    "name": "Updated name",
    "description": "Updated description",
    "platform": "ANDROID",
    "deviceType": "Phone",
    "deviceModel": "Google Pixel 2",
    "deviceOs": "Android",
    "appVersion": "1.3.3.7",
    "bundleId": "com.clinked.awesome.upd"
}'
Table 10. Request fields
Path Type Description

deviceType

String

Device type: [Phone, Tablet, Watch, Browser, Other]

appVersion

String

Version

name

String

Name

bundleId

String

Bundle/package name

description

String

Description

deviceModel

String

Device model name

platform

String

Device platform: [IOS, ANDROID, SYNC, LINUX, WINDOWS, OTHER]

deviceOs

String

Device operating system name

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 598

{
  "clientId" : "0c8d8eb6-a842-4932-bb98-2da5749db414",
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "name" : "Updated name",
  "description" : "Updated description",
  "platform" : "ANDROID",
  "deviceType" : "Phone",
  "deviceModel" : "Google Pixel 2",
  "deviceOs" : "Android",
  "appVersion" : "1.3.3.7",
  "bundleId" : "com.clinked.awesome.upd",
  "lastActivity" : 1514764800000,
  "ip" : "127.0.0.1",
  "scope" : [ ],
  "redirectURIs" : [ ],
  "grantTypes" : [ ]
}
Table 11. Definition of the returned fields
Path Type Description

clientId

String

Client ID

owner

Object

Base user who created the app

name

String

Application name

description

String

Application description

platform

String

Platform - IOS, ANDROID, SYNC, LINUX, WINDOWS, OTHER

deviceType

String

Device Type - Phone, Tablet, Watch, Browser, Other

deviceModel

String

Device model

deviceOs

String

Device OS

appVersion

String

Application version

bundleId

String

Bundle ID

lastActivity

Number

Date last active

ip

String

IP address

scope

Array

Set of permitted scopes

redirectURIs

Array

Set of valid redirect URLs

grantTypes

Array

Set of supported grant types

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

3.5. Delete application

Make sure the client credentials are not in use. After deleting the application the credentials will no longer work.
Table 12. /v3/applications/{application}
Parameter Description

application

Application client id

HTTP
DELETE /v3/applications/6521449b-e66b-42d4-99e4-ca930121f210 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/applications/6521449b-e66b-42d4-99e4-ca930121f210' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/applications/6521449b-e66b-42d4-99e4-ca930121f210' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'

4. Accounts

User can be a member of one or more accounts where each account has its own configuration, subscription and is a container for groups.

4.1. List accounts

HTTP
GET /v3/accounts?enabledOnly=false HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts?enabledOnly=false' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts?enabledOnly=false' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 13. Request parameters
Parameter Description

enabledOnly

Return only enabled accounts

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 229

[ {
  "id" : 1,
  "name" : "awesome_org",
  "friendlyName" : "Awesome Organisation",
  "enabled" : true,
  "domain" : null,
  "hash" : null,
  "locale" : null,
  "dateCreated" : 1514764800000,
  "lastModified" : 1514764800000
} ]
Table 14. Definition of the returned fields
Path Type Description

[].id

Number

User / profile id

[].name

String

Account name slug, used for internal identification and URIs

[].friendlyName

String

Full account name, visible to a user

[].enabled

Boolean

Is account enabled

[].domain

object<type=String>

Account domain

[].hash

object<type=String>

Account hash value

[].locale

object<type=String>

Account locale

[].dateCreated

double

Date created

[].lastModified

double

Last modified

4.2. Get account details

Table 15. /v3/accounts/{account}
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 225

{
  "id" : 1,
  "name" : "awesome_org",
  "friendlyName" : "Awesome Organisation",
  "enabled" : true,
  "domain" : null,
  "hash" : null,
  "locale" : null,
  "dateCreated" : 1514764800000,
  "lastModified" : 1514764800000
}
Table 16. Definition of the returned fields
Path Type Description

id

Number

User / profile id

name

String

Account name slug, used for internal identification and URIs

friendlyName

String

Full account name, visible to a user

enabled

Boolean

Is account enabled

domain

object<type=String>

Account domain

hash

object<type=String>

Account hash value

locale

object<type=String>

Account locale

dateCreated

double

Date created

lastModified

double

Last modified

4.3. Update account

Use this endpoint to update account name and subdomain (name).

Table 17. /v3/accounts/{account}
Parameter Description

account

Account id

HTTP
PATCH /v3/accounts/1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 71

{"friendlyName":"New friendly name","name":"new_name","locale":"en_GB"}
HTTPie
$ echo '{"friendlyName":"New friendly name","name":"new_name","locale":"en_GB"}' | http PATCH 'https://api.clinked.com/v3/accounts/1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"friendlyName":"New friendly name","name":"new_name","locale":"en_GB"}'
Table 18. Request fields
Path Type Description

friendlyName

object<type=String>

Friendly name

name

object<type=String>

Name

locale

object<type=String>

Locale

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 222

{
  "id" : 1,
  "name" : "new_name",
  "friendlyName" : "New friendly name",
  "enabled" : true,
  "domain" : null,
  "hash" : null,
  "locale" : "en_GB",
  "dateCreated" : 1514764800000,
  "lastModified" : 1514764800000
}
Table 19. Definition of the returned fields
Path Type Description

id

Number

User / profile id

name

String

Account name slug, used for internal identification and URIs

friendlyName

String

Full account name, visible to a user

enabled

Boolean

Is account enabled

domain

object<type=String>

Account domain

hash

object<type=String>

Account hash value

locale

object<type=String>

Account locale

dateCreated

double

Date created

lastModified

double

Last modified

4.4. Subscription

Table 20. /v3/accounts/{account}/subscription
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/subscription HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/subscription' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/subscription' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 875

{
  "accountPackage" : {
    "code" : "premium",
    "planDetails" : {
      "interval" : 1,
      "currency" : "EUR"
    },
    "members" : 100,
    "storage" : 9000000000,
    "suspended" : false,
    "trialExpires" : 1712647509975,
    "paused" : false,
    "pausedBillingCycles" : null,
    "datePausedAt" : null
  },
  "plan" : "Premium",
  "storageUsed" : 0,
  "membersUsed" : 0,
  "billingDetails" : {
    "firstName" : "John",
    "lastName" : "Doe",
    "email" : "john@example.com",
    "address1" : "Privet Drive",
    "address2" : "4",
    "city" : "Little Whinging",
    "state" : "Surrey",
    "zip" : "ZIP-0876",
    "country" : "Great Britain",
    "card" : {
      "number" : "5555 5555 5555 4444",
      "type" : "MasterCard",
      "lastFour" : "4444",
      "verificationValue" : "000",
      "expirationMonth" : 1,
      "expirationYear" : 27
    }
  }
}
Table 21. Definition of the returned fields
Path Type Description

accountPackage.code

String

Package code

accountPackage.planDetails

Object

Plan details

accountPackage.planDetails.interval

Number

Interval between payments

accountPackage.planDetails.currency

String

Currency

accountPackage.members

Number

How many members can be invited

accountPackage.storage

Number

Allowed storage in bytes

accountPackage.suspended

Boolean

Is account suspended

accountPackage.trialExpires

Number

Date trial expires. NULL if not a trial account

accountPackage.paused

Boolean

Subscription is paused

accountPackage.pausedBillingCycles

Number

Number of billing cycles the subscription is paused

accountPackage.datePausedAt

Number

Date the subscription is or will be paused

billingDetails.firstName

String

First name

billingDetails.lastName

String

Last name

billingDetails.email

String

Email

billingDetails.address1

String

Address

billingDetails.address2

String

Address

billingDetails.city

String

City

billingDetails.state

String

State

billingDetails.zip

String

Zip code

billingDetails.country

String

Country

billingDetails.card

Object

Card details

billingDetails.card.number

String

Card number

billingDetails.card.type

String

Card type

billingDetails.card.lastFour

String

Last four digits

billingDetails.card.verificationValue

String

Card verification number

billingDetails.card.expirationMonth

Number

Card expiration month

billingDetails.card.expirationYear

Number

Card expiration year

plan

String

Package plan

storageUsed

Number

Allowed storage in bytes

membersUsed

Number

How many members can be invited

4.5. Components

Lists available components in account. Different subscriptions have different lists of available components.

Table 22. /v3/accounts/{account}/components
Parameter Description

account

Account Id

HTTP
GET /v3/accounts/1/components HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/components' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/components' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 144

[ {
  "name" : "files",
  "beta" : false,
  "title" : "Files",
  "description" : "Share and track versions of files",
  "iconName" : "files"
} ]
Table 23. Definition of the returned fields
Path Type Description

[].name

String

Component name

[].beta

Boolean

If is beta

[].title

String

Component title

[].description

String

Component description

[].iconName

String

Component icon name

4.6. Members

4.6.1. Create a member

Table 24. /v3/accounts/{account}/members
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/members HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 251

{
  "name": "John",
  "email": "john@blah.com",
  "username": "john",
  "phone": "123456",
  "password": "Passy123!",
  "permission": 1,
  "enabled": true,
  "assignGroups": {
    "1": 1
  },
  "tags": ["hello", "world"]
,  "realName":"JackBauer"}
HTTPie
$ echo '{
  "name": "John",
  "email": "john@blah.com",
  "username": "john",
  "phone": "123456",
  "password": "Passy123!",
  "permission": 1,
  "enabled": true,
  "assignGroups": {
    "1": 1
  },
  "tags": ["hello", "world"]
,  "realName":"JackBauer"}' | http POST 'https://api.clinked.com/v3/accounts/1/members' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/members' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "name": "John",
  "email": "john@blah.com",
  "username": "john",
  "phone": "123456",
  "password": "Passy123!",
  "permission": 1,
  "enabled": true,
  "assignGroups": {
    "1": 1
  },
  "tags": ["hello", "world"]
,  "realName":"JackBauer"}'
Table 25. Request fields
Path Type Description

name

String

Full name

username

String

Unique username

email

String

Email address

phone

String

Phone number

password

String

Password

assignToNewGroupsPermission

Number

User will be assigned to all new groups with provided permission

permission

Number

Account permission mask

enabled

Boolean

Is user enabled

assignGroups

Object

Map of group IDs to be assigned to members along with their group membership permission

tags

Array

List of tags

realName

String

Real name for internal use only

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 697

{
  "user" : {
    "id" : 1,
    "username" : "john",
    "enabled" : true,
    "locked" : false,
    "name" : "John",
    "jobTitle" : null,
    "organisation" : null,
    "email" : "john@blah.com",
    "address" : null,
    "telephone" : "123456",
    "other" : null,
    "logo" : false,
    "timeZone" : null,
    "locale" : null,
    "verifiedEmail" : false,
    "twoFactorAuthentication" : false,
    "twoFactorMode" : null,
    "lastModified" : 1712647498535,
    "dateFormat" : null,
    "twentyFourHourTimeFormat" : false,
    "lastActive" : null,
    "realName" : "JackBauer"
  },
  "permission" : 1,
  "dateCreated" : 1712647498535,
  "memberOfMultipleAccounts" : false,
  "tags" : [ ]
}
Table 26. Definition of the returned fields
Path Type Description

user

Object

Base user dto

permission

Number

Permissions

assignToNewGroupsPermission

Number

Assign the user to all new groups with provided permission

notAssigned

Array

Groups not assigned to member when assignToNewGroupsPermission is set to true

assigningToGroups

Boolean

True when user is being assigned to groups through assignToNewGroupsPermission

dateCreated

Number

Date member was created

memberOfMultipleAccounts

Boolean

User is member of multiple accounts

tags

Array

List of tags

pendingUnlock

Boolean

Member is pending automatic unlock

activationType

String

Activation e-mail is pending - now or custom

activationType

Number

Date when activation e-mail will be sent

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.enabled

Boolean

Is user enabled

user.locked

Boolean

Is user locked

user.organisation

String

Organisation name

user.email

String

Email address

user.address

String

Address

user.telephone

String

Phone number

user.other

String

Optional other information

user.timeZone

String

Time zone ID

user.locale

String

Locale

user.verifiedEmail

Boolean

Is email verified

user.twoFactorAuthentication

Boolean

Is 2FA enabled

user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

user.lastActive

Number

Date the user was last active

user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

user.realName

String

Real Name

4.6.2. List members

Returns paginated list with account members.

Table 27. /v3/accounts/{account}/members
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/members?name=user1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/members?name=user1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/members?name=user1' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 28. Request parameters
Parameter Description

page

Page number to load

size

Page size

orderBy

Order field

ascending

Ascending order direction

name

Find member by name / email

startsWith

Find member where name / email starts with

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 895

{
  "items" : [ {
    "user" : {
      "id" : 1,
      "username" : "jack",
      "enabled" : true,
      "locked" : false,
      "name" : "Jack Bauer",
      "jobTitle" : "Marketing",
      "organisation" : "Clinked",
      "email" : "jack.bauer@clinked.com",
      "address" : "71 Pilgrim Avenue",
      "telephone" : "123456789",
      "other" : null,
      "logo" : false,
      "timeZone" : "UTC",
      "locale" : "en",
      "verifiedEmail" : false,
      "twoFactorAuthentication" : false,
      "twoFactorMode" : null,
      "lastModified" : 1514764800000,
      "dateFormat" : null,
      "twentyFourHourTimeFormat" : false,
      "lastActive" : null,
      "realName" : "Jack Bauer"
    },
    "permission" : 16,
    "dateCreated" : 1712647498367
  } ],
  "currentPage" : 1,
  "totalPages" : 1,
  "pageSize" : 20,
  "totalResults" : 1,
  "nextPage" : false,
  "previousPage" : false
}
Table 29. Definition of the returned fields
Path Type Description

currentPage

Number

Current page

pageSize

Number

Entries per page

items

Array

Reachout entries

nextPage

Boolean

Next page exists

totalPages

Number

Total amount of available pages

previousPage

Boolean

Previous page exists

totalResults

Number

Total amount of entries

items[].user

Object

Base user dto

items[].permission

Number

Permissions

items[].assignToNewGroupsPermission

Number

Assign the user to all new groups with provided permission

items[].notAssigned

Array

Groups not assigned to member when assignToNewGroupsPermission is set to true

items[].assigningToGroups

Boolean

True when user is being assigned to groups through assignToNewGroupsPermission

items[].dateCreated

Number

Date member was created

items[].memberOfMultipleAccounts

Boolean

User is member of multiple accounts

items[].tags

Array

List of tags

items[].pendingUnlock

Boolean

Member is pending automatic unlock

items[].activationType

String

Activation e-mail is pending - now or custom

items[].activationType

Number

Date when activation e-mail will be sent

items[].user.id

Number

User id

items[].user.name

String

Full name

items[].user.username

String

Username

items[].user.logo

Boolean

Profile picture is defined

items[].user.jobTitle

String

Job title

items[].user.lastModified

Number

Last modified date

items[].user.id

Number

User id

items[].user.name

String

Full name

items[].user.username

String

Username

items[].user.logo

Boolean

Profile picture is defined

items[].user.jobTitle

String

Job title

items[].user.lastModified

Number

Last modified date

items[].user.enabled

Boolean

Is user enabled

items[].user.locked

Boolean

Is user locked

items[].user.organisation

String

Organisation name

items[].user.email

String

Email address

items[].user.address

String

Address

items[].user.telephone

String

Phone number

items[].user.other

String

Optional other information

items[].user.timeZone

String

Time zone ID

items[].user.locale

String

Locale

items[].user.verifiedEmail

Boolean

Is email verified

items[].user.twoFactorAuthentication

Boolean

Is 2FA enabled

items[].user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

items[].user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

items[].user.lastActive

Number

Date the user was last active

items[].user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

items[].user.realName

String

Real Name

4.6.3. Get member details

Table 30. /v3/accounts/{account}/members/{username}
Parameter Description

account

Account id

username

Username

HTTP
GET /v3/accounts/1/members/user1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/members/user1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/members/user1' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 772

{
  "user" : {
    "id" : 1,
    "username" : "jack",
    "enabled" : false,
    "locked" : true,
    "name" : "Jack Bauer",
    "jobTitle" : "Marketing",
    "organisation" : "Clinked",
    "email" : "jack.bauer@clinked.com",
    "address" : "71 Pilgrim Avenue",
    "telephone" : "123456789",
    "other" : null,
    "logo" : false,
    "timeZone" : "UTC",
    "locale" : "en",
    "verifiedEmail" : false,
    "twoFactorAuthentication" : false,
    "twoFactorMode" : null,
    "lastModified" : 1514764800000,
    "dateFormat" : null,
    "twentyFourHourTimeFormat" : false,
    "lastActive" : null,
    "realName" : "Jack Bauer"
  },
  "permission" : 16,
  "dateCreated" : 1712647498226,
  "memberOfMultipleAccounts" : false,
  "tags" : [ ],
  "pendingUnlock" : false
}
Table 31. Definition of the returned fields
Path Type Description

user

Object

Base user dto

permission

Number

Permissions

assignToNewGroupsPermission

Number

Assign the user to all new groups with provided permission

notAssigned

Array

Groups not assigned to member when assignToNewGroupsPermission is set to true

assigningToGroups

Boolean

True when user is being assigned to groups through assignToNewGroupsPermission

dateCreated

Number

Date member was created

memberOfMultipleAccounts

Boolean

User is member of multiple accounts

tags

Array

List of tags

pendingUnlock

Boolean

Member is pending automatic unlock

activationType

String

Activation e-mail is pending - now or custom

activationType

Number

Date when activation e-mail will be sent

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.enabled

Boolean

Is user enabled

user.locked

Boolean

Is user locked

user.organisation

String

Organisation name

user.email

String

Email address

user.address

String

Address

user.telephone

String

Phone number

user.other

String

Optional other information

user.timeZone

String

Time zone ID

user.locale

String

Locale

user.verifiedEmail

Boolean

Is email verified

user.twoFactorAuthentication

Boolean

Is 2FA enabled

user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

user.lastActive

Number

Date the user was last active

user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

user.realName

String

Real Name

4.6.4. Update member

Table 32. /v3/accounts/{account}/members/{username}
Parameter Description

account

Account id

username

Username id

HTTP
PATCH /v3/accounts/1/members/john HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 33

{
  "tags": ["apple", "potato"]
}
HTTPie
$ echo '{
  "tags": ["apple", "potato"]
}' | http PATCH 'https://api.clinked.com/v3/accounts/1/members/john' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/members/john' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "tags": ["apple", "potato"]
}'
Table 33. Request fields
Path Type Description

tags

Array

Set of tags

password

String

Password

permission

Number

Permission

enabled

Boolean

Is member enabled

lock

Boolean

Is member locked

assignmentNotification

Boolean

Send notifications about assignments

activation

Object

Activation

activation.message

Object

Activation message

activation.date

Number

Activation date

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 745

{
  "user" : {
    "id" : 1,
    "username" : "jack",
    "enabled" : true,
    "locked" : false,
    "name" : "Jack Bauer",
    "jobTitle" : "Marketing",
    "organisation" : "Clinked",
    "email" : "jack.bauer@clinked.com",
    "address" : "71 Pilgrim Avenue",
    "telephone" : "123456789",
    "other" : null,
    "logo" : false,
    "timeZone" : "UTC",
    "locale" : "en",
    "verifiedEmail" : false,
    "twoFactorAuthentication" : false,
    "twoFactorMode" : null,
    "lastModified" : 1514764800000,
    "dateFormat" : null,
    "twentyFourHourTimeFormat" : false,
    "lastActive" : null,
    "realName" : "Jack Bauer"
  },
  "permission" : 16,
  "dateCreated" : 1712647498313,
  "memberOfMultipleAccounts" : false,
  "tags" : [ ]
}
Table 34. Definition of the returned fields
Path Type Description

user

Object

Base user dto

permission

Number

Permissions

assignToNewGroupsPermission

Number

Assign the user to all new groups with provided permission

notAssigned

Array

Groups not assigned to member when assignToNewGroupsPermission is set to true

assigningToGroups

Boolean

True when user is being assigned to groups through assignToNewGroupsPermission

dateCreated

Number

Date member was created

memberOfMultipleAccounts

Boolean

User is member of multiple accounts

tags

Array

List of tags

pendingUnlock

Boolean

Member is pending automatic unlock

activationType

String

Activation e-mail is pending - now or custom

activationType

Number

Date when activation e-mail will be sent

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.enabled

Boolean

Is user enabled

user.locked

Boolean

Is user locked

user.organisation

String

Organisation name

user.email

String

Email address

user.address

String

Address

user.telephone

String

Phone number

user.other

String

Optional other information

user.timeZone

String

Time zone ID

user.locale

String

Locale

user.verifiedEmail

Boolean

Is email verified

user.twoFactorAuthentication

Boolean

Is 2FA enabled

user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

user.lastActive

Number

Date the user was last active

user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

user.realName

String

Real Name

4.6.5. Update member groups

Table 35. /v3/accounts/{account}/members/{username}
Parameter Description

account

Account id

username

Username id

HTTP
PATCH /v3/accounts/1/members/john HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 97

{
  "assignGroups": {
    "1": 1
  },
  "removeGroups": [123],
  "assignmentNotification": true
}
HTTPie
$ echo '{
  "assignGroups": {
    "1": 1
  },
  "removeGroups": [123],
  "assignmentNotification": true
}' | http PATCH 'https://api.clinked.com/v3/accounts/1/members/john' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/members/john' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "assignGroups": {
    "1": 1
  },
  "removeGroups": [123],
  "assignmentNotification": true
}'
Table 36. Request fields
Path Type Description

assignGroups

Object

Group id permission map. Key is group id. Value is 1 - basic, 4 - group creator, 8 - member manager, 16 - administrator

removeGroups

Array

Group ids to remove

assignmentNotification

Boolean

Send notifications about assignments

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 745

{
  "user" : {
    "id" : 1,
    "username" : "jack",
    "enabled" : true,
    "locked" : false,
    "name" : "Jack Bauer",
    "jobTitle" : "Marketing",
    "organisation" : "Clinked",
    "email" : "jack.bauer@clinked.com",
    "address" : "71 Pilgrim Avenue",
    "telephone" : "123456789",
    "other" : null,
    "logo" : false,
    "timeZone" : "UTC",
    "locale" : "en",
    "verifiedEmail" : false,
    "twoFactorAuthentication" : false,
    "twoFactorMode" : null,
    "lastModified" : 1514764800000,
    "dateFormat" : null,
    "twentyFourHourTimeFormat" : false,
    "lastActive" : null,
    "realName" : "Jack Bauer"
  },
  "permission" : 16,
  "dateCreated" : 1712647498449,
  "memberOfMultipleAccounts" : false,
  "tags" : [ ]
}
Table 37. Definition of the returned fields
Path Type Description

user

Object

Base user dto

permission

Number

Permissions

assignToNewGroupsPermission

Number

Assign the user to all new groups with provided permission

notAssigned

Array

Groups not assigned to member when assignToNewGroupsPermission is set to true

assigningToGroups

Boolean

True when user is being assigned to groups through assignToNewGroupsPermission

dateCreated

Number

Date member was created

memberOfMultipleAccounts

Boolean

User is member of multiple accounts

tags

Array

List of tags

pendingUnlock

Boolean

Member is pending automatic unlock

activationType

String

Activation e-mail is pending - now or custom

activationType

Number

Date when activation e-mail will be sent

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.enabled

Boolean

Is user enabled

user.locked

Boolean

Is user locked

user.organisation

String

Organisation name

user.email

String

Email address

user.address

String

Address

user.telephone

String

Phone number

user.other

String

Optional other information

user.timeZone

String

Time zone ID

user.locale

String

Locale

user.verifiedEmail

Boolean

Is email verified

user.twoFactorAuthentication

Boolean

Is 2FA enabled

user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

user.lastActive

Number

Date the user was last active

user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

user.realName

String

Real Name

4.6.6. Delete member

Table 38. /v3/accounts/{account}/members/{username}
Parameter Description

account

Account id

username

Username id

HTTP
DELETE /v3/accounts/1/members/john HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/members/john' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/members/john' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.7. Member tags

4.7.1. List member tags

Table 39. /v3/accounts/{account}/member-tags
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/member-tags HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/member-tags' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/member-tags' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 11

[ "label" ]
Table 40. Definition of the returned fields
Path Type Description

[]

Array

A list of tags

4.7.2. Tag summary

Table 41. /v3/accounts/{account}/member-tags
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/member-tags?summary=true HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/member-tags?summary=true' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/member-tags?summary=true' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 42. Request parameters
Parameter Description

summary

Must be defined to get retrieve tag summary

page

Page number to load

size

Page size

orderBy

Order field

ascending

Ascending order direction

name

Find note by name

startsWith

Find note by name

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 195

{
  "items" : [ {
    "name" : "Elite",
    "members" : 10
  } ],
  "currentPage" : 1,
  "totalPages" : 1,
  "pageSize" : 1,
  "totalResults" : 1,
  "nextPage" : false,
  "previousPage" : false
}
Table 43. Definition of the returned fields
Path Type Description

currentPage

Number

Current page

pageSize

Number

Entries per page

items

Array

Labels

nextPage

Boolean

Next page exists

totalPages

Number

Total amount of available pages

previousPage

Boolean

Previous page exists

totalResults

Number

Total amount of entries

items[].name

String

Tag name

items[].members

Number

Member count

4.7.3. Tag members

Table 44. /v3/accounts/{account}/member-tags/{tags}
Parameter Description

account

Account id

tags

List of tag names

HTTP
GET /v3/accounts/1/member-tags/fakeTag HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/member-tags/fakeTag' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/member-tags/fakeTag' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 178

{
  "fakeTag" : [ {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  } ]
}
Table 45. Definition of the returned fields
Path Type Description

fakeTag

Array

Tag name

fakeTag.[].id

Number

User id

fakeTag.[].name

String

User name

fakeTag.[].username

String

User username

fakeTag.[].logo

Boolean

User has logo defined

fakeTag.[].jobTitle

String

User job title

fakeTag.[].lastModified

Number

User last modified timestamp

4.8. Invites

4.8.1. Create invite

Table 46. /v3/accounts/{account}/invites
Parameter Description

account

Account ID

HTTP
POST /v3/accounts/1/invites HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 149

{
  "emails": ["invite@me.com", "invite2@me.com"],
  "message": "hello",
  "permission": 1,
  "assignGroups": {
    "1": 1
  },
  "reminder": true
}
HTTPie
$ echo '{
  "emails": ["invite@me.com", "invite2@me.com"],
  "message": "hello",
  "permission": 1,
  "assignGroups": {
    "1": 1
  },
  "reminder": true
}' | http POST 'https://api.clinked.com/v3/accounts/1/invites' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/invites' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "emails": ["invite@me.com", "invite2@me.com"],
  "message": "hello",
  "permission": 1,
  "assignGroups": {
    "1": 1
  },
  "reminder": true
}'
Table 47. Request fields
Path Type Description

emails

Array

List of email addresses to send invite to

message

String

Message that is sent to user when adding the invite

permission

Number

Account permission mask

removeGroups

Array

List of group IDs to be removed from the user group memberships

assignGroups

Object

Map of group IDs to be assigned to members along with their group membership permission

reminder

Boolean

Trigger reminder when invite not accepted

Example of a success response
HTTP/1.1 202 Accepted

4.8.2. List invites

Table 48. /v3/accounts/{account}/invites
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/invites?name=invite HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/invites?name=invite' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/invites?name=invite' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 49. Request parameters
Parameter Description

page

Page number to load

size

Page size

orderBy

Order field

ascending

Ascending order direction

name

Find guest by name / email

startsWith

Find guest where name / email starts with

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1105

{
  "items" : [ {
    "request" : {
      "id" : 1,
      "contextKey" : {
        "id" : 708
      },
      "source" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "target" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "container" : {
        "id" : 1,
        "contextKey" : {
          "id" : 708
        },
        "type" : "account"
      },
      "sourceName" : "jack.bauer@clinked.com",
      "targetName" : "jack.bauer@clinked.com",
      "type" : "ACCEPT_DECLINE",
      "status" : "NONE",
      "scope" : null,
      "parameters" : null,
      "lastModified" : null,
      "account" : null
    },
    "permission" : 1,
    "groups" : null,
    "inviteKey" : null
  } ],
  "currentPage" : 1,
  "totalPages" : 1,
  "pageSize" : 10,
  "totalResults" : 1,
  "nextPage" : false,
  "previousPage" : false
}
Table 50. Definition of the returned fields
Path Type Description

currentPage

Number

Current page

pageSize

Number

Entries per page

items

Array

Reachout entries

nextPage

Boolean

Next page exists

totalPages

Number

Total amount of available pages

previousPage

Boolean

Previous page exists

totalResults

Number

Total amount of entries

items[].permission

Number

Permission mask in account

items[].groups

Array

Assigned groups

items[].groups[].group

Object

Base Group DTO

items[].groups[].permission

Number

Permission mask in group

items[].request

Object

Request DTO

items[].request.id

Number

Request id

items[].request.contextKey

Object

Account context key

items[].request.sourceName

String

Source user e-mail address

items[].request.source

Object

Base source user DTO

items[].request.target

Object

Base target user DTO

items[].request.targetName

String

Target user e-mail address

items[].request.container

Object

Container contextual entity DTO

items[].request.type

String

Request type

items[].request.status

String

Request status

items[].request.parameters

String

Optional additional details

items[].request.scope

String

Optional scope

items[].request.lastModified

Number

Date the request was last modified

items[].request.source.id

Number

User id

items[].request.source.name

String

Full name

items[].request.source.username

String

Username

items[].request.source.logo

Boolean

Profile picture is defined

items[].request.source.jobTitle

String

Job title

items[].request.source.lastModified

Number

Last modified date

items[].request.target.id

Number

User id

items[].request.target.name

String

Full name

items[].request.target.username

String

Username

items[].request.target.logo

Boolean

Profile picture is defined

items[].request.target.jobTitle

String

Job title

items[].request.target.lastModified

Number

Last modified date

4.8.3. Get invite details

Table 51. /v3/accounts/{account}/invites/{invite}
Parameter Description

account

Account id

invite

Invite id

HTTP
GET /v3/accounts/1/invites/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/invites/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/invites/1' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 2814

{
  "request" : {
    "id" : 1,
    "contextKey" : {
      "id" : 130
    },
    "source" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "target" : null,
    "container" : {
      "id" : 1,
      "contextKey" : {
        "id" : 130
      },
      "type" : "account"
    },
    "sourceName" : "jack.bauer@clinked.com",
    "targetName" : "invitee@example.com",
    "type" : "ACCEPT_DECLINE",
    "status" : "NONE",
    "scope" : null,
    "parameters" : "{\"mask\":1,\"groups\":{\"1\":1},\"extras\":{}}",
    "lastModified" : null,
    "account" : {
      "id" : 1,
      "name" : "awesome_org",
      "friendlyName" : "Awesome Organisation",
      "enabled" : true
    }
  },
  "permission" : 1,
  "groups" : [ {
    "group" : {
      "id" : 1,
      "name" : "explore_clinked",
      "friendlyName" : "Explore Clinked",
      "contextKey" : {
        "id" : 291
      },
      "members" : 0,
      "storageConsumed" : 0,
      "blind" : false,
      "disableChat" : false,
      "disableComments" : false,
      "disableEmailComments" : false,
      "hideMemberDetails" : false,
      "dateCreated" : 1514764800000,
      "lastModified" : 1514764800000,
      "owner" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "mailKey" : null,
      "hash" : null,
      "branding" : {
        "headerColor" : "#ffffff",
        "textColor" : "#ff0000",
        "logo" : false,
        "background" : false,
        "alignment" : "left",
        "backgroundPositionX" : 50,
        "backgroundPositionY" : 50,
        "hideBackgroundGradient" : false,
        "hideLogoBackground" : false,
        "hideGroupName" : false
      },
      "components" : [ {
        "name" : "files",
        "order" : 0,
        "configuration" : { }
      }, {
        "name" : "pages",
        "order" : 1,
        "configuration" : { }
      }, {
        "name" : "events",
        "order" : 2,
        "configuration" : { }
      }, {
        "name" : "tasks",
        "order" : 3,
        "configuration" : { }
      } ],
      "master" : null,
      "masterConfigured" : false,
      "masterConfiguration" : null,
      "watermarkConfiguration" : {
        "enableWatermark" : false,
        "enableWatermarkIp" : false,
        "enableWatermarkEmail" : false,
        "enableWatermarkTimestamp" : false,
        "enableWatermarkCustomText" : false,
        "watermarkCustomText" : null,
        "watermarkStyle" : null,
        "transparentWatermark" : null
      }
    },
    "permission" : 1
  } ],
  "inviteKey" : "ea4dae46-1adf-4ef9-96ec-26b1d38ebe22"
}
Table 52. Definition of the returned fields
Path Type Description

permission

Number

Permission mask in account

groups

Array

Assigned groups

groups[].group

Object

Base Group DTO

groups[].permission

Number

Permission mask in group

request

Object

Request DTO

request.id

Number

Request id

request.contextKey

Object

Account context key

request.sourceName

String

Source user e-mail address

request.source

Object

Base source user DTO

request.target

Object

Base target user DTO

request.targetName

String

Target user e-mail address

request.container

Object

Container contextual entity DTO

request.type

String

Request type

request.status

String

Request status

request.parameters

String

Optional additional details

request.scope

String

Optional scope

request.lastModified

Number

Date the request was last modified

request.source.id

Number

User id

request.source.name

String

Full name

request.source.username

String

Username

request.source.logo

Boolean

Profile picture is defined

request.source.jobTitle

String

Job title

request.source.lastModified

Number

Last modified date

request.target.id

Number

User id

request.target.name

String

Full name

request.target.username

String

Username

request.target.logo

Boolean

Profile picture is defined

request.target.jobTitle

String

Job title

request.target.lastModified

Number

Last modified date

request

Object

Request

request.contextKey

Object

Request context key

request.contextKey.id

Number

Request context key id

request.container

Object

Request container

request.container.id

Number

Request container id

request.container.contextKey

Object

Request container context key

request.container.contextKey.id

Number

Request container context key id

request.container.type

String

Request container type

request.account

Object

Request account

request.account.id

Number

Request account id

request.account.name

String

Request account name

request.account.friendlyName

String

Request account friendly name

request.account.enabled

Boolean

Is request account enabled

groups[].group.id

Number

Group id

groups[].group.friendlyName

String

Group name

groups[].group.name

String

Group unique name/slug

groups[].group.members

Number

Amount of members in the group

groups[].group.storageConsumed

Number

Amount of storage consumed by the group in bytes

groups[].group.blind

Boolean

Do not allow basic read permission members to see each other

groups[].group.disableComments

Boolean

Disable group comments

groups[].group.disableEmailComments

Boolean

Disable comments in e-mail notifications

groups[].group.hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

groups[].group.disableChat

Boolean

Disable chat functionality

groups[].group.dateCreated

Number

Creation date

groups[].group.lastModified

Number

Last modification date

groups[].group.owner

Object

Group creator

groups[].group.branding

Object

Group branding settings

groups[].group.memberDetails

Array

Group members detailed information

groups[].group.memberDetails[].expirationDate

Number

Member expiration date timestamp

groups[].group.memberDetails[].user

Object

Member user information

groups[].group.memberDetails[].permission

Number

Member permission setting

groups[].group.memberDetails[].dateCreated

Number

Member creation timestamp

groups[].group.masterConfigured

Boolean

true when master group is configured

groups[].group.subgroupCount

Number

Number of subgroups configured with this group

groups[].group.contextKey

Object

Context key

groups[].group.contextKey.id

Number

Context key ID

groups[].group.master

Number

Primary group id

groups[].group.components

Array

List of enabled components with configuration

groups[].group.labels

Array

List of attached labels

groups[].group.notificationsConfiguration

Object

Group notifications configuration

groups[].group.notificationsConfiguration.newContent

String

Notify members about new content

groups[].group.notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

groups[].group.notificationsConfiguration.following

String

Disables all notifications for followed content

groups[].group.notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

groups[].group.watermarkConfiguration

Object

Group watermark configuration

groups[].group.watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

groups[].group.watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

groups[].group.watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

groups[].group.watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

groups[].group.watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

groups[].group.watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

groups[].group.watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

groups[].group.watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

groups[].group.components[].name

String

Enabled component name

groups[].group.components[].order

Number

Enabled component ordering index

groups[].group.components[].configuration

Object

Enabled component additional configuration properties

groups[].group.owner.id

Number

User id

groups[].group.owner.name

String

Full name

groups[].group.owner.username

String

Username

groups[].group.owner.logo

Boolean

Profile picture is defined

groups[].group.owner.jobTitle

String

Job title

groups[].group.owner.lastModified

Number

Last modified date

groups[].group.memberDetails[].user.id

Number

User id

groups[].group.memberDetails[].user.name

String

Full name

groups[].group.memberDetails[].user.username

String

Username

groups[].group.memberDetails[].user.logo

Boolean

Profile picture is defined

groups[].group.memberDetails[].user.jobTitle

String

Job title

groups[].group.memberDetails[].user.lastModified

Number

Last modified date

groups[].group.memberDetails[].group.id

Number

User / profile id

groups[].group.memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

groups[].group.memberDetails[].group.friendlyName

String

Full group name, visible to a user

groups[].permission

Number

Group permission

inviteKey

String

Invite key

4.8.4. Update invite

Table 53. /v3/accounts/{account}/invites/{invite}
Parameter Description

account

Account ID

invite

Invite ID

HTTP
PATCH /v3/accounts/1/invites/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 57

{
  "permission": 4,
  "assignGroups": {
    "1": 4
  }
}
HTTPie
$ echo '{
  "permission": 4,
  "assignGroups": {
    "1": 4
  }
}' | http PATCH 'https://api.clinked.com/v3/accounts/1/invites/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/invites/1' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "permission": 4,
  "assignGroups": {
    "1": 4
  }
}'
Table 54. Request fields
Path Type Description

permission

Number

Account permission

message

String

Message to include in invitation

groups

Object

Map of group id and permission {"1": 1}

resend

Boolean

Resend invitation

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 2814

{
  "request" : {
    "id" : 1,
    "contextKey" : {
      "id" : 990
    },
    "source" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "target" : null,
    "container" : {
      "id" : 1,
      "contextKey" : {
        "id" : 990
      },
      "type" : "account"
    },
    "sourceName" : "jack.bauer@clinked.com",
    "targetName" : "invitee@example.com",
    "type" : "ACCEPT_DECLINE",
    "status" : "NONE",
    "scope" : null,
    "parameters" : "{\"mask\":4,\"groups\":{\"1\":4},\"extras\":{}}",
    "lastModified" : null,
    "account" : {
      "id" : 1,
      "name" : "awesome_org",
      "friendlyName" : "Awesome Organisation",
      "enabled" : true
    }
  },
  "permission" : 4,
  "groups" : [ {
    "group" : {
      "id" : 1,
      "name" : "explore_clinked",
      "friendlyName" : "Explore Clinked",
      "contextKey" : {
        "id" : 371
      },
      "members" : 0,
      "storageConsumed" : 0,
      "blind" : false,
      "disableChat" : false,
      "disableComments" : false,
      "disableEmailComments" : false,
      "hideMemberDetails" : false,
      "dateCreated" : 1514764800000,
      "lastModified" : 1514764800000,
      "owner" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "mailKey" : null,
      "hash" : null,
      "branding" : {
        "headerColor" : "#ffffff",
        "textColor" : "#ff0000",
        "logo" : false,
        "background" : false,
        "alignment" : "left",
        "backgroundPositionX" : 50,
        "backgroundPositionY" : 50,
        "hideBackgroundGradient" : false,
        "hideLogoBackground" : false,
        "hideGroupName" : false
      },
      "components" : [ {
        "name" : "files",
        "order" : 0,
        "configuration" : { }
      }, {
        "name" : "pages",
        "order" : 1,
        "configuration" : { }
      }, {
        "name" : "events",
        "order" : 2,
        "configuration" : { }
      }, {
        "name" : "tasks",
        "order" : 3,
        "configuration" : { }
      } ],
      "master" : null,
      "masterConfigured" : false,
      "masterConfiguration" : null,
      "watermarkConfiguration" : {
        "enableWatermark" : false,
        "enableWatermarkIp" : false,
        "enableWatermarkEmail" : false,
        "enableWatermarkTimestamp" : false,
        "enableWatermarkCustomText" : false,
        "watermarkCustomText" : null,
        "watermarkStyle" : null,
        "transparentWatermark" : null
      }
    },
    "permission" : 4
  } ],
  "inviteKey" : "ea4dae46-1adf-4ef9-96ec-26b1d38ebe22"
}
Table 55. Definition of the returned fields
Path Type Description

permission

Number

Permission mask in account

groups

Array

Assigned groups

groups[].group

Object

Base Group DTO

groups[].permission

Number

Permission mask in group

request

Object

Request DTO

request.id

Number

Request id

request.contextKey

Object

Account context key

request.sourceName

String

Source user e-mail address

request.source

Object

Base source user DTO

request.target

Object

Base target user DTO

request.targetName

String

Target user e-mail address

request.container

Object

Container contextual entity DTO

request.type

String

Request type

request.status

String

Request status

request.parameters

String

Optional additional details

request.scope

String

Optional scope

request.lastModified

Number

Date the request was last modified

request.source.id

Number

User id

request.source.name

String

Full name

request.source.username

String

Username

request.source.logo

Boolean

Profile picture is defined

request.source.jobTitle

String

Job title

request.source.lastModified

Number

Last modified date

request.target.id

Number

User id

request.target.name

String

Full name

request.target.username

String

Username

request.target.logo

Boolean

Profile picture is defined

request.target.jobTitle

String

Job title

request.target.lastModified

Number

Last modified date

request

Object

Request

request.contextKey

Object

Request context key

request.contextKey.id

Number

Request context key id

request.container

Object

Request container

request.container.id

Number

Request container id

request.container.contextKey

Object

Request container context key

request.container.contextKey.id

Number

Request container context key id

request.container.type

String

Request container type

request.account

Object

Request account

request.account.id

Number

Request account id

request.account.name

String

Request account name

request.account.friendlyName

String

Request account friendly name

request.account.enabled

Boolean

Is request account enabled

groups[].group.id

Number

Group id

groups[].group.friendlyName

String

Group name

groups[].group.name

String

Group unique name/slug

groups[].group.members

Number

Amount of members in the group

groups[].group.storageConsumed

Number

Amount of storage consumed by the group in bytes

groups[].group.blind

Boolean

Do not allow basic read permission members to see each other

groups[].group.disableComments

Boolean

Disable group comments

groups[].group.disableEmailComments

Boolean

Disable comments in e-mail notifications

groups[].group.hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

groups[].group.disableChat

Boolean

Disable chat functionality

groups[].group.dateCreated

Number

Creation date

groups[].group.lastModified

Number

Last modification date

groups[].group.owner

Object

Group creator

groups[].group.branding

Object

Group branding settings

groups[].group.memberDetails

Array

Group members detailed information

groups[].group.memberDetails[].expirationDate

Number

Member expiration date timestamp

groups[].group.memberDetails[].user

Object

Member user information

groups[].group.memberDetails[].permission

Number

Member permission setting

groups[].group.memberDetails[].dateCreated

Number

Member creation timestamp

groups[].group.masterConfigured

Boolean

true when master group is configured

groups[].group.subgroupCount

Number

Number of subgroups configured with this group

groups[].group.contextKey

Object

Context key

groups[].group.contextKey.id

Number

Context key ID

groups[].group.master

Number

Primary group id

groups[].group.components

Array

List of enabled components with configuration

groups[].group.labels

Array

List of attached labels

groups[].group.notificationsConfiguration

Object

Group notifications configuration

groups[].group.notificationsConfiguration.newContent

String

Notify members about new content

groups[].group.notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

groups[].group.notificationsConfiguration.following

String

Disables all notifications for followed content

groups[].group.notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

groups[].group.watermarkConfiguration

Object

Group watermark configuration

groups[].group.watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

groups[].group.watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

groups[].group.watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

groups[].group.watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

groups[].group.watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

groups[].group.watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

groups[].group.watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

groups[].group.watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

groups[].group.components[].name

String

Enabled component name

groups[].group.components[].order

Number

Enabled component ordering index

groups[].group.components[].configuration

Object

Enabled component additional configuration properties

groups[].group.owner.id

Number

User id

groups[].group.owner.name

String

Full name

groups[].group.owner.username

String

Username

groups[].group.owner.logo

Boolean

Profile picture is defined

groups[].group.owner.jobTitle

String

Job title

groups[].group.owner.lastModified

Number

Last modified date

groups[].group.memberDetails[].user.id

Number

User id

groups[].group.memberDetails[].user.name

String

Full name

groups[].group.memberDetails[].user.username

String

Username

groups[].group.memberDetails[].user.logo

Boolean

Profile picture is defined

groups[].group.memberDetails[].user.jobTitle

String

Job title

groups[].group.memberDetails[].user.lastModified

Number

Last modified date

groups[].group.memberDetails[].group.id

Number

User / profile id

groups[].group.memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

groups[].group.memberDetails[].group.friendlyName

String

Full group name, visible to a user

groups[].permission

Number

Group permission

inviteKey

String

Invite key

4.8.5. Delete invite

Table 56. /v3/accounts/{account}/invites/{invite}
Parameter Description

account

Account id

invite

Invite id

HTTP
DELETE /v3/accounts/1/invites/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/invites/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/invites/1' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.9. Guests

Guests are individuals who you share content with and don’t need access to your full portal through a set of login credentials.

For more information about the feature itself, see our Help Center page.

4.9.1. List guests

Returns paginated list of account guests.

Table 57. /v3/accounts/{account}/guests
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/guests?name=guest HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/guests?name=guest' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/guests?name=guest' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 58. Request parameters
Parameter Description

page

Page number to load

size

Page size

orderBy

Order field

ascending

Ascending order direction

name

Find guest by name / email

startsWith

Find guest where name / email starts with

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 316

{
  "items" : [ {
    "id" : 1,
    "name" : "Guest",
    "email" : "guest@guest.com",
    "dateCreated" : 1712647504400,
    "passwordEnabled" : false,
    "hasPassword" : false
  } ],
  "currentPage" : 1,
  "totalPages" : 1,
  "pageSize" : 10,
  "totalResults" : 1,
  "nextPage" : false,
  "previousPage" : false
}
Table 59. Definition of the returned fields
Path Type Description

currentPage

Number

Current page

pageSize

Number

Entries per page

items

Array

Reachout entries

nextPage

Boolean

Next page exists

totalPages

Number

Total amount of available pages

previousPage

Boolean

Previous page exists

totalResults

Number

Total amount of entries

items[].id

Number

Guest id

items[].name

String

Guest name

items[].email

String

Guest e-mail

items[].passwordEnabled

Boolean

Guest has password or not

items[].hasPassword

Boolean

Indicates that the guest has password

items[].dateCreated

Number

Date the guest was created

items[].shares

Array

Shares tokens assigned to this guest

4.9.2. Get guest details

Table 60. /v3/accounts/{account}/guests/{guest}
Parameter Description

account

Account id

guest

Guest id

HTTP
GET /v3/accounts/1/guests/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/guests/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/guests/1' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 170

{
  "id" : 1,
  "name" : "Guest",
  "email" : "guest@guest.com",
  "dateCreated" : 1712647504326,
  "passwordEnabled" : false,
  "hasPassword" : false,
  "shares" : [ ]
}
Table 61. Definition of the returned fields
Path Type Description

id

Number

Guest id

name

String

Guest name

email

String

Guest e-mail

passwordEnabled

Boolean

Guest has password or not

hasPassword

Boolean

Indicates that the guest has password

dateCreated

Number

Date the guest was created

shares

Array

Shares tokens assigned to this guest

4.9.3. Update guest

Table 62. /v3/accounts/{account}/guests/{guest}
Parameter Description

account

Account id

guest

Guest id

HTTP
PATCH /v3/accounts/1/guests/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 49

{
  "name": "John",
  "email": "john@guest.com"
}
HTTPie
$ echo '{
  "name": "John",
  "email": "john@guest.com"
}' | http PATCH 'https://api.clinked.com/v3/accounts/1/guests/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/guests/1' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "name": "John",
  "email": "john@guest.com"
}'
Table 63. Request fields
Path Type Description

name

String

Name

email

String

Email address

passwordEnabled

Boolean

Is password required

password

String

Password

deliverResetNotifications

Boolean

Send reset password instructions to email

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 168

{
  "id" : 1,
  "name" : "John",
  "email" : "john@guest.com",
  "dateCreated" : 1712647504415,
  "passwordEnabled" : false,
  "hasPassword" : false,
  "shares" : [ ]
}
Table 64. Definition of the returned fields
Path Type Description

id

Number

Guest id

name

String

Guest name

email

String

Guest e-mail

passwordEnabled

Boolean

Guest has password or not

hasPassword

Boolean

Indicates that the guest has password

dateCreated

Number

Date the guest was created

shares

Array

Shares tokens assigned to this guest

4.9.4. Delete guest

Table 65. /v3/accounts/{account}/guests/{guest}
Parameter Description

account

Account id

guest

Guest id

HTTP
DELETE /v3/accounts/1/guests/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/guests/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/guests/1' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.10. Branding

For more information about the feature itself, see our Help Center page.

4.10.1. Get account branding

Table 66. /v3/accounts/{account}/branding
Parameter Description

account

Account Id

HTTP
GET /v3/accounts/1/branding HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/branding' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/branding' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 430

{
  "logo" : true,
  "mediumLogo" : true,
  "largeLogo" : true,
  "icon" : false,
  "background" : false,
  "darkMenu" : false,
  "navbarColor" : "#ffffff",
  "navbarText" : "#8692ac",
  "sidebarColor" : "#8692ac",
  "sidebarText" : "#8692ac",
  "primaryColor" : "#2e9dff",
  "primaryText" : "#ffffff",
  "secondaryColor" : "#80c568",
  "secondaryText" : "#ffffff",
  "lastModified" : 1684740519078,
  "fontFamily" : "Open Sans"
}
Table 67. Definition of the returned fields
Path Type Description

logo

Boolean

If has custom logo

mediumLogo

Boolean

If has medium logo

largeLogo

Boolean

If has large logo

background

Boolean

If has custom background

icon

Boolean

If has custom favicon

darkMenu

Boolean

If has dark menu

navbarColor

String

Hex color code

navbarText

String

Hex color code

sidebarColor

String

Hex color code

sidebarText

String

Hex color code

primaryColor

String

Hex color code

primaryText

String

Hex color code

secondaryColor

String

Hex color code

secondaryText

String

Hex color code

lastModified

Number

Date last modified

fontFamily

String

Selected font family

4.10.2. Create or update account branding

Table 68. /v3/accounts/{account}/branding
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/branding HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 285

{"navbarColor":"#ffffff","navbarText":"#8692ac","sidebarColor":"#8692ac","sidebarText":"#8692ac","primaryColor":"#2e9dff","secondaryColor":"#80c568","darkMenu":false,"logo":true,"icon":false,"background":false,"primaryText":"#ffffff","secondaryText":"#ffffff","fontFamily":"Open Sans"}
HTTPie
$ echo '{"navbarColor":"#ffffff","navbarText":"#8692ac","sidebarColor":"#8692ac","sidebarText":"#8692ac","primaryColor":"#2e9dff","secondaryColor":"#80c568","darkMenu":false,"logo":true,"icon":false,"background":false,"primaryText":"#ffffff","secondaryText":"#ffffff","fontFamily":"Open Sans"}' | http POST 'https://api.clinked.com/v3/accounts/1/branding' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/branding' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"navbarColor":"#ffffff","navbarText":"#8692ac","sidebarColor":"#8692ac","sidebarText":"#8692ac","primaryColor":"#2e9dff","secondaryColor":"#80c568","darkMenu":false,"logo":true,"icon":false,"background":false,"primaryText":"#ffffff","secondaryText":"#ffffff","fontFamily":"Open Sans"}'
Table 69. Request fields
Path Type Description

logo

Boolean

If has custom logo

background

Boolean

If has custom background

icon

Boolean

If has custom favicon

darkMenu

Boolean

If has dark menu

navbarColor

String

Hex color code

navbarText

String

Hex color code

sidebarColor

String

Hex color code

sidebarText

String

Hex color code

primaryColor

String

Hex color code

primaryText

String

Hex color code

secondaryColor

String

Hex color code

secondaryText

String

Hex color code

fontFamily

String

Selected font family

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 430

{
  "logo" : true,
  "mediumLogo" : true,
  "largeLogo" : true,
  "icon" : false,
  "background" : false,
  "darkMenu" : false,
  "navbarColor" : "#ffffff",
  "navbarText" : "#8692ac",
  "sidebarColor" : "#8692ac",
  "sidebarText" : "#8692ac",
  "primaryColor" : "#2e9dff",
  "primaryText" : "#ffffff",
  "secondaryColor" : "#80c568",
  "secondaryText" : "#ffffff",
  "lastModified" : 1684740519078,
  "fontFamily" : "Open Sans"
}
Table 70. Definition of the returned fields
Path Type Description

logo

Boolean

If has custom logo

mediumLogo

Boolean

If has medium logo

largeLogo

Boolean

If has large logo

background

Boolean

If has custom background

icon

Boolean

If has custom favicon

darkMenu

Boolean

If has dark menu

navbarColor

String

Hex color code

navbarText

String

Hex color code

sidebarColor

String

Hex color code

sidebarText

String

Hex color code

primaryColor

String

Hex color code

primaryText

String

Hex color code

secondaryColor

String

Hex color code

secondaryText

String

Hex color code

lastModified

Number

Date last modified

fontFamily

String

Selected font family

4.10.3. Delete custom branding

Sets branding to default values.

Table 71. /v3/accounts/{account}/branding
Parameter Description

account

Account id

HTTP
DELETE /v3/accounts/1/branding HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/branding' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/branding' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.11. Properties

4.11.1. List account properties

Table 72. /v3/accounts/{account}/properties
Parameter Description

account

Account ID

HTTP
GET /v3/accounts/1/properties?startsWith=test HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/properties?startsWith=test' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/properties?startsWith=test' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 73. Request parameters
Parameter Description

startsWith

Property prefix

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 46

[ {
  "name" : "name",
  "value" : "value"
} ]
Table 74. Definition of the returned fields
Path Type Description

[].name

String

Property name

[].value

String

Property value

4.11.2. Create account property

Table 75. /v3/accounts/{account}/properties
Parameter Description

account

Account ID

HTTP
POST /v3/accounts/1/properties HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 38

{
  "name": "test",
  "value": "123"
}
HTTPie
$ echo '{
  "name": "test",
  "value": "123"
}' | http POST 'https://api.clinked.com/v3/accounts/1/properties' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/properties' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "name": "test",
  "value": "123"
}'
Table 76. Request fields
Path Type Description

name

String

Property name

value

String

Property value

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 40

{
  "name" : "test",
  "value" : "123"
}
Table 77. Definition of the returned fields
Path Type Description

name

String

Property name

value

String

Property value

4.11.3. Delete account property

Table 78. /v3/accounts/{account}/properties/{name}
Parameter Description

account

Account ID

name

Property name

HTTP
DELETE /v3/accounts/1/properties/test HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/properties/test' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/properties/test' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.12. Announcements

For more information about the feature itself, see our Help Center page.

4.12.1. List announcements

Returns account announcements

Table 79. /v3/accounts/{account}/announcements
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/announcements HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/announcements' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/announcements' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 130

[ {
  "id" : "xyz",
  "title" : "title",
  "body" : "body",
  "colour" : "success",
  "propagate" : false,
  "inherit" : false
} ]
Table 80. Definition of the returned fields
Path Type Description

[]id

String

Announcement id

[]title

String

Announcement title

[]body

String

Announcement body

[]colour

String

Announcement colour

[]propagate

Boolean

Propagate the announcement as the default value

[]inherit

Boolean

The announcement is inherited from account level

4.12.2. Get announcement

Returns single announcement details

Table 81. /v3/accounts/{account}/announcements
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/announcements?id=xyz HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/announcements?id=xyz' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/announcements?id=xyz' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 82. Request parameters
Parameter Description

id

Specific announcement by the ID (same as dashboard widget id)

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 110

{
  "title" : "title",
  "body" : "body",
  "colour" : "success",
  "propagate" : false,
  "inherit" : false
}
Table 83. Definition of the returned fields
Path Type Description

id

String

Announcement id

title

String

Announcement title

body

String

Announcement body

colour

String

Announcement colour

propagate

Boolean

Propagate the announcement as the default value

inherit

Boolean

The announcement is inherited from account level

4.12.3. Create announcement

Create new announcement

Table 84. /v3/accounts/{account}/announcements
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/announcements HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 66

{"id": "test","title": "title","body": "body","colour": "success"}
HTTPie
$ echo '{"id": "test","title": "title","body": "body","colour": "success"}' | http POST 'https://api.clinked.com/v3/accounts/1/announcements' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/announcements' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"id": "test","title": "title","body": "body","colour": "success"}'
Table 85. Request parameters
Parameter Description

id

Specific announcement by the ID (same as dashboard widget id)

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 127

{
  "id" : "test",
  "title" : "title",
  "body" : "body",
  "colour" : "success",
  "propagate" : false,
  "inherit" : false
}
Table 86. Request fields
Path Type Description

id

String

Announcement id

title

String

Announcement title

body

String

Announcement body

colour

String

Announcement colour

propagate

Boolean

Propagate the announcement as the default value

inherit

Boolean

The announcement is inherited from account level

Same fields for return values

4.12.4. Delete announcement

Deletes announcements

Table 87. /v3/accounts/{account}/announcements
Parameter Description

account

Account id

id

Announcement id

HTTP
DELETE /v3/accounts/1/announcements HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/announcements' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/announcements' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'

If announcement id is not provided main announcement will be deleted

Example of a success response
HTTP/1.1 200 OK

4.13. Devices

For more information about the feature itself, see our Help Center page.

4.13.1. List devices

Returns all devices used by the account members

Table 88. /v3/accounts/{account}/devices
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/devices?name=my-device&orderBy=dateCreated HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/devices?name=my-device&orderBy=dateCreated' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/devices?name=my-device&orderBy=dateCreated' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 89. Request parameters
Parameter Description

name

Device name

orderBy

Value to order by

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 577

[ {
  "clientId" : "my-device",
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "name" : "My Awesome App!",
  "description" : "This is my awesome test app",
  "platform" : "OTHER",
  "deviceType" : "Phone",
  "deviceModel" : "Google Pixel XL",
  "deviceOs" : "ANDROID",
  "appVersion" : "1.0",
  "bundleId" : "com.clinked.awesome",
  "lastActivity" : 1514764800000,
  "ip" : "127.0.0.1",
  "scope" : [ ],
  "redirectURIs" : [ ],
  "grantTypes" : [ ]
} ]
Table 90. Definition of the returned fields
Path Type Description

[].clientId

String

Client id

[].owner.id

Number

Owner user id

[].owner.name

String

Owner name

[].owner.username

String

Owner username

[].owner.logo

Boolean

If user has logo

[].owner.jobTitle

String

User job title

[].owner.lastModified

Number

Last modified timestamp

[].name

String

Application name

[].description

String

Description

[].platform

String

Platform

[].deviceType

String

Device type

[].deviceModel

String

Device model

[].deviceOs

String

Device os

[].appVersion

String

Application version

[].bundleId

String

Bundle Id

[].lastActivity

Number

Last activity timestamp

[].ip

String

IP address

[].scope

Array

Required application scopes

[].redirectURIs

Array

Redirect URIs

[].grantTypes

Array

Grant types

4.13.2. Remove device

Removes device

Table 91. /v3/accounts/{account}/devices/{clientId}
Parameter Description

account

Account id

clientId

Client id

HTTP
DELETE /v3/accounts/1/devices/my-device HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/devices/my-device' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/devices/my-device' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.14. Iframes

An inline frame (iframe) is a HTML element that loads another HTML page within the document. White list domains that can be used in iframes.

4.14.1. List iframes

Table 92. /v3/accounts/{account}/iframes
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/iframes HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/iframes' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/iframes' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 16

[ "domain.ltd" ]
Table 93. Definition of the returned fields
Path Type Description

[]

Array

Array of white labeled iframes

4.14.2. Update iframes

Table 94. /v3/accounts/{account}/iframes
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/iframes HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 24

[ "iframe1", "iframe2" ]
HTTPie
$ echo '[ "iframe1", "iframe2" ]' | http POST 'https://api.clinked.com/v3/accounts/1/iframes' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/iframes' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '[ "iframe1", "iframe2" ]'
Table 95. Request fields
Path Type Description

[]

2003

Set of white listed iframes

Example of a success response
HTTP/1.1 200 OK

4.15. Password strength

4.15.1. Get password strength

Table 96. /v3/accounts/{account}/password-strength
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/password-strength HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/password-strength' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/password-strength' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 78

{
  "size" : 6,
  "uppercase" : true,
  "digits" : true,
  "special" : false
}
Table 97. Definition of the returned fields
Path Type Description

size

Number

Password size

uppercase

Boolean

Requires uppercase character

digits

Boolean

Requires digit character

special

Boolean

Requires special character

4.15.2. Update password strength

Table 98. /v3/accounts/{account}/password-strength
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/password-strength HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
Content-Length: 57

{"size":12,"uppercase":true,"digits":true,"special":true}
HTTPie
$ echo '{"size":12,"uppercase":true,"digits":true,"special":true}' | http POST 'https://api.clinked.com/v3/accounts/1/password-strength' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/password-strength' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json' \
    -d '{"size":12,"uppercase":true,"digits":true,"special":true}'
Table 99. Request fields
Path Type Description

size

Number

Password size

uppercase

Boolean

Requires uppercase character

digits

Boolean

Requires digit character

special

Boolean

Requires special character

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 78

{
  "size" : 12,
  "uppercase" : true,
  "digits" : true,
  "special" : true
}
Table 100. Definition of the returned fields
Path Type Description

size

Number

Password size

uppercase

Boolean

Requires uppercase character

digits

Boolean

Requires digit character

special

Boolean

Requires special character

4.16. Profile fields

Account members can have optional custom profile fields, that they can fill in when signing up or after

4.16.1. List profile fields

Table 101. /v3/accounts/{account}/profile-fields
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/profile-fields HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/profile-fields' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/profile-fields' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 50

[ {
  "name" : "Favorite pizza",
  "order" : 0
} ]
Table 102. Definition of the returned fields
Path Type Description

[].name

String

Field name

[].order

Number

Order number

4.16.2. Update profile fields

When updating profile fields You need to pass in previous fields as well if You wish to keep them.

Table 103. /v3/accounts/{account}/profile-fields
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/profile-fields HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 30

[{"name":"newName","order":0}]
HTTPie
$ echo '[{"name":"newName","order":0}]' | http POST 'https://api.clinked.com/v3/accounts/1/profile-fields' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/profile-fields' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '[{"name":"newName","order":0}]'
Table 104. Request fields
Path Type Description

[].name

String

Field name

[].order

Number

Order number

Example of a success response
HTTP/1.1 200 OK

4.17. SSO

Single sign-on

4.17.1. Get SSO details

Table 105. /v3/accounts/{account}/sso
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/sso HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/sso' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/sso' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 23

{
  "enabled" : false
}
Table 106. Definition of the returned fields
Path Type Description

enabled

Boolean

Is sso enabled

version

Number

Version number

subject

String

Subject name

signatureAlgorithm

String

Signature algorithm name

signatureOID

String

Signature algorithm OID

issuer

String

Issuer name

notAfter

String

notAfter date from the validity period of the certificate

notBefore

String

notBefore date from the validity period of the certificate

soonToExpire

boolean

Will expire in less than 30 days

publicKey

String

Public key

configuration

Object

Saml configuration

configuration.entityId

String

IdP EntityID

configuration.ssoEnabled

Boolean

SSO is enabled or disabled

configuration.userJit

Boolean

Create a new user if the user does not exist in account

configuration.forceSso

Boolean

Force users to login using identity provider

configuration.adminsUsePassword

Boolean

Allow administrators to use password login

configuration.disableProfileEdit

Boolean

Disable profile editing

configuration.forceAuth

Boolean

Force user authentication every time

4.17.2. Update SSO configuration

Table 107. /v3/accounts/{account}/sso
Parameter Description

account

Account id

HTTP
PATCH /v3/accounts/1/sso HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 153

{"ssoEnabled":false,"userJit":false,"forceSso":false,"adminsUsePassword":true,"disableProfileEdit":false,"renew":false,"forceAuth":false,"tempFile":null}
HTTPie
$ echo '{"ssoEnabled":false,"userJit":false,"forceSso":false,"adminsUsePassword":true,"disableProfileEdit":false,"renew":false,"forceAuth":false,"tempFile":null}' | http PATCH 'https://api.clinked.com/v3/accounts/1/sso' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/sso' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"ssoEnabled":false,"userJit":false,"forceSso":false,"adminsUsePassword":true,"disableProfileEdit":false,"renew":false,"forceAuth":false,"tempFile":null}'
Table 108. Request fields
Path Type Description

ssoEnabled

Boolean

SSO is enabled or disabled

userJit

Boolean

Create a new user if the user does not exist in account

forceSso

Boolean

Force users to login using identity provider

adminsUsePassword

Boolean

Allow administrators to use password login

disableProfileEdit

Boolean

Disable profile editing

forceAuth

Boolean

Force user authentication every time

renew

Boolean

Renew sso

tempFile

Number

Temp file id

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 23

{
  "enabled" : false
}
Table 109. Definition of the returned fields
Path Type Description

enabled

Boolean

Is sso enabled

version

Number

Version number

subject

String

Subject name

signatureAlgorithm

String

Signature algorithm name

signatureOID

String

Signature algorithm OID

issuer

String

Issuer name

notAfter

String

notAfter date from the validity period of the certificate

notBefore

String

notBefore date from the validity period of the certificate

soonToExpire

boolean

Will expire in less than 30 days

publicKey

String

Public key

configuration

Object

Saml configuration

configuration.entityId

String

IdP EntityID

configuration.ssoEnabled

Boolean

SSO is enabled or disabled

configuration.userJit

Boolean

Create a new user if the user does not exist in account

configuration.forceSso

Boolean

Force users to login using identity provider

configuration.adminsUsePassword

Boolean

Allow administrators to use password login

configuration.disableProfileEdit

Boolean

Disable profile editing

configuration.forceAuth

Boolean

Force user authentication every time

4.17.3. Delete SSO configuration

Table 110. /v3/accounts/{account}/sso
Parameter Description

account

Account id

HTTP
DELETE /v3/accounts/1/sso HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/sso' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/sso' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.18. Two-factor authentication

Two-factor authentication can be enforced for account members.

4.18.1. Get 2FA status

Retrieve status of the two-factor authentication enforcement.

Table 111. /v3/accounts/{account}/two-factor-authentication-enforce
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/two-factor-authentication-enforce HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/two-factor-authentication-enforce' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/two-factor-authentication-enforce' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 22

{
  "status" : false
}
Table 112. Definition of the returned fields
Path Type Description

status

boolean

Status

4.18.2. Update 2fa status

Table 113. /v3/accounts/{account}/two-factor-authentication-enforce
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/two-factor-authentication-enforce HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 5

false
HTTPie
$ echo 'false' | http POST 'https://api.clinked.com/v3/accounts/1/two-factor-authentication-enforce' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/two-factor-authentication-enforce' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d 'false'
Table 114. Request fields
Parameter Description

true

New status

Example of a success response
HTTP/1.1 200 OK

4.19. Storage region

Get and update details about account storage region.

4.19.1. Get storage details

Table 115. /v3/accounts/{account}/storage
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/storage HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/storage' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/storage' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 76

{
  "enabled" : true,
  "region" : "US-WEST-1",
  "availableRegions" : [ ]
}
Table 116. Definition of the returned fields
Path Type Description

enabled

Boolean

If enabled

region

String

Storage region

availableRegions

Array

Available storage regions

4.19.2. Update storage region

Table 117. /v3/accounts/{account}/storage
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/storage HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 22

{"region":"US-WEST-1"}
HTTPie
$ echo '{"region":"US-WEST-1"}' | http POST 'https://api.clinked.com/v3/accounts/1/storage' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/storage' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"region":"US-WEST-1"}'
Table 118. Request fields
Path Type Description

region

String

Storage region

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 88

{
  "enabled" : true,
  "region" : "US-WEST-1",
  "availableRegions" : [ "US-WEST-1" ]
}
Table 119. Definition of the returned fields
Path Type Description

enabled

Boolean

If enabled

region

String

Storage region

availableRegions

Array

Available storage regions

4.20. Custom email

For more information about the feature itself, see our Help Center page.

4.20.1. Get Configuration

Table 120. /v3/accounts/{account}/custom-email
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/custom-email HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/custom-email' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/custom-email' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 63

{
  "enabled" : true,
  "connected" : true,
  "type" : "type"
}
Table 121. Definition of the returned fields
Path Type Description

enabled

Boolean

Is enabled

connected

Boolean

Is connected

type

String

Type

4.20.2. Smtp

Table 122. /v3/accounts/{account}/custom-email/smtp
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/custom-email/smtp HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 152

{ "host": "smtp.domain.ltd", "username": "user123", "password": "passy", "port": 465, "auth": true, "starttls": true, "from": "user123@smtp.domain.ltd"}
HTTPie
$ echo '{ "host": "smtp.domain.ltd", "username": "user123", "password": "passy", "port": 465, "auth": true, "starttls": true, "from": "user123@smtp.domain.ltd"}' | http POST 'https://api.clinked.com/v3/accounts/1/custom-email/smtp' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/custom-email/smtp' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{ "host": "smtp.domain.ltd", "username": "user123", "password": "passy", "port": 465, "auth": true, "starttls": true, "from": "user123@smtp.domain.ltd"}'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 199

{
  "host" : "smtp.domain.ltd",
  "username" : "user123",
  "password" : null,
  "port" : 465,
  "auth" : null,
  "starttls" : true,
  "passwordOmitted" : true,
  "from" : "user123@smtp.domain.ltd"
}
Table 123. Definition of the returned fields
Path Type Description

host

String

SMTP server host

username

String

E-mail account username

password

String

E-mail account password (if included in response)

port

Number

SMTP server port number

auth

Boolean

Authentication is used

starttls

Boolean

STARTTLS is enabled

passwordOmitted

Boolean

Password is not included in the response

from

String

Mail from header e-mail address

4.20.3. Configure sendgrid

Table 124. /v3/accounts/{account}/custom-email/sendgrid
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/custom-email/sendgrid HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 73

{ "apiKey": "123-apiKey-from-sendgrid","from": "user123@smtp.domain.ltd"}
HTTPie
$ echo '{ "apiKey": "123-apiKey-from-sendgrid","from": "user123@smtp.domain.ltd"}' | http POST 'https://api.clinked.com/v3/accounts/1/custom-email/sendgrid' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/custom-email/sendgrid' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{ "apiKey": "123-apiKey-from-sendgrid","from": "user123@smtp.domain.ltd"}'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 77

{
  "apiKey" : "passy",
  "from" : "user123@smtp.domain.ltd",
  "mx" : null
}
Table 125. Definition of the returned fields
Path Type Description

apiKey

String

Sendgrid API key

from

String

Mail from header e-mail address

mx

Boolean

MX records are defined for e-mail receiving in portal

4.20.4. Get Sendgrid domains

Table 126. /v3/accounts/{account}/custom-email/sendgrid/domains
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/custom-email/sendgrid/domains?apiKey=13423-65hk0-fskdjf4-fsdfsf HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/custom-email/sendgrid/domains?apiKey=13423-65hk0-fskdjf4-fsdfsf' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/custom-email/sendgrid/domains?apiKey=13423-65hk0-fskdjf4-fsdfsf' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 318

[ {
  "default" : true,
  "id" : 100,
  "username" : "Harry",
  "subdomain" : "subdomain",
  "domain" : "domain",
  "user_id" : 123,
  "ips" : [ "127.0.0.1" ],
  "custom_spf" : false,
  "legacy" : false,
  "automatic_security" : true,
  "valid" : true,
  "dns" : { },
  "last_validation_attempt_at" : 1514764800000
} ]
Table 127. Definition of the returned fields
Path Type Description

[].default

Boolean

Whether to use this authenticated domain as the fallback if no authenticated domains match the sender’s domain

[].id

Number

Id of authenticated domain

[].username

String

The username associated with this domain

[].subdomain

String

The subdomain to use for authenticated domain

[].domain

String

The domain to be authenticated

[].user_id

Number

The ID of the user that this domain is associated with

[].ips.[]

Array

The IP addresses that will be included in the custom SPF record for this authenticated domain

[].custom_spf

Boolean

Specify whether to use a custom SPF or allow SendGrid to manage your SPF.This option is only available to authenticated domains set up for manual security

[].legacy

Boolean

Is legacy

[].automatic_security

Boolean

Whether to allow SendGrid to manage your SPF records, DKIM keys, and DKIM key rotation.

[].valid

Boolean

Indicates if this is a valid authenticated domain

[].dns

Object

The DNS records used to authenticate the sending domain

[].last_validation_attempt_at

Number

Last validation attempt timestamp

4.20.5. Create domain authentication

Table 128. /v3/accounts/{account}/custom-email/domain-authentication
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/custom-email/domain-authentication HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
Content-Length: 174

{"from":"email@example.com","domain":null,"mx":null,"mxValid":null,"valid":true,"dns":{"example":{"valid":true,"data":"example data","host":"example.com","type":"dns type"}}}
HTTPie
$ echo '{"from":"email@example.com","domain":null,"mx":null,"mxValid":null,"valid":true,"dns":{"example":{"valid":true,"data":"example data","host":"example.com","type":"dns type"}}}' | http POST 'https://api.clinked.com/v3/accounts/1/custom-email/domain-authentication' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/custom-email/domain-authentication' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json' \
    -d '{"from":"email@example.com","domain":null,"mx":null,"mxValid":null,"valid":true,"dns":{"example":{"valid":true,"data":"example data","host":"example.com","type":"dns type"}}}'
Table 129. Request fields
Path Type Description

from

String

From email

valid

Boolean

Is valid domain

dns

Object

Map of dns and dns properties

dns.example

Object

Dns name

domain

String

Authorized domain

mx

Boolean

MX records configured for e-mail receiving

mxValid

Boolean

MX records are valid

dns.example.valid

Boolean

Is dns valid

dns.example.data

String

Dns data

dns.example.host

String

Dns host

dns.example.type

String

Dns type

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 265

{
  "from" : "email@example.com",
  "domain" : "example.com",
  "mx" : null,
  "mxValid" : null,
  "valid" : true,
  "dns" : {
    "example" : {
      "valid" : true,
      "data" : "example data",
      "host" : "example.com",
      "type" : "dns type"
    }
  }
}
Table 130. Definition of the returned fields
Path Type Description

from

String

From email

valid

Boolean

Is valid domain

dns

Object

Map of dns and dns properties

dns.example

Object

Dns name

domain

String

Authorized domain

mx

Boolean

MX records configured for e-mail receiving

mxValid

Boolean

MX records are valid

dns.example.valid

Boolean

Is dns valid

dns.example.data

String

Dns data

dns.example.host

String

Dns host

dns.example.type

String

Dns type

4.20.6. Validate domain authentication

Table 131. /v3/accounts/{account}/custom-email/domain-authentication
Parameter Description

account

Account id

HTTP
PATCH /v3/accounts/1/custom-email/domain-authentication HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
HTTPie
$ http PATCH 'https://api.clinked.com/v3/accounts/1/custom-email/domain-authentication' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/custom-email/domain-authentication' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 256

{
  "from" : "email@example.com",
  "domain" : null,
  "mx" : null,
  "mxValid" : null,
  "valid" : true,
  "dns" : {
    "example" : {
      "valid" : true,
      "data" : "example data",
      "host" : "example.com",
      "type" : "dns type"
    }
  }
}
Table 132. Definition of the returned fields
Path Type Description

from

String

From email

valid

Boolean

Is valid domain

dns

Object

Map of dns and dns properties

dns.example

Object

Dns name

domain

String

Authorized domain

mx

Boolean

MX records configured for e-mail receiving

mxValid

Boolean

MX records are valid

dns.example.valid

Boolean

Is dns valid

dns.example.data

String

Dns data

dns.example.host

String

Dns host

dns.example.type

String

Dns type

4.20.7. Remove domain

Table 133. /v3/accounts/{account}/custom-email
Parameter Description

account

Account id

HTTP
DELETE /v3/accounts/1/custom-email HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Accept: application/json
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/custom-email' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>' \
    'Accept:application/json'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/custom-email' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -H 'Accept: application/json'
Example of a success response
HTTP/1.1 200 OK

4.21. Custom domain

For more information about the feature itself, see our Help Center page.

4.21.1. Get custom domain details

Return details about domain and if feature can be used.

Table 134. /v3/accounts/{account}/domain
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/domain HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/domain' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/domain' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 118

{
  "status" : true,
  "enabled" : true,
  "regions" : {
    "WEST-1" : [ "my-host" ]
  },
  "domain" : "domain.com"
}
Table 135. Definition of the returned fields
Path Type Description

status

Boolean

If custom domain exists

enabled

Boolean

If custom domain enabled

regions

Object

Map of regions and hosts

domain

String

Domain name

4.21.2. Add custom domain

Table 136. /v3/accounts/{account}/domain
Parameter Description

account

Account id

HTTP
POST /v3/accounts/1/domain HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 31

{"domain": "portal.domain.ltd"}
HTTPie
$ echo '{"domain": "portal.domain.ltd"}' | http POST 'https://api.clinked.com/v3/accounts/1/domain' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/domain' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"domain": "portal.domain.ltd"}'
Example of a success response
HTTP/1.1 200 OK

4.21.3. Delete custom domain

Table 137. /v3/accounts/{account}/domain
Parameter Description

account

Account id

HTTP
DELETE /v3/accounts/1/domain HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/domain' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/domain' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.22. Account integrations

For more information about the feature itself, see our Help Center page.

4.22.2. Integration status

Checks if integration is connected and to which account.

Table 138. /v3/accounts/{account}/docusign
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/docusign HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/docusign' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/docusign' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 51

{
  "connected" : true,
  "account" : "xxxx-xxxx"
}
Table 139. Definition of the returned fields
Path Type Description

connected

Boolean

Is integration connected

account

String

Docusign account id

4.22.3. Update Docusign settings

Table 140. /v3/accounts/{account}/docusign
Parameter Description

account

Account id

HTTP
PATCH /v3/accounts/1/docusign HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 24

{
  "connected" : true
}
HTTPie
$ echo '{
  "connected" : true
}' | http PATCH 'https://api.clinked.com/v3/accounts/1/docusign' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/docusign' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "connected" : true
}'
Table 141. Request fields
Path Type Description

connected

Boolean

Is connected

account

String

New account id

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 51

{
  "connected" : true,
  "account" : "xxxx-xxxx"
}
Table 142. Definition of the returned fields
Path Type Description

connected

Boolean

Is integration connected

account

String

Docusign account id

4.22.4. Disconnect Docusign

Table 143. /v3/accounts/{account}/docusign
Parameter Description

account

Account id

HTTP
DELETE /v3/accounts/1/docusign HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/docusign' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/docusign' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

4.22.5. List available docusign accounts

Table 144. /v3/accounts/{account}/docusign/accounts
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/docusign/accounts HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/docusign/accounts' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/docusign/accounts' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 271

[ {
  "account_id" : "xxxx-xxxx",
  "is_default" : null,
  "account_name" : "Awesome account",
  "base_uri" : "example.com",
  "organization" : {
    "organization_id" : "org-id",
    "links" : [ {
      "rel" : "example.com",
      "href" : "example.com"
    } ]
  }
} ]
Table 145. Definition of the returned fields
Path Type Description

[]account_id

String

Account id

[]is_default

String

Is default

[]account_name

String

Account name

[]base_uri

String

Base uri

[]organization

Object

Organisation

[]organization.organization_id

String

Organisation id

[]organization.links

Array

Links

[]organization.links[].rel

String

rel

[]organization.links[].href

String

href

4.22.6. Generate consent url

Table 146. /v3/accounts/{account}/docusign/consent
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/docusign/consent?redirect=example.com HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/docusign/consent?redirect=example.com' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/docusign/consent?redirect=example.com' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 147. Request parameters
Parameter Description

redirect

Redirect url

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 34

{
  "consentUrl" : "example.com"
}
Table 148. Definition of the returned fields
Path Type Description

consentUrl

String

Consent url

4.22.8. Integration status

Table 149. /v3/accounts/{account}/adobe
Parameter Description

account

Account id

HTTP
GET /v3/accounts/1/adobe HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/adobe' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/adobe' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 24

{
  "connected" : true
}
Table 150. Definition of the returned fields
Path Type Description

connected

Boolean

Is integration connected

4.22.9. Disconnect Adobe

Table 151. /v3/accounts/{account}/adobe
Parameter Description

account

Account id

Example of a success response
HTTP/1.1 200 OK

5. Account tasks

5.1. List tasks

HTTP
GET /v3/tasks?account=1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/tasks?account=1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/tasks?account=1' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 152. Request parameters
Parameter Description

account

Account ID

name

Name

exact

Return exact by exact name

slug

Slug

show

Show

status

Task status

assignedTo

User id

priority

Task priority [URGENT, HIGH, MEDIUM, LOW]

category

Task category

uncategorized

Include uncategorized

dateStart

Start date

dateEnd

End date

parent

Parent task id

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1292

{
  "items" : [ {
    "id" : 1,
    "contextKey" : {
      "id" : 117
    },
    "sharing" : "MEMBERS",
    "memberPermission" : 8,
    "following" : false,
    "userAces" : false,
    "userPermission" : 0,
    "attachmentCount" : 0,
    "friendlyName" : "Deploy update",
    "name" : "deploy_update",
    "status" : "WAITING",
    "priority" : "MEDIUM",
    "progress" : 0,
    "author" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dueDate" : "2022-08-25T11:56:54Z[UTC]",
    "tags" : "",
    "description" : "Let's do this",
    "dateCreated" : 1514764800000,
    "dateReminder" : "2017-12-31T08:00Z[UTC]",
    "recurrence" : null,
    "order" : 2147483647,
    "category" : null,
    "assignees" : null,
    "numberOfSubTasks" : 0,
    "lastModified" : 1514764800000,
    "timeTracker" : {
      "trackingStartDate" : 1514764800000,
      "timeTracked" : 948480
    },
    "dateCompleted" : 1514764810000,
    "group" : {
      "id" : 1,
      "name" : "explore_clinked",
      "friendlyName" : "Explore Clinked"
    }
  } ],
  "currentPage" : 1,
  "totalPages" : 1,
  "pageSize" : 1,
  "totalResults" : 1,
  "nextPage" : false,
  "previousPage" : false
}
Table 153. Definition of the returned fields
Path Type Description

items

Array

Page items

currentPage

Number

Current page number

pageSize

Number

Current page size

nextPage

Boolean

Next page available

previousPage

Boolean

Previous page available

totalPages

Number

Amount of available pages

totalResults

Number

Total results

items[].id

Number

Task category ID

items[].contextKey

Object

Сontext key

items[].contextKey.id

Number

Сontext key ID

items[].name

String

Task slug

items[].friendlyName

String

Task name

items[].author

Object

User created this task

items[].status

String

Task status code

items[].priority

String

Task priority

items[].progress

Number

Task progress

items[].tags

String

Task tags (comma separated)

items[].dueDate

String

Zoned ISO due date-time

items[].dateReminder

String

Zoned ISO reminder date-time

items[].recurrence

String

Task recurrence rule

items[].order

Number

Task order

items[].description

String

Task description

items[].file

Object

File to which the task is attached to

items[].category

Object

Task category

items[].assignees

Array

Task assignees

items[].sharing

String

Sharing option, determines who can see a note: [NONE, DEFAULT, MEMBERS, PUBLIC]

items[].memberPermission

Number

Member file permission mask

items[].attachmentCount

Number

Amount of attachments

items[].commentCount

Number

Amount of comments

items[].following

Boolean

User is following note

items[].shareCount

Number

Amount of shares

items[].userAces

Boolean

Note has individual user permissions

items[].userPermission

Number

User permission

items[].dateCreated

Number

Date task was created

items[].dateCompleted

Number

Date task was completed

items[].lastModified

Number

Date task was last modified

items[].parent

Object

Parent task

items[].numberOfSubTasks

Number

Number of subtasks

items[].timeTracker

Object

Task time tracker

items[].timeTracker.trackingStartDate

Number

Tracking start date

items[].timeTracker.timeTracked

Number

Time tracked in milliseconds

items[].author.id

Number

User id

items[].author.name

String

Full name

items[].author.username

String

Username

items[].author.logo

Boolean

Profile picture is defined

items[].author.jobTitle

String

Job title

items[].author.lastModified

Number

Last modified date

items[].group.id

Number

User / profile id

items[].group.name

String

Group name slug, used for internal identification and URIs

items[].group.friendlyName

String

Full group name, visible to a user

6. Account events

6.1. Account events list

HTTP
GET /v3/events?account=1&dateStart=2022-10-01&dateEnd=2022-10-31 HTTP/1.1
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/events?account=1&dateStart=2022-10-01&dateEnd=2022-10-31'
Curl
$ curl 'https://api.clinked.com/v3/events?account=1&dateStart=2022-10-01&dateEnd=2022-10-31' -i -X GET
Table 154. Request parameters
Parameter Description

account

Required account id

dateStart

Lower bound for an event’s start time to filter by. Must be a ISO date only format, for example 2022-03-01.

dateEnd

Upper bound for an event’s end time to filter by. Must be a ISO date only format, for example 2022-03-31.

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 896

[ {
  "id" : 1,
  "contextKey" : {
    "id" : 389
  },
  "sharing" : "MEMBERS",
  "memberPermission" : 8,
  "name" : "meeting_with_a_client",
  "friendlyName" : "Meeting with a client",
  "startDate" : "2018-01-05T14:00Z[UTC]",
  "endDate" : "2018-01-05T15:00Z[UTC]",
  "allDay" : false,
  "location" : "London",
  "tags" : "tag1,tag2",
  "dateReminder" : "2017-12-31T08:00Z[UTC]",
  "recurrence" : "FREQ=WEEKLY;WKST=MO;BYDAY=FR",
  "dateEndRecurrence" : "2024-04-09T07:25:13.169Z[UTC]",
  "description" : "Let's do this every friday",
  "disableMaybe" : false,
  "author" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "lastModified" : 1514764800000,
  "color" : "#212121",
  "group" : {
    "id" : 1,
    "name" : "explore_clinked",
    "friendlyName" : "Explore Clinked"
  }
} ]
Table 155. Definition of the returned fields
Path Type Description

[].id

Number

Event ID

[].contextKey

Object

Context key

[].contextKey.id

Number

Context key ID

[].group

Object

Event group

[].author

Object

Event author

[].group.id

Number

Group Id

[].group

Object

Event group

[].group

Object

Event group

[].sharing

String

Sharing option, determines who can see an event: [NONE, DEFAULT, MEMBERS, PUBLIC]

[].memberPermission

Number

Member permission mask

[].name

String

Unique name

[].friendlyName

String

Full name

[].startDate

String

Event start date

[].endDate

String

Event end date

[].allDay

Boolean

All day event

[].location

String

Event location

[].tags

String

Comma separated list of tags

[].dateReminder

String

When to send a reminder about an event

[].recurrence

String

Valid recurrence rule

[].dateEndRecurrence

String

Recurrence end date

[].description

String

Event description

[].lastModified

Number

Date event was last modified

[].color

String

Event color

[].disableMaybe

Boolean

Do not allow invited members to choose 'maybe' option

[].group.id

Number

User / profile id

[].group.name

String

Group name slug, used for internal identification and URIs

[].group.friendlyName

String

Full group name, visible to a user

[].author.id

Number

User id

[].author.name

String

Full name

[].author.username

String

Username

[].author.logo

Boolean

Profile picture is defined

[].author.jobTitle

String

Job title

[].author.lastModified

Number

Last modified date

6.2. Account events list for user

Returns other user events to authenticated user.

HTTP
GET /v3/events?user=jack&dateStart=2022-10-01&dateEnd=2022-10-31 HTTP/1.1
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/events?user=jack&dateStart=2022-10-01&dateEnd=2022-10-31'
Curl
$ curl 'https://api.clinked.com/v3/events?user=jack&dateStart=2022-10-01&dateEnd=2022-10-31' -i -X GET
Table 156. Request parameters
Parameter Description

user

User username

dateStart

Lower bound for an event’s start time to filter by. Must be a ISO date only format, for example 2022-03-01.

dateEnd

Upper bound for an event’s end time to filter by. Must be a ISO date only format, for example 2022-03-31.

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 896

[ {
  "id" : 1,
  "contextKey" : {
    "id" : 176
  },
  "sharing" : "MEMBERS",
  "memberPermission" : 8,
  "name" : "meeting_with_a_client",
  "friendlyName" : "Meeting with a client",
  "startDate" : "2018-01-05T14:00Z[UTC]",
  "endDate" : "2018-01-05T15:00Z[UTC]",
  "allDay" : false,
  "location" : "London",
  "tags" : "tag1,tag2",
  "dateReminder" : "2017-12-31T08:00Z[UTC]",
  "recurrence" : "FREQ=WEEKLY;WKST=MO;BYDAY=FR",
  "dateEndRecurrence" : "2024-04-09T07:25:13.075Z[UTC]",
  "description" : "Let's do this every friday",
  "disableMaybe" : false,
  "author" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "lastModified" : 1514764800000,
  "color" : "#212121",
  "group" : {
    "id" : 1,
    "name" : "explore_clinked",
    "friendlyName" : "Explore Clinked"
  }
} ]
Table 157. Definition of the returned fields
Path Type Description

[].id

Number

Event ID

[].contextKey

Object

Context key

[].contextKey.id

Number

Context key ID

[].group

Object

Event group

[].author

Object

Event author

[].group.id

Number

Group Id

[].group

Object

Event group

[].group

Object

Event group

[].sharing

String

Sharing option, determines who can see an event: [NONE, DEFAULT, MEMBERS, PUBLIC]

[].memberPermission

Number

Member permission mask

[].name

String

Unique name

[].friendlyName

String

Full name

[].startDate

String

Event start date

[].endDate

String

Event end date

[].allDay

Boolean

All day event

[].location

String

Event location

[].tags

String

Comma separated list of tags

[].dateReminder

String

When to send a reminder about an event

[].recurrence

String

Valid recurrence rule

[].dateEndRecurrence

String

Recurrence end date

[].description

String

Event description

[].lastModified

Number

Date event was last modified

[].color

String

Event color

[].disableMaybe

Boolean

Do not allow invited members to choose 'maybe' option

[].group.id

Number

User / profile id

[].group.name

String

Group name slug, used for internal identification and URIs

[].group.friendlyName

String

Full group name, visible to a user

[].author.id

Number

User id

[].author.name

String

Full name

[].author.username

String

Username

[].author.logo

Boolean

Profile picture is defined

[].author.jobTitle

String

Job title

[].author.lastModified

Number

Last modified date

7. Groups

7.1. Create new group

Table 158. /v3/accounts/{account}/groups
Parameter Description

account

Account/organisation id

HTTP
POST /v3/accounts/1/groups HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 1140

{
    "name": "awesome_group",
    "friendlyName": "Awesome Group",
    "master": null,
    "blind": false,
    "disableComments": false,
    "disableEmailComments": false,
    "hideMemberDetails": false,
    "components": [{
        "name": "files",
        "order": 1,
        "configuration": {}
    }, {
        "name": "discussions",
        "order": 2,
        "configuration": {}
    }, {
        "name": "tasks",
        "order": 3,
        "configuration": {}
    }, {
        "name": "pages",
        "order": 4,
        "configuration": {}
    }, {
        "name": "events",
        "order": 5,
        "configuration": {}
    }],
    "notificationsConfiguration": {
        "newContent": "IMMEDIATE",
        "overdueTasks": "DAILY",
        "following": "NEVER",
        "disableEmailComments": false
    },
    "watermarkConfiguration": {
        "enableWatermark": true,
        "enableWatermarkIp": true,
        "enableWatermarkEmail": true,
        "enableWatermarkTimestamp": true,
        "enableWatermarkCustomText": true,
        "watermarkCustomText": "WATERMARKED",
        "watermarkStyle": "DIAGONAL_LARGE"
    }
}
HTTPie
$ echo '{
    "name": "awesome_group",
    "friendlyName": "Awesome Group",
    "master": null,
    "blind": false,
    "disableComments": false,
    "disableEmailComments": false,
    "hideMemberDetails": false,
    "components": [{
        "name": "files",
        "order": 1,
        "configuration": {}
    }, {
        "name": "discussions",
        "order": 2,
        "configuration": {}
    }, {
        "name": "tasks",
        "order": 3,
        "configuration": {}
    }, {
        "name": "pages",
        "order": 4,
        "configuration": {}
    }, {
        "name": "events",
        "order": 5,
        "configuration": {}
    }],
    "notificationsConfiguration": {
        "newContent": "IMMEDIATE",
        "overdueTasks": "DAILY",
        "following": "NEVER",
        "disableEmailComments": false
    },
    "watermarkConfiguration": {
        "enableWatermark": true,
        "enableWatermarkIp": true,
        "enableWatermarkEmail": true,
        "enableWatermarkTimestamp": true,
        "enableWatermarkCustomText": true,
        "watermarkCustomText": "WATERMARKED",
        "watermarkStyle": "DIAGONAL_LARGE"
    }
}' | http POST 'https://api.clinked.com/v3/accounts/1/groups' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
    "name": "awesome_group",
    "friendlyName": "Awesome Group",
    "master": null,
    "blind": false,
    "disableComments": false,
    "disableEmailComments": false,
    "hideMemberDetails": false,
    "components": [{
        "name": "files",
        "order": 1,
        "configuration": {}
    }, {
        "name": "discussions",
        "order": 2,
        "configuration": {}
    }, {
        "name": "tasks",
        "order": 3,
        "configuration": {}
    }, {
        "name": "pages",
        "order": 4,
        "configuration": {}
    }, {
        "name": "events",
        "order": 5,
        "configuration": {}
    }],
    "notificationsConfiguration": {
        "newContent": "IMMEDIATE",
        "overdueTasks": "DAILY",
        "following": "NEVER",
        "disableEmailComments": false
    },
    "watermarkConfiguration": {
        "enableWatermark": true,
        "enableWatermarkIp": true,
        "enableWatermarkEmail": true,
        "enableWatermarkTimestamp": true,
        "enableWatermarkCustomText": true,
        "watermarkCustomText": "WATERMARKED",
        "watermarkStyle": "DIAGONAL_LARGE"
    }
}'
Table 159. Request fields
Path Type Description

name

String

Group unique name/slug

friendlyName

String

Group name

copyFrom

Number

Group ID to duplicate

master

Number

Primary group id

components

Array

List of enabled components with configuration

blind

Boolean

Do not allow basic read permission members to see each other

disableComments

Boolean

Disable group comments

disableEmailComments

Boolean

Disable comments in e-mail notifications

hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

notificationsConfiguration

Object

Group notifications configuration

notificationsConfiguration.newContent

String

Notify members about new content

notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

notificationsConfiguration.following

String

Disables all notifications for followed content

notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

watermarkConfiguration

Object

Group watermark configuration

watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

components[].name

String

Enabled component name

components[].order

Number

Enabled component ordering index

components[].configuration

Object

Enabled component additional configuration properties

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1545

{
  "id" : 1,
  "name" : "awesome_group",
  "friendlyName" : "Awesome Group",
  "contextKey" : {
    "id" : 915
  },
  "members" : 0,
  "storageConsumed" : 0,
  "blind" : false,
  "disableChat" : false,
  "disableComments" : false,
  "disableEmailComments" : false,
  "hideMemberDetails" : false,
  "dateCreated" : 1712647477104,
  "lastModified" : 1712647477104,
  "owner" : null,
  "mailKey" : null,
  "hash" : null,
  "branding" : {
    "headerColor" : "#dfdfdf",
    "textColor" : "#000000",
    "logo" : false,
    "background" : false,
    "alignment" : "left",
    "backgroundPositionX" : 50,
    "backgroundPositionY" : 50,
    "hideBackgroundGradient" : false,
    "hideLogoBackground" : false,
    "hideGroupName" : false
  },
  "memberDetails" : [ ],
  "components" : [ {
    "name" : "files",
    "order" : 1,
    "configuration" : { }
  }, {
    "name" : "tasks",
    "order" : 3,
    "configuration" : { }
  }, {
    "name" : "discussions",
    "order" : 2,
    "configuration" : { }
  }, {
    "name" : "pages",
    "order" : 4,
    "configuration" : { }
  }, {
    "name" : "events",
    "order" : 5,
    "configuration" : { }
  } ],
  "master" : null,
  "masterConfigured" : false,
  "masterConfiguration" : null,
  "watermarkConfiguration" : {
    "enableWatermark" : false,
    "enableWatermarkIp" : false,
    "enableWatermarkEmail" : false,
    "enableWatermarkTimestamp" : false,
    "enableWatermarkCustomText" : false,
    "watermarkCustomText" : null,
    "watermarkStyle" : null,
    "transparentWatermark" : null
  }
}
Table 160. Definition of the returned fields
Path Type Description

id

Number

Group id

friendlyName

String

Group name

name

String

Group unique name/slug

members

Number

Amount of members in the group

storageConsumed

Number

Amount of storage consumed by the group in bytes

blind

Boolean

Do not allow basic read permission members to see each other

disableComments

Boolean

Disable group comments

disableEmailComments

Boolean

Disable comments in e-mail notifications

hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

disableChat

Boolean

Disable chat functionality

dateCreated

Number

Creation date

lastModified

Number

Last modification date

owner

Object

Group creator

branding

Object

Group branding settings

memberDetails

Array

Group members detailed information

memberDetails[].expirationDate

Number

Member expiration date timestamp

memberDetails[].user

Object

Member user information

memberDetails[].permission

Number

Member permission setting

memberDetails[].dateCreated

Number

Member creation timestamp

masterConfigured

Boolean

true when master group is configured

subgroupCount

Number

Number of subgroups configured with this group

contextKey

Object

Context key

contextKey.id

Number

Context key ID

master

Number

Primary group id

components

Array

List of enabled components with configuration

labels

Array

List of attached labels

notificationsConfiguration

Object

Group notifications configuration

notificationsConfiguration.newContent

String

Notify members about new content

notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

notificationsConfiguration.following

String

Disables all notifications for followed content

notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

watermarkConfiguration

Object

Group watermark configuration

watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

components[].name

String

Enabled component name

components[].order

Number

Enabled component ordering index

components[].configuration

Object

Enabled component additional configuration properties

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

memberDetails[].user.id

Number

User id

memberDetails[].user.name

String

Full name

memberDetails[].user.username

String

Username

memberDetails[].user.logo

Boolean

Profile picture is defined

memberDetails[].user.jobTitle

String

Job title

memberDetails[].user.lastModified

Number

Last modified date

memberDetails[].group.id

Number

User / profile id

memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

memberDetails[].group.friendlyName

String

Full group name, visible to a user

7.2. Group count

Table 161. /v3/accounts/{account}/groups
Parameter Description

account

Account id

HTTP
HEAD /v3/accounts/1/groups HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http HEAD 'https://api.clinked.com/v3/accounts/1/groups' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups' -i -X HEAD \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
X-Count: 0

7.3. List groups

Table 162. /v3/accounts/{account}/groups
Parameter Description

account

Account/organisation id

HTTP
GET /v3/accounts/1/groups HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/groups' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 163. Request parameters
Parameter Description

name

Name to search for

exact

Show only exact name match

exclude

List of group IDs to exclude from results

removed

Include removed groups

master

Master group ID to get subgroups for

label

Label ID to filter groups by

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 2315

{
  "items" : [ {
    "id" : 1,
    "name" : "explore_clinked",
    "friendlyName" : "Explore Clinked",
    "contextKey" : {
      "id" : 167
    },
    "members" : 0,
    "storageConsumed" : 0,
    "blind" : false,
    "disableChat" : false,
    "disableComments" : false,
    "disableEmailComments" : false,
    "hideMemberDetails" : false,
    "dateCreated" : 1514764800000,
    "lastModified" : 1514764800000,
    "owner" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "mailKey" : null,
    "hash" : null,
    "branding" : {
      "headerColor" : "#ffffff",
      "textColor" : "#ff0000",
      "logo" : false,
      "background" : false,
      "alignment" : "left",
      "backgroundPositionX" : 50,
      "backgroundPositionY" : 50,
      "hideBackgroundGradient" : false,
      "hideLogoBackground" : false,
      "hideGroupName" : false
    },
    "memberDetails" : [ {
      "user" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "permission" : 16,
      "dateCreated" : 1712647476476,
      "expirationDate" : null,
      "group" : {
        "id" : 1,
        "name" : "explore_clinked",
        "friendlyName" : "Explore Clinked"
      }
    } ],
    "components" : [ {
      "name" : "files",
      "order" : 0,
      "configuration" : { }
    }, {
      "name" : "pages",
      "order" : 1,
      "configuration" : { }
    }, {
      "name" : "events",
      "order" : 2,
      "configuration" : { }
    }, {
      "name" : "tasks",
      "order" : 3,
      "configuration" : { }
    } ],
    "master" : null,
    "masterConfigured" : false,
    "masterConfiguration" : null,
    "watermarkConfiguration" : {
      "enableWatermark" : false,
      "enableWatermarkIp" : false,
      "enableWatermarkEmail" : false,
      "enableWatermarkTimestamp" : false,
      "enableWatermarkCustomText" : false,
      "watermarkCustomText" : null,
      "watermarkStyle" : null,
      "transparentWatermark" : null
    }
  } ],
  "currentPage" : 1,
  "pageSize" : 5,
  "totalResults" : 0,
  "nextPage" : false,
  "previousPage" : false
}
Table 164. Definition of the returned fields
Path Type Description

items

Array

Page items

currentPage

Number

Current page number

pageSize

Number

Current page size

nextPage

Boolean

Next page available

previousPage

Boolean

Previous page available

totalPages

Number

Amount of available pages

totalResults

Number

Total results

items[].id

Number

Group id

items[].friendlyName

String

Group name

items[].name

String

Group unique name/slug

items[].members

Number

Amount of members in the group

items[].storageConsumed

Number

Amount of storage consumed by the group in bytes

items[].blind

Boolean

Do not allow basic read permission members to see each other

items[].disableComments

Boolean

Disable group comments

items[].disableEmailComments

Boolean

Disable comments in e-mail notifications

items[].hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

items[].disableChat

Boolean

Disable chat functionality

items[].dateCreated

Number

Creation date

items[].lastModified

Number

Last modification date

items[].owner

Object

Group creator

items[].branding

Object

Group branding settings

items[].memberDetails

Array

Group members detailed information

items[].memberDetails[].expirationDate

Number

Member expiration date timestamp

items[].memberDetails[].user

Object

Member user information

items[].memberDetails[].permission

Number

Member permission setting

items[].memberDetails[].dateCreated

Number

Member creation timestamp

items[].masterConfigured

Boolean

true when master group is configured

items[].subgroupCount

Number

Number of subgroups configured with this group

items[].contextKey

Object

Context key

items[].contextKey.id

Number

Context key ID

items[].master

Number

Primary group id

items[].components

Array

List of enabled components with configuration

items[].labels

Array

List of attached labels

items[].notificationsConfiguration

Object

Group notifications configuration

items[].notificationsConfiguration.newContent

String

Notify members about new content

items[].notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

items[].notificationsConfiguration.following

String

Disables all notifications for followed content

items[].notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

items[].watermarkConfiguration

Object

Group watermark configuration

items[].watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

items[].watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

items[].watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

items[].watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

items[].watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

items[].watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

items[].watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

items[].watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

items[].components[].name

String

Enabled component name

items[].components[].order

Number

Enabled component ordering index

items[].components[].configuration

Object

Enabled component additional configuration properties

items[].owner.id

Number

User id

items[].owner.name

String

Full name

items[].owner.username

String

Username

items[].owner.logo

Boolean

Profile picture is defined

items[].owner.jobTitle

String

Job title

items[].owner.lastModified

Number

Last modified date

items[].memberDetails[].user.id

Number

User id

items[].memberDetails[].user.name

String

Full name

items[].memberDetails[].user.username

String

Username

items[].memberDetails[].user.logo

Boolean

Profile picture is defined

items[].memberDetails[].user.jobTitle

String

Job title

items[].memberDetails[].user.lastModified

Number

Last modified date

items[].memberDetails[].group.id

Number

User / profile id

items[].memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

items[].memberDetails[].group.friendlyName

String

Full group name, visible to a user

7.4. Get group details

Returns detailed information about a single group.

Table 165. /v3/accounts/{account}/groups/{group}
Parameter Description

account

Account/organisation id

group

Group id

HTTP
GET /v3/accounts/1/groups/1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/groups/1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups/1' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1622

{
  "id" : 1,
  "name" : "explore_clinked",
  "friendlyName" : "Explore Clinked",
  "contextKey" : {
    "id" : 44
  },
  "members" : 0,
  "storageConsumed" : 0,
  "blind" : false,
  "disableChat" : false,
  "disableComments" : false,
  "disableEmailComments" : false,
  "hideMemberDetails" : false,
  "dateCreated" : 1514764800000,
  "lastModified" : 1514764800000,
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "mailKey" : null,
  "hash" : null,
  "branding" : {
    "headerColor" : "#ffffff",
    "textColor" : "#ff0000",
    "logo" : false,
    "background" : false,
    "alignment" : "left",
    "backgroundPositionX" : 50,
    "backgroundPositionY" : 50,
    "hideBackgroundGradient" : false,
    "hideLogoBackground" : false,
    "hideGroupName" : false
  },
  "memberDetails" : [ ],
  "components" : [ {
    "name" : "files",
    "order" : 0,
    "configuration" : { }
  }, {
    "name" : "pages",
    "order" : 1,
    "configuration" : { }
  }, {
    "name" : "events",
    "order" : 2,
    "configuration" : { }
  }, {
    "name" : "tasks",
    "order" : 3,
    "configuration" : { }
  } ],
  "master" : null,
  "masterConfigured" : false,
  "masterConfiguration" : null,
  "watermarkConfiguration" : {
    "enableWatermark" : false,
    "enableWatermarkIp" : false,
    "enableWatermarkEmail" : false,
    "enableWatermarkTimestamp" : false,
    "enableWatermarkCustomText" : false,
    "watermarkCustomText" : null,
    "watermarkStyle" : null,
    "transparentWatermark" : null
  }
}
Table 166. Definition of the returned fields
Path Type Description

id

Number

Group id

friendlyName

String

Group name

name

String

Group unique name/slug

members

Number

Amount of members in the group

storageConsumed

Number

Amount of storage consumed by the group in bytes

blind

Boolean

Do not allow basic read permission members to see each other

disableComments

Boolean

Disable group comments

disableEmailComments

Boolean

Disable comments in e-mail notifications

hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

disableChat

Boolean

Disable chat functionality

dateCreated

Number

Creation date

lastModified

Number

Last modification date

owner

Object

Group creator

branding

Object

Group branding settings

memberDetails

Array

Group members detailed information

memberDetails[].expirationDate

Number

Member expiration date timestamp

memberDetails[].user

Object

Member user information

memberDetails[].permission

Number

Member permission setting

memberDetails[].dateCreated

Number

Member creation timestamp

masterConfigured

Boolean

true when master group is configured

subgroupCount

Number

Number of subgroups configured with this group

contextKey

Object

Context key

contextKey.id

Number

Context key ID

master

Number

Primary group id

components

Array

List of enabled components with configuration

labels

Array

List of attached labels

notificationsConfiguration

Object

Group notifications configuration

notificationsConfiguration.newContent

String

Notify members about new content

notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

notificationsConfiguration.following

String

Disables all notifications for followed content

notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

watermarkConfiguration

Object

Group watermark configuration

watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

components[].name

String

Enabled component name

components[].order

Number

Enabled component ordering index

components[].configuration

Object

Enabled component additional configuration properties

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

memberDetails[].user.id

Number

User id

memberDetails[].user.name

String

Full name

memberDetails[].user.username

String

Username

memberDetails[].user.logo

Boolean

Profile picture is defined

memberDetails[].user.jobTitle

String

Job title

memberDetails[].user.lastModified

Number

Last modified date

memberDetails[].group.id

Number

User / profile id

memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

memberDetails[].group.friendlyName

String

Full group name, visible to a user

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

7.5. Update group

Partially updates group information.

Table 167. /v3/accounts/{account}/groups/{group}
Parameter Description

account

Account/organisation id

group

Group id

HTTP
PATCH /v3/accounts/1/groups/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 776

{
    "friendlyName": "Awesome Group",
    "master": null,
    "blind": false,
    "disableComments": false,
    "disableEmailComments": false,
    "hideMemberDetails": false,
    "components": [{
        "name": "files",
        "order": 1,
        "configuration": {}
    }],
    "notificationsConfiguration": {
        "newContent": "IMMEDIATE",
        "overdueTasks": "DAILY",
        "following": "NEVER",
        "disableEmailComments": false
    },
    "watermarkConfiguration": {
        "enableWatermark": true,
        "enableWatermarkIp": true,
        "enableWatermarkEmail": true,
        "enableWatermarkTimestamp": true,
        "enableWatermarkCustomText": true,
        "watermarkCustomText": "WATERMARKED",
        "watermarkStyle": "DIAGONAL_LARGE"
    }
}
HTTPie
$ echo '{
    "friendlyName": "Awesome Group",
    "master": null,
    "blind": false,
    "disableComments": false,
    "disableEmailComments": false,
    "hideMemberDetails": false,
    "components": [{
        "name": "files",
        "order": 1,
        "configuration": {}
    }],
    "notificationsConfiguration": {
        "newContent": "IMMEDIATE",
        "overdueTasks": "DAILY",
        "following": "NEVER",
        "disableEmailComments": false
    },
    "watermarkConfiguration": {
        "enableWatermark": true,
        "enableWatermarkIp": true,
        "enableWatermarkEmail": true,
        "enableWatermarkTimestamp": true,
        "enableWatermarkCustomText": true,
        "watermarkCustomText": "WATERMARKED",
        "watermarkStyle": "DIAGONAL_LARGE"
    }
}' | http PATCH 'https://api.clinked.com/v3/accounts/1/groups/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups/1' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
    "friendlyName": "Awesome Group",
    "master": null,
    "blind": false,
    "disableComments": false,
    "disableEmailComments": false,
    "hideMemberDetails": false,
    "components": [{
        "name": "files",
        "order": 1,
        "configuration": {}
    }],
    "notificationsConfiguration": {
        "newContent": "IMMEDIATE",
        "overdueTasks": "DAILY",
        "following": "NEVER",
        "disableEmailComments": false
    },
    "watermarkConfiguration": {
        "enableWatermark": true,
        "enableWatermarkIp": true,
        "enableWatermarkEmail": true,
        "enableWatermarkTimestamp": true,
        "enableWatermarkCustomText": true,
        "watermarkCustomText": "WATERMARKED",
        "watermarkStyle": "DIAGONAL_LARGE"
    }
}'
Table 168. Request fields
Path Type Description

name

String

Group unique name/slug

friendlyName

String

Group name

copyFrom

Number

Group ID to duplicate

master

Number

Primary group id

components

Array

List of enabled components with configuration

blind

Boolean

Do not allow basic read permission members to see each other

disableComments

Boolean

Disable group comments

disableEmailComments

Boolean

Disable comments in e-mail notifications

hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

notificationsConfiguration

Object

Group notifications configuration

notificationsConfiguration.newContent

String

Notify members about new content

notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

notificationsConfiguration.following

String

Disables all notifications for followed content

notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

watermarkConfiguration

Object

Group watermark configuration

watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

components[].name

String

Enabled component name

components[].order

Number

Enabled component ordering index

components[].configuration

Object

Enabled component additional configuration properties

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1420

{
  "id" : 1,
  "name" : "explore_clinked",
  "friendlyName" : "Awesome Group",
  "contextKey" : {
    "id" : 839
  },
  "members" : 0,
  "storageConsumed" : 0,
  "blind" : false,
  "disableChat" : false,
  "disableComments" : false,
  "disableEmailComments" : false,
  "hideMemberDetails" : false,
  "dateCreated" : 1514764800000,
  "lastModified" : 1514764800000,
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "mailKey" : null,
  "hash" : null,
  "branding" : {
    "headerColor" : "#ffffff",
    "textColor" : "#ff0000",
    "logo" : false,
    "background" : false,
    "alignment" : "left",
    "backgroundPositionX" : 50,
    "backgroundPositionY" : 50,
    "hideBackgroundGradient" : false,
    "hideLogoBackground" : false,
    "hideGroupName" : false
  },
  "memberDetails" : [ ],
  "components" : [ {
    "name" : "files",
    "order" : 1,
    "configuration" : { }
  } ],
  "master" : null,
  "masterConfigured" : false,
  "masterConfiguration" : null,
  "watermarkConfiguration" : {
    "enableWatermark" : true,
    "enableWatermarkIp" : true,
    "enableWatermarkEmail" : true,
    "enableWatermarkTimestamp" : true,
    "enableWatermarkCustomText" : true,
    "watermarkCustomText" : "WATERMARKED",
    "watermarkStyle" : "DIAGONAL_LARGE",
    "transparentWatermark" : null
  }
}
Table 169. Definition of the returned fields
Path Type Description

id

Number

Group id

friendlyName

String

Group name

name

String

Group unique name/slug

members

Number

Amount of members in the group

storageConsumed

Number

Amount of storage consumed by the group in bytes

blind

Boolean

Do not allow basic read permission members to see each other

disableComments

Boolean

Disable group comments

disableEmailComments

Boolean

Disable comments in e-mail notifications

hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

disableChat

Boolean

Disable chat functionality

dateCreated

Number

Creation date

lastModified

Number

Last modification date

owner

Object

Group creator

branding

Object

Group branding settings

memberDetails

Array

Group members detailed information

memberDetails[].expirationDate

Number

Member expiration date timestamp

memberDetails[].user

Object

Member user information

memberDetails[].permission

Number

Member permission setting

memberDetails[].dateCreated

Number

Member creation timestamp

masterConfigured

Boolean

true when master group is configured

subgroupCount

Number

Number of subgroups configured with this group

contextKey

Object

Context key

contextKey.id

Number

Context key ID

master

Number

Primary group id

components

Array

List of enabled components with configuration

labels

Array

List of attached labels

notificationsConfiguration

Object

Group notifications configuration

notificationsConfiguration.newContent

String

Notify members about new content

notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

notificationsConfiguration.following

String

Disables all notifications for followed content

notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

watermarkConfiguration

Object

Group watermark configuration

watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

components[].name

String

Enabled component name

components[].order

Number

Enabled component ordering index

components[].configuration

Object

Enabled component additional configuration properties

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

memberDetails[].user.id

Number

User id

memberDetails[].user.name

String

Full name

memberDetails[].user.username

String

Username

memberDetails[].user.logo

Boolean

Profile picture is defined

memberDetails[].user.jobTitle

String

Job title

memberDetails[].user.lastModified

Number

Last modified date

memberDetails[].group.id

Number

User / profile id

memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

memberDetails[].group.friendlyName

String

Full group name, visible to a user

7.6. Delete group

Table 170. /v3/accounts/{account}/groups/{group}
Parameter Description

account

Account/organisation id

group

Group id

HTTP
DELETE /v3/accounts/1/groups/1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/accounts/1/groups/1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups/1' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

7.7. Reorder groups

Changes group ordering for all users.

Table 171. /v3/accounts/{account}/groups/order
Parameter Description

account

Account/organisation id

HTTP
PUT /v3/accounts/1/groups/order HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 23

{"items": { "1": "0" }}
HTTPie
$ echo '{"items": { "1": "0" }}' | http PUT 'https://api.clinked.com/v3/accounts/1/groups/order' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups/order' -i -X PUT \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"items": { "1": "0" }}'
Table 172. Request fields
Path Type Description

items

Object

Ordered map of space ids and the order value

Example of a success response
HTTP/1.1 200 OK

7.8. Export group

You can export all group components[files, tasks, ect.]. Content download link will be sent to authenticated user’s email.

Table 173. /v3/groups/{group}/export
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/export HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 63

{"components":["pages","files","discussions","tasks","events"]}
HTTPie
$ echo '{"components":["pages","files","discussions","tasks","events"]}' | http POST 'https://api.clinked.com/v3/groups/1/export' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/export' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"components":["pages","files","discussions","tasks","events"]}'
Table 174. Request fields
Path Type Description

components

Array

List of component names to export: pages, files, discussions, tasks, events

Example of a success response
HTTP/1.1 200 OK

7.9. Duplicate group

Creates a copy of existing group with a different name.

Table 175. /v3/accounts/{account}/groups
Parameter Description

account

Account/organisation id

HTTP
POST /v3/accounts/1/groups HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 61

{
    "friendlyName": "Duplicated group",
    "copyFrom": 1
}
HTTPie
$ echo '{
    "friendlyName": "Duplicated group",
    "copyFrom": 1
}' | http POST 'https://api.clinked.com/v3/accounts/1/groups' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
    "friendlyName": "Duplicated group",
    "copyFrom": 1
}'
Table 176. Request fields
Path Type Description

friendlyName

String

Group name

copyFrom

Number

Group ID to duplicate

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1624

{
  "id" : 2,
  "name" : "explore_clinked",
  "friendlyName" : "Duplicated group",
  "contextKey" : {
    "id" : 868
  },
  "members" : 0,
  "storageConsumed" : 0,
  "blind" : false,
  "disableChat" : false,
  "disableComments" : false,
  "disableEmailComments" : false,
  "hideMemberDetails" : false,
  "dateCreated" : 1514764800000,
  "lastModified" : 1514764800000,
  "owner" : {
    "id" : 1,
    "name" : "Jack Bauer",
    "username" : "jack",
    "logo" : false,
    "jobTitle" : "Marketing",
    "lastModified" : 1514764800000
  },
  "mailKey" : null,
  "hash" : null,
  "branding" : {
    "headerColor" : "#ffffff",
    "textColor" : "#ff0000",
    "logo" : false,
    "background" : false,
    "alignment" : "left",
    "backgroundPositionX" : 50,
    "backgroundPositionY" : 50,
    "hideBackgroundGradient" : false,
    "hideLogoBackground" : false,
    "hideGroupName" : false
  },
  "memberDetails" : [ ],
  "components" : [ {
    "name" : "files",
    "order" : 0,
    "configuration" : { }
  }, {
    "name" : "pages",
    "order" : 1,
    "configuration" : { }
  }, {
    "name" : "events",
    "order" : 2,
    "configuration" : { }
  }, {
    "name" : "tasks",
    "order" : 3,
    "configuration" : { }
  } ],
  "master" : null,
  "masterConfigured" : false,
  "masterConfiguration" : null,
  "watermarkConfiguration" : {
    "enableWatermark" : false,
    "enableWatermarkIp" : false,
    "enableWatermarkEmail" : false,
    "enableWatermarkTimestamp" : false,
    "enableWatermarkCustomText" : false,
    "watermarkCustomText" : null,
    "watermarkStyle" : null,
    "transparentWatermark" : null
  }
}
Table 177. Definition of the returned fields
Path Type Description

id

Number

Group id

friendlyName

String

Group name

name

String

Group unique name/slug

members

Number

Amount of members in the group

storageConsumed

Number

Amount of storage consumed by the group in bytes

blind

Boolean

Do not allow basic read permission members to see each other

disableComments

Boolean

Disable group comments

disableEmailComments

Boolean

Disable comments in e-mail notifications

hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

disableChat

Boolean

Disable chat functionality

dateCreated

Number

Creation date

lastModified

Number

Last modification date

owner

Object

Group creator

branding

Object

Group branding settings

memberDetails

Array

Group members detailed information

memberDetails[].expirationDate

Number

Member expiration date timestamp

memberDetails[].user

Object

Member user information

memberDetails[].permission

Number

Member permission setting

memberDetails[].dateCreated

Number

Member creation timestamp

masterConfigured

Boolean

true when master group is configured

subgroupCount

Number

Number of subgroups configured with this group

contextKey

Object

Context key

contextKey.id

Number

Context key ID

master

Number

Primary group id

components

Array

List of enabled components with configuration

labels

Array

List of attached labels

notificationsConfiguration

Object

Group notifications configuration

notificationsConfiguration.newContent

String

Notify members about new content

notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

notificationsConfiguration.following

String

Disables all notifications for followed content

notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

watermarkConfiguration

Object

Group watermark configuration

watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

components[].name

String

Enabled component name

components[].order

Number

Enabled component ordering index

components[].configuration

Object

Enabled component additional configuration properties

owner.id

Number

User id

owner.name

String

Full name

owner.username

String

Username

owner.logo

Boolean

Profile picture is defined

owner.jobTitle

String

Job title

owner.lastModified

Number

Last modified date

memberDetails[].user.id

Number

User id

memberDetails[].user.name

String

Full name

memberDetails[].user.username

String

Username

memberDetails[].user.logo

Boolean

Profile picture is defined

memberDetails[].user.jobTitle

String

Job title

memberDetails[].user.lastModified

Number

Last modified date

memberDetails[].group.id

Number

User / profile id

memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

memberDetails[].group.friendlyName

String

Full group name, visible to a user

7.10. Members

7.10.1. List members

Table 178. /v3/groups/{group}/members
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/members?name=member&exclude=2&page=1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/members?name=member&exclude=2&page=1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/members?name=member&exclude=2&page=1' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 179. Request parameters
Parameter Description

name

Member name

exclude

Member id’s to exclude

page

Page number

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 2777

{
  "items" : [ {
    "user" : {
      "id" : 1,
      "username" : "jack",
      "enabled" : true,
      "locked" : false,
      "name" : "Jack Bauer",
      "jobTitle" : "Marketing",
      "organisation" : "Clinked",
      "email" : "jack.bauer@clinked.com",
      "address" : "71 Pilgrim Avenue",
      "telephone" : "123456789",
      "other" : null,
      "logo" : false,
      "timeZone" : "UTC",
      "locale" : "en",
      "verifiedEmail" : false,
      "twoFactorAuthentication" : false,
      "twoFactorMode" : null,
      "lastModified" : 1514764800000,
      "dateFormat" : null,
      "twentyFourHourTimeFormat" : false,
      "lastActive" : null
    },
    "permission" : 16,
    "dateCreated" : 1712647478994,
    "expirationDate" : null,
    "group" : {
      "id" : 1,
      "name" : "explore_clinked",
      "friendlyName" : "Explore Clinked",
      "contextKey" : {
        "id" : 390
      },
      "members" : 0,
      "storageConsumed" : 0,
      "blind" : false,
      "disableChat" : false,
      "disableComments" : false,
      "disableEmailComments" : false,
      "hideMemberDetails" : false,
      "dateCreated" : 1514764800000,
      "lastModified" : 1514764800000,
      "owner" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "mailKey" : null,
      "hash" : null,
      "branding" : {
        "headerColor" : "#ffffff",
        "textColor" : "#ff0000",
        "logo" : false,
        "background" : false,
        "alignment" : "left",
        "backgroundPositionX" : 50,
        "backgroundPositionY" : 50,
        "hideBackgroundGradient" : false,
        "hideLogoBackground" : false,
        "hideGroupName" : false
      },
      "components" : [ {
        "name" : "files",
        "order" : 0,
        "configuration" : { }
      }, {
        "name" : "pages",
        "order" : 1,
        "configuration" : { }
      }, {
        "name" : "events",
        "order" : 2,
        "configuration" : { }
      }, {
        "name" : "tasks",
        "order" : 3,
        "configuration" : { }
      } ],
      "master" : null,
      "masterConfigured" : false,
      "masterConfiguration" : null,
      "watermarkConfiguration" : {
        "enableWatermark" : false,
        "enableWatermarkIp" : false,
        "enableWatermarkEmail" : false,
        "enableWatermarkTimestamp" : false,
        "enableWatermarkCustomText" : false,
        "watermarkCustomText" : null,
        "watermarkStyle" : null,
        "transparentWatermark" : null
      }
    }
  } ],
  "currentPage" : 1,
  "totalPages" : 1,
  "pageSize" : 25,
  "totalResults" : 1,
  "nextPage" : false,
  "previousPage" : false
}
Table 180. Definition of the returned fields
Path Type Description

items[].user.id

Number

User id

items[].user.name

String

Full name

items[].user.username

String

Username

items[].user.logo

Boolean

Profile picture is defined

items[].user.jobTitle

String

Job title

items[].user.lastModified

Number

Last modified date

items[].user.enabled

Boolean

Is user enabled

items[].user.locked

Boolean

Is user locked

items[].user.organisation

String

Organisation name

items[].user.email

String

Email address

items[].user.address

String

Address

items[].user.telephone

String

Phone number

items[].user.other

String

Optional other information

items[].user.timeZone

String

Time zone ID

items[].user.locale

String

Locale

items[].user.verifiedEmail

Boolean

Is email verified

items[].user.twoFactorAuthentication

Boolean

Is 2FA enabled

items[].user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

items[].user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

items[].user.lastActive

Number

Date the user was last active

items[].user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

items[].group.id

Number

Group id

items[].group.friendlyName

String

Group name

items[].group.name

String

Group unique name/slug

items[].group.members

Number

Amount of members in the group

items[].group.storageConsumed

Number

Amount of storage consumed by the group in bytes

items[].group.blind

Boolean

Do not allow basic read permission members to see each other

items[].group.disableComments

Boolean

Disable group comments

items[].group.disableEmailComments

Boolean

Disable comments in e-mail notifications

items[].group.hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

items[].group.disableChat

Boolean

Disable chat functionality

items[].group.dateCreated

Number

Creation date

items[].group.lastModified

Number

Last modification date

items[].group.owner

Object

Group creator

items[].group.branding

Object

Group branding settings

items[].group.memberDetails

Array

Group members detailed information

items[].group.memberDetails[].expirationDate

Number

Member expiration date timestamp

items[].group.memberDetails[].user

Object

Member user information

items[].group.memberDetails[].permission

Number

Member permission setting

items[].group.memberDetails[].dateCreated

Number

Member creation timestamp

items[].group.masterConfigured

Boolean

true when master group is configured

items[].group.subgroupCount

Number

Number of subgroups configured with this group

items[].group.contextKey

Object

Context key

items[].group.contextKey.id

Number

Context key ID

items[].group.master

Number

Primary group id

items[].group.components

Array

List of enabled components with configuration

items[].group.labels

Array

List of attached labels

items[].group.notificationsConfiguration

Object

Group notifications configuration

items[].group.notificationsConfiguration.newContent

String

Notify members about new content

items[].group.notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

items[].group.notificationsConfiguration.following

String

Disables all notifications for followed content

items[].group.notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

items[].group.watermarkConfiguration

Object

Group watermark configuration

items[].group.watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

items[].group.watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

items[].group.watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

items[].group.watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

items[].group.watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

items[].group.watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

items[].group.watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

items[].group.watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

items[].group.components[].name

String

Enabled component name

items[].group.components[].order

Number

Enabled component ordering index

items[].group.components[].configuration

Object

Enabled component additional configuration properties

items[].group.owner.id

Number

User id

items[].group.owner.name

String

Full name

items[].group.owner.username

String

Username

items[].group.owner.logo

Boolean

Profile picture is defined

items[].group.owner.jobTitle

String

Job title

items[].group.owner.lastModified

Number

Last modified date

items[].group.memberDetails[].user.id

Number

User id

items[].group.memberDetails[].user.name

String

Full name

items[].group.memberDetails[].user.username

String

Username

items[].group.memberDetails[].user.logo

Boolean

Profile picture is defined

items[].group.memberDetails[].user.jobTitle

String

Job title

items[].group.memberDetails[].user.lastModified

Number

Last modified date

items[].group.memberDetails[].group.id

Number

User / profile id

items[].group.memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

items[].group.memberDetails[].group.friendlyName

String

Full group name, visible to a user

items[].permission

double

Group member permission

items[].dateCreated

double

Group member creation timestamp

items[].expirationDate

double

Group member expiration timestamp

items

Array

Page items

currentPage

Number

Current page number

pageSize

Number

Current page size

nextPage

Boolean

Next page available

previousPage

Boolean

Previous page available

totalPages

Number

Amount of available pages

totalResults

Number

Total results

7.10.2. Get member details

Table 181. /v3/groups/{group}/members/{member}
Parameter Description

group

Group id

member

Member id

HTTP
GET /v3/groups/1/members/1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/members/1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/members/1' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 2461

{
  "user" : {
    "id" : 1,
    "username" : "jack",
    "enabled" : true,
    "locked" : false,
    "name" : "Jack Bauer",
    "jobTitle" : "Marketing",
    "organisation" : "Clinked",
    "email" : "jack.bauer@clinked.com",
    "address" : "71 Pilgrim Avenue",
    "telephone" : "123456789",
    "other" : null,
    "logo" : false,
    "timeZone" : "UTC",
    "locale" : "en",
    "verifiedEmail" : false,
    "twoFactorAuthentication" : false,
    "twoFactorMode" : null,
    "lastModified" : 1514764800000,
    "dateFormat" : null,
    "twentyFourHourTimeFormat" : false,
    "lastActive" : null
  },
  "permission" : 16,
  "dateCreated" : 1712647478888,
  "expirationDate" : null,
  "restrictedApps" : [ ],
  "group" : {
    "id" : 1,
    "name" : "explore_clinked",
    "friendlyName" : "Explore Clinked",
    "contextKey" : {
      "id" : 986
    },
    "members" : 0,
    "storageConsumed" : 0,
    "blind" : false,
    "disableChat" : false,
    "disableComments" : false,
    "disableEmailComments" : false,
    "hideMemberDetails" : false,
    "dateCreated" : 1514764800000,
    "lastModified" : 1514764800000,
    "owner" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "mailKey" : null,
    "hash" : null,
    "branding" : {
      "headerColor" : "#ffffff",
      "textColor" : "#ff0000",
      "logo" : false,
      "background" : false,
      "alignment" : "left",
      "backgroundPositionX" : 50,
      "backgroundPositionY" : 50,
      "hideBackgroundGradient" : false,
      "hideLogoBackground" : false,
      "hideGroupName" : false
    },
    "components" : [ {
      "name" : "files",
      "order" : 0,
      "configuration" : { }
    }, {
      "name" : "pages",
      "order" : 1,
      "configuration" : { }
    }, {
      "name" : "events",
      "order" : 2,
      "configuration" : { }
    }, {
      "name" : "tasks",
      "order" : 3,
      "configuration" : { }
    } ],
    "master" : null,
    "masterConfigured" : false,
    "masterConfiguration" : null,
    "watermarkConfiguration" : {
      "enableWatermark" : false,
      "enableWatermarkIp" : false,
      "enableWatermarkEmail" : false,
      "enableWatermarkTimestamp" : false,
      "enableWatermarkCustomText" : false,
      "watermarkCustomText" : null,
      "watermarkStyle" : null,
      "transparentWatermark" : null
    }
  }
}
Table 182. Definition of the returned fields
Path Type Description

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.enabled

Boolean

Is user enabled

user.locked

Boolean

Is user locked

user.organisation

String

Organisation name

user.email

String

Email address

user.address

String

Address

user.telephone

String

Phone number

user.other

String

Optional other information

user.timeZone

String

Time zone ID

user.locale

String

Locale

user.verifiedEmail

Boolean

Is email verified

user.twoFactorAuthentication

Boolean

Is 2FA enabled

user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

user.lastActive

Number

Date the user was last active

user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

group.id

Number

Group id

group.friendlyName

String

Group name

group.name

String

Group unique name/slug

group.members

Number

Amount of members in the group

group.storageConsumed

Number

Amount of storage consumed by the group in bytes

group.blind

Boolean

Do not allow basic read permission members to see each other

group.disableComments

Boolean

Disable group comments

group.disableEmailComments

Boolean

Disable comments in e-mail notifications

group.hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

group.disableChat

Boolean

Disable chat functionality

group.dateCreated

Number

Creation date

group.lastModified

Number

Last modification date

group.owner

Object

Group creator

group.branding

Object

Group branding settings

group.memberDetails

Array

Group members detailed information

group.memberDetails[].expirationDate

Number

Member expiration date timestamp

group.memberDetails[].user

Object

Member user information

group.memberDetails[].permission

Number

Member permission setting

group.memberDetails[].dateCreated

Number

Member creation timestamp

group.masterConfigured

Boolean

true when master group is configured

group.subgroupCount

Number

Number of subgroups configured with this group

group.contextKey

Object

Context key

group.contextKey.id

Number

Context key ID

group.master

Number

Primary group id

group.components

Array

List of enabled components with configuration

group.labels

Array

List of attached labels

group.notificationsConfiguration

Object

Group notifications configuration

group.notificationsConfiguration.newContent

String

Notify members about new content

group.notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

group.notificationsConfiguration.following

String

Disables all notifications for followed content

group.notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

group.watermarkConfiguration

Object

Group watermark configuration

group.watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

group.watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

group.watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

group.watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

group.watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

group.watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

group.watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

group.watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

group.components[].name

String

Enabled component name

group.components[].order

Number

Enabled component ordering index

group.components[].configuration

Object

Enabled component additional configuration properties

group.owner.id

Number

User id

group.owner.name

String

Full name

group.owner.username

String

Username

group.owner.logo

Boolean

Profile picture is defined

group.owner.jobTitle

String

Job title

group.owner.lastModified

Number

Last modified date

group.memberDetails[].user.id

Number

User id

group.memberDetails[].user.name

String

Full name

group.memberDetails[].user.username

String

Username

group.memberDetails[].user.logo

Boolean

Profile picture is defined

group.memberDetails[].user.jobTitle

String

Job title

group.memberDetails[].user.lastModified

Number

Last modified date

group.memberDetails[].group.id

Number

User / profile id

group.memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

group.memberDetails[].group.friendlyName

String

Full group name, visible to a user

permission

double

Group member permission

dateCreated

double

Group member creation timestamp

expirationDate

double

Group member expiration timestamp

restrictedApps

2003

Array of restricted app client id’s

7.10.3. Update member

Update group permission or date till which member can access group.

Table 183. /v3/groups/{group}/members/{member}
Parameter Description

group

Group id

member

Member id

HTTP
PATCH /v3/groups/1/members/1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 38

{"permission":4,"expirationDate":null}
HTTPie
$ echo '{"permission":4,"expirationDate":null}' | http PATCH 'https://api.clinked.com/v3/groups/1/members/1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/members/1' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"permission":4,"expirationDate":null}'
Table 184. Request fields
Path Type Description

permission

double

New permission

expirationDate

double

Expiration date if user is a temporary member

Table 185. Definition of the returned fields
Path Type Description

user.id

Number

User id

user.name

String

Full name

user.username

String

Username

user.logo

Boolean

Profile picture is defined

user.jobTitle

String

Job title

user.lastModified

Number

Last modified date

user.enabled

Boolean

Is user enabled

user.locked

Boolean

Is user locked

user.organisation

String

Organisation name

user.email

String

Email address

user.address

String

Address

user.telephone

String

Phone number

user.other

String

Optional other information

user.timeZone

String

Time zone ID

user.locale

String

Locale

user.verifiedEmail

Boolean

Is email verified

user.twoFactorAuthentication

Boolean

Is 2FA enabled

user.twoFactorMode

String

2FA mode: [AUTHENTICATOR, SMS, EMAIL]

user.twentyFourHourTimeFormat

Boolean

Time format preference - 24hr or 12hr format

user.lastActive

Number

Date the user was last active

user.dateFormat

Boolean

Date format preference - YMD (Year-Month-Day), MDY (Month/Day/Year) or DMY(Day/Month/Year)

group.id

Number

Group id

group.friendlyName

String

Group name

group.name

String

Group unique name/slug

group.members

Number

Amount of members in the group

group.storageConsumed

Number

Amount of storage consumed by the group in bytes

group.blind

Boolean

Do not allow basic read permission members to see each other

group.disableComments

Boolean

Disable group comments

group.disableEmailComments

Boolean

Disable comments in e-mail notifications

group.hideMemberDetails

Boolean

Hide sensitive member profile details such as email address, phone number, etc.

group.disableChat

Boolean

Disable chat functionality

group.dateCreated

Number

Creation date

group.lastModified

Number

Last modification date

group.owner

Object

Group creator

group.branding

Object

Group branding settings

group.memberDetails

Array

Group members detailed information

group.memberDetails[].expirationDate

Number

Member expiration date timestamp

group.memberDetails[].user

Object

Member user information

group.memberDetails[].permission

Number

Member permission setting

group.memberDetails[].dateCreated

Number

Member creation timestamp

group.masterConfigured

Boolean

true when master group is configured

group.subgroupCount

Number

Number of subgroups configured with this group

group.contextKey

Object

Context key

group.contextKey.id

Number

Context key ID

group.master

Number

Primary group id

group.components

Array

List of enabled components with configuration

group.labels

Array

List of attached labels

group.notificationsConfiguration

Object

Group notifications configuration

group.notificationsConfiguration.newContent

String

Notify members about new content

group.notificationsConfiguration.overdueTasks

String

Notify members about overdue tasks

group.notificationsConfiguration.following

String

Disables all notifications for followed content

group.notificationsConfiguration.disableEmailComments

Boolean

Disables user content in email notifications such as comment text

group.watermarkConfiguration

Object

Group watermark configuration

group.watermarkConfiguration.enableWatermark

Boolean

Enable watermarking across group

group.watermarkConfiguration.enableWatermarkIp

Boolean

Show user IP on the watermark

group.watermarkConfiguration.enableWatermarkEmail

Boolean

Show user email on the watermark

group.watermarkConfiguration.enableWatermarkTimestamp

Boolean

Show the timestamp on the watermark

group.watermarkConfiguration.enableWatermarkCustomText

Boolean

Show custom text on the watermark

group.watermarkConfiguration.transparentWatermark

Boolean

Watermark text is more transparent

group.watermarkConfiguration.watermarkCustomText

String

Custom text to show on watermark

group.watermarkConfiguration.watermarkStyle

String

Custom text to show on watermark

group.components[].name

String

Enabled component name

group.components[].order

Number

Enabled component ordering index

group.components[].configuration

Object

Enabled component additional configuration properties

group.owner.id

Number

User id

group.owner.name

String

Full name

group.owner.username

String

Username

group.owner.logo

Boolean

Profile picture is defined

group.owner.jobTitle

String

Job title

group.owner.lastModified

Number

Last modified date

group.memberDetails[].user.id

Number

User id

group.memberDetails[].user.name

String

Full name

group.memberDetails[].user.username

String

Username

group.memberDetails[].user.logo

Boolean

Profile picture is defined

group.memberDetails[].user.jobTitle

String

Job title

group.memberDetails[].user.lastModified

Number

Last modified date

group.memberDetails[].group.id

Number

User / profile id

group.memberDetails[].group.name

String

Group name slug, used for internal identification and URIs

group.memberDetails[].group.friendlyName

String

Full group name, visible to a user

permission

double

Group member permission

dateCreated

double

Group member creation timestamp

expirationDate

double

Group member expiration timestamp

7.10.4. Remove member

Table 186. /v3/groups/{group}/members/{member}
Parameter Description

group

Group id

member

Member id

HTTP
DELETE /v3/groups/1/members/1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/members/1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/members/1' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

7.11. Invites

This section shows how admins can manage group invitations.

7.11.1. List invites

Table 187. /v3/groups/{group}/invites
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/invites HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/invites' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/invites' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 188. Request parameters
Parameter Description

startsWith

Filter by name that starts with text

name

Filter by name

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 202

[ {
  "id" : 1,
  "email" : "jack.bauer@clinked.com",
  "permission" : 1,
  "expirationDate" : 1712647480096,
  "inviteKey" : "e19e3297-0cfd-4cd3-af75-1ade8cb0b3c5",
  "lastModified" : 1712647480096
} ]
Table 189. Definition of the returned fields
Path Type Description

[].id

Number

Invite id

[].email

String

Email address

[].permission

Number

Group permission

[].expirationDate

Number

Membership expiration date

[].inviteKey

String

Invitation key

[].lastModified

Number

Last modified date

7.11.2. Get invite details

Table 190. /v3/groups/{group}/invites/{invite}
Parameter Description

group

Group id

invite

Invite id

HTTP
GET /v3/groups/1/invites/1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/invites/1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/invites/1' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 198

{
  "id" : 1,
  "email" : "jack.bauer@clinked.com",
  "permission" : 1,
  "expirationDate" : 1712647480598,
  "inviteKey" : "f9a71bf8-51b5-45bf-b0ed-a8fe562d0587",
  "lastModified" : 1712647480598
}
Table 191. Definition of the returned fields
Path Type Description

id

Number

Invite id

email

String

Email address

permission

Number

Group permission

expirationDate

Number

Membership expiration date

inviteKey

String

Invitation key

lastModified

Number

Last modified date

7.11.3. Invite a new member

Invites a new member to a group.

Table 192. /v3/groups/{group}/invites
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/invites HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 236

{"emails":["jack@clinked.com","bob@clinked.com"],"message":"Accepting this invite means that you will be able to create & share content, manage tasks and schedule events in a secure environment.","expirationTime":3600000,"permission":4}
HTTPie
$ echo '{"emails":["jack@clinked.com","bob@clinked.com"],"message":"Accepting this invite means that you will be able to create & share content, manage tasks and schedule events in a secure environment.","expirationTime":3600000,"permission":4}' | http POST 'https://api.clinked.com/v3/groups/1/invites' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/invites' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"emails":["jack@clinked.com","bob@clinked.com"],"message":"Accepting this invite means that you will be able to create & share content, manage tasks and schedule events in a secure environment.","expirationTime":3600000,"permission":4}'
Table 193. Request fields
Path Type Description

emails

Array

List of email addresses to invite

message

String

Message to send with an invite

expirationTime

Number

Expiration time in milliseconds. This is a relative time, not a timestamp.

permission

Number

Group permission

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 389

[ {
  "id" : 1,
  "email" : "jack@clinked.com",
  "permission" : 4,
  "expirationDate" : 1712651080355,
  "inviteKey" : "3d9ba7f9-c66e-4d78-8e61-5286d159e8e1",
  "lastModified" : 1712647480355
}, {
  "id" : 2,
  "email" : "bob@clinked.com",
  "permission" : 4,
  "expirationDate" : 1712651080355,
  "inviteKey" : "76519954-0f23-4463-8547-ed04b6df8236",
  "lastModified" : 1712647480355
} ]
Table 194. Definition of the returned fields
Path Type Description

[].id

Number

Invite id

[].email

String

Email address

[].permission

Number

Group permission

[].expirationDate

Number

Membership expiration date

[].inviteKey

String

Invitation key

[].lastModified

Number

Last modified date

7.11.4. Update invite

Partially updates an invitation.

Table 195. /v3/groups/{group}/invites/{invite}
Parameter Description

group

Group id

invite

Invite id

HTTP
PATCH /v3/groups/1/invites/1 HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 17

{"permission":16}
HTTPie
$ echo '{"permission":16}' | http PATCH 'https://api.clinked.com/v3/groups/1/invites/1' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/invites/1' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"permission":16}'
Table 196. Request fields
Path Type Description

permission

Number

Permission mask

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 199

{
  "id" : 1,
  "email" : "jack.bauer@clinked.com",
  "permission" : 16,
  "expirationDate" : 1712647480633,
  "inviteKey" : "fd0c7191-4474-4aa7-af42-a0800710349e",
  "lastModified" : 1712647480633
}
Table 197. Definition of the returned fields
Path Type Description

id

Number

Invite id

email

String

Email address

permission

Number

Group permission

expirationDate

Number

Membership expiration date

inviteKey

String

Invitation key

lastModified

Number

Last modified date

7.11.5. Delete an invitation

Table 198. /v3/groups/{group}/invites/{invite}
Parameter Description

group

Group id

invite

Invite id

HTTP
DELETE /v3/groups/1/invites/1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/invites/1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/invites/1' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

7.12. Group trash

Group trash contains removed group content. It can be used to restore removed data or delete it permanently to free up available space.

7.12.1. List trash items

Table 199. /v3/groups/{group}/trash
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/trash?page=1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/trash?page=1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/trash?page=1' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 200. Request parameters
Parameter Description

page

Page number to load

orderBy

Order field

ascending

Ascending order direction

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 443

{
  "items" : [ {
    "id" : 1,
    "type" : "page",
    "friendlyName" : "Home Page",
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dateDeleted" : 1712647483387
  } ],
  "currentPage" : 1,
  "totalPages" : 1,
  "pageSize" : 25,
  "totalResults" : 1,
  "nextPage" : false,
  "previousPage" : false
}
Table 201. Definition of the returned fields
Path Type Description

currentPage

Number

Current page

pageSize

Number

Entries per page

nextPage

Boolean

Next page exists

previousPage

Boolean

Previous page exists

totalPages

Number

Total amount of available pages

totalResults

Number

Total amount of results

items

Array

List of trash items

items[].id

Number

Trash entry id

items[].dateDeleted

Number

Date of removal

items[].user

Object

User who removed an entity

items[].id

Number

File id

items[].type

String

Component entry content type

items[].friendlyName

String

Component entry full name

items[].user

Object

User who removed it

items[].dateDeleted

Number

Removal timestamp

items[].user.id

Number

User / profile id

items[].user.name

String

Full name

items[].user.username

String

Username

items[].user.logo

Boolean

Avatar available

items[].user.jobTitle

String

Job title

items[].user.lastModified

Number

Last profile update date

7.12.2. Permanently delete trash item

You can’t undo this action. Once you delete an item from trash bin, it will be lost forever.
Table 202. /v3/groups/{group}/trash/{item}
Parameter Description

group

Group id

item

Item id

HTTP
DELETE /v3/groups/1/trash/1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/trash/1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/trash/1' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

7.12.3. Permanently delete multiple trash items

Permanently deletes multiple trash items in one request.

You can’t undo this action. Once you delete an item from trash bin, it will be lost forever.
Table 203. /v3/groups/{group}/trash
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/trash HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 57

{"action": "delete", "items":[1,2,3], "processAll":false}
HTTPie
$ echo '{"action": "delete", "items":[1,2,3], "processAll":false}' | http POST 'https://api.clinked.com/v3/groups/1/trash' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/trash' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"action": "delete", "items":[1,2,3], "processAll":false}'
Table 204. Request fields
Path Type Description

action

String

Restore or delete

items

Array

List of trash entry id to delete

processAll

Boolean

Should delete all items in trash

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 922

{
  "success" : [ {
    "id" : 1,
    "type" : "page",
    "friendlyName" : "Home Page",
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dateDeleted" : 1712647483486
  }, {
    "id" : 2,
    "type" : "page",
    "friendlyName" : "Home Page",
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dateDeleted" : 1712647483486
  }, {
    "id" : 3,
    "type" : "page",
    "friendlyName" : "Home Page",
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dateDeleted" : 1712647483489
  } ],
  "error" : [ ]
}
Table 205. Definition of the returned fields
Path Type Description

success

Array

List of deleted item id

error

Array

Amount of item ids that were failed to delete

success[].id

Number

File id

success[].type

String

Component entry content type

success[].friendlyName

String

Component entry full name

success[].user

Object

User who removed it

success[].dateDeleted

Number

Removal timestamp

success[].user.id

Number

User / profile id

success[].user.name

String

Full name

success[].user.username

String

Username

success[].user.logo

Boolean

Avatar available

success[].user.jobTitle

String

Job title

success[].user.lastModified

Number

Last profile update date

7.12.4. Restore trash item

Restores trash item back to its original location.

Table 206. /v3/groups/{group}/trash
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/trash HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 38

{"action": "restore", "items":[1,2,3]}
HTTPie
$ echo '{"action": "restore", "items":[1,2,3]}' | http POST 'https://api.clinked.com/v3/groups/1/trash' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/trash' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"action": "restore", "items":[1,2,3]}'
Table 207. Request fields
Path Type Description

action

String

Restore or delete

items

Array

List of trash entry id to restore

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 922

{
  "success" : [ {
    "id" : 1,
    "type" : "page",
    "friendlyName" : "Home Page",
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dateDeleted" : 1712647483357
  }, {
    "id" : 2,
    "type" : "page",
    "friendlyName" : "Home Page",
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dateDeleted" : 1712647483358
  }, {
    "id" : 3,
    "type" : "page",
    "friendlyName" : "Home Page",
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "dateDeleted" : 1712647483358
  } ],
  "error" : [ ]
}
Table 208. Definition of the returned fields
Path Type Description

success

Array

Restored items

error

Array

Items that were failed to restore

success[].id

Number

File id

success[].type

String

Component entry content type

success[].friendlyName

String

Component entry full name

success[].user

Object

User who removed it

success[].dateDeleted

Number

Removal timestamp

success[].user.id

Number

User / profile id

success[].user.name

String

Full name

success[].user.username

String

Username

success[].user.logo

Boolean

Avatar available

success[].user.jobTitle

String

Job title

success[].user.lastModified

Number

Last profile update date

7.12.5. Trash progress

After removing all items from trash, with "processAll" You can follow the progress.

Table 209. /v3/groups/{group}/trash/progress
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/trash/progress HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/trash/progress' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/trash/progress' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 24

{
  "progress" : 18.18
}
Table 210. Definition of the returned fields
Path Type Description

progress

Number

Progress percentage

7.13. Branding

7.13.1. Update/Create branding

Table 211. /v3/groups/{group}/branding
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/branding HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 245

{"logoFile":null,"backgroundFile":null,"logo":false,"background":false,"headerColor":"#27ae60","backgroundPositionX":50,"backgroundPositionY":50,"alignment":"center","hideBackgroundGradient":false,"hideLogoBackground":true,"hideGroupName":false}
HTTPie
$ echo '{"logoFile":null,"backgroundFile":null,"logo":false,"background":false,"headerColor":"#27ae60","backgroundPositionX":50,"backgroundPositionY":50,"alignment":"center","hideBackgroundGradient":false,"hideLogoBackground":true,"hideGroupName":false}' | http POST 'https://api.clinked.com/v3/groups/1/branding' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/branding' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"logoFile":null,"backgroundFile":null,"logo":false,"background":false,"headerColor":"#27ae60","backgroundPositionX":50,"backgroundPositionY":50,"alignment":"center","hideBackgroundGradient":false,"hideLogoBackground":true,"hideGroupName":false}'
Table 212. Request fields
Path Type Description

headerColor

String

Header color

logo

Boolean

Has custom logo

background

Boolean

Has custom background

alignment

String

Logo alignment

backgroundPositionX

Number

Background X position

backgroundPositionY

Number

Background Y position

hideBackgroundGradient

Boolean

Is background gradient hidden

hideLogoBackground

Boolean

Is logo gradient hidden

hideGroupName

Boolean

Is group name hidden

logoFile

Number

Temp file id

backgroundFile

Number

Temp file id

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 279

{
  "headerColor" : "#dfdfdf",
  "textColor" : "#000000",
  "logo" : false,
  "background" : false,
  "alignment" : "left",
  "backgroundPositionX" : 50,
  "backgroundPositionY" : 50,
  "hideBackgroundGradient" : false,
  "hideLogoBackground" : false,
  "hideGroupName" : false
}
Table 213. Definition of the returned fields
Path Type Description

headerColor

String

Header color

textColor

String

Text color

logo

Boolean

Has custom logo

background

Boolean

Has custom background

alignment

String

Logo alignment

backgroundPositionX

Number

Background X position

backgroundPositionY

Number

Background Y position

hideBackgroundGradient

Boolean

Is background gradient hidden

hideLogoBackground

Boolean

Is logo gradient hidden

hideGroupName

Boolean

Is group name hidden

7.14. Components

7.14.1. List components

Table 214. /v3/accounts/{organisation}/groups/{group}/components
Parameter Description

organisation

Organisation id

group

Group name

HTTP
GET /v3/accounts/1/groups/1/components HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/accounts/1/groups/1/components' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/accounts/1/groups/1/components' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 144

[ {
  "name" : "files",
  "beta" : false,
  "title" : "Files",
  "description" : "Share and track versions of files",
  "iconName" : "files"
} ]
Table 215. Definition of the returned fields
Path Type Description

[]name

String

Component name

[]beta

Boolean

Component release status is beta

[]title

String

Component title

[]description

String

Component description

[]iconName

String

Component icon name

7.15. Group labels

The Group Labeling feature enables users to create and categorize groups by adding custom labels. This enhances organization and accessibility, allowing users to quickly identify and manage their groups, making the overall experience more streamlined and user-friendly.

This section shows how to create and manage your group labels.

7.15.1. List labels

Returns list of labels.

Table 216. /v3/groups/{group}/labels
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/labels HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/labels' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/labels' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 58

[ {
  "id" : 1,
  "name" : "dummyLabel",
  "order" : 0
} ]
Table 217. Definition of the returned fields
Path Type Description

[]id

Number

Label id

[]name

String

Label name

[]order

Number

Order number

7.15.2. Attach label

Attach label to group.

Table 218. /v3/groups/{group}/labels
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/labels HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 36

{"items":[{"label":1,"order":null}]}
HTTPie
$ echo '{"items":[{"label":1,"order":null}]}' | http POST 'https://api.clinked.com/v3/groups/1/labels' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/labels' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"items":[{"label":1,"order":null}]}'
Table 219. Request fields
Path Type Description

items

Array

List of order entries

items[].label

Number

Label id

items[].order

Number

Order

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 105

{
  "attached" : [ {
    "id" : 1,
    "name" : "dummyLabel",
    "order" : 0
  } ],
  "failures" : [ ]
}
Table 220. Definition of the returned fields
Path Type Description

attached[]id

Number

Label id

attached[]name

String

Label name

attached[]order

Number

Order number

failures[]

Array

Failed labels, same fields as attached ones

7.15.3. Remove label

Removes label from group.

Table 221. /v3/groups/{group}/labels/{label}
Parameter Description

group

Group id

label

Label id

HTTP
DELETE /v3/groups/1/labels/1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/labels/1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/labels/1' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

7.15.4. Remove all labels

Removes all labels from group

Table 222. /v3/groups/{group}/labels
Parameter Description

group

Group id

HTTP
DELETE /v3/groups/1/labels HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/labels' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/labels' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

7.16. Announcements

For more information about the feature itself, see our Help Center page.

7.16.1. List announcements

Table 223. /v3/groups/{group}/announcements
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/announcements HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/announcements' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/announcements' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 130

[ {
  "id" : "xyz",
  "title" : "title",
  "body" : "body",
  "colour" : "success",
  "propagate" : false,
  "inherit" : false
} ]
Table 224. Definition of the returned fields
Path Type Description

[].id

String

Announcement id

[].title

String

Announcement title

[].body

String

Announcement body

[].colour

String

Announcement colour

[].propagate

Boolean

Propagate the announcement as the default value

[].inherit

Boolean

The announcement is inherited from account level

7.16.2. Single announcement

Table 225. /v3/groups/{group}/announcements
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/announcements?id=xyz HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/announcements?id=xyz' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/announcements?id=xyz' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 110

{
  "title" : "title",
  "body" : "body",
  "colour" : "success",
  "propagate" : false,
  "inherit" : false
}
Table 226. Definition of the returned fields
Path Type Description

.id

String

Announcement id

.title

String

Announcement title

.body

String

Announcement body

.colour

String

Announcement colour

.propagate

Boolean

Propagate the announcement as the default value

.inherit

Boolean

The announcement is inherited from account level

7.16.3. Create/Update announcement

Table 227. /v3/groups/{group}/announcements
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/announcements HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 66

{"id": "test","title": "title","body": "body","colour": "success"}
HTTPie
$ echo '{"id": "test","title": "title","body": "body","colour": "success"}' | http POST 'https://api.clinked.com/v3/groups/1/announcements' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/announcements' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{"id": "test","title": "title","body": "body","colour": "success"}'
Table 228. Request parameters
Parameter Description

id

Specific announcement by the ID (same as dashboard widget id)

Table 229. Request fields
Path Type Description

id

String

Announcement id

title

String

Announcement title

body

String

Announcement body

colour

String

Announcement colour

Example of a success response
{
  "id" : "test",
  "title" : "title",
  "body" : "body",
  "colour" : "success",
  "propagate" : false,
  "inherit" : false
}
Table 230. Definition of the returned fields
Path Type Description

.id

String

Announcement id

.title

String

Announcement title

.body

String

Announcement body

.colour

String

Announcement colour

.propagate

Boolean

Propagate the announcement as the default value

.inherit

Boolean

The announcement is inherited from account level

7.16.4. Delete announcement

Table 231. /v3/groups/{group}/announcements
Parameter Description

group

Group id

HTTP
DELETE /v3/groups/1/announcements HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/announcements' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/announcements' -i -X DELETE \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 232. Request parameters
Parameter Description

id

Specific announcement id, if not provided main announcement will be deleted

Example of a success response
HTTP/1.1 200 OK

7.17. Properties

7.17.1. List properties

Table 233. /v3/groups/{group}/properties
Parameter Description

group

Group ID

HTTP
GET /v3/groups/1/properties?startsWith=test HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/properties?startsWith=test' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/properties?startsWith=test' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 234. Request parameters
Parameter Description

startsWith

Property prefix

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 46

[ {
  "name" : "name",
  "value" : "value"
} ]
Table 235. Definition of the returned fields
Path Type Description

[].name

String

property name

[].value

String

property value

7.17.2. Create property

Table 236. /v3/groups/{group}/properties
Parameter Description

group

Group ID

HTTP
POST /v3/groups/1/properties HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 38

{
  "name": "test",
  "value": "123"
}
HTTPie
$ echo '{
  "name": "test",
  "value": "123"
}' | http POST 'https://api.clinked.com/v3/groups/1/properties' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/properties' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "name": "test",
  "value": "123"
}'
Table 237. Request fields
Path Type Description

name

String

property name

value

String

property value

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 40

{
  "name" : "test",
  "value" : "123"
}
Table 238. Definition of the returned fields
Path Type Description

name

String

property name

value

String

property value

7.17.3. Delete property

Table 239. /v3/groups/{group}/properties/{name}
Parameter Description

group

Group ID

name

Property name

HTTP
DELETE /v3/groups/1/properties/test HTTP/1.1
Content-Type: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/properties/test' \
    'Content-Type:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/properties/test' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

7.18. Mail recipients

For uploading files trough email, You can create custom usernames for group or folder. If username is created only for group the result will be "yourGroupUsername-[folderId]@yourDomain.com"

7.18.1. Get recipient username

Return username for group/folder.

Table 240. /v3/groups/{group}/incoming-mail-recipients
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/incoming-mail-recipients?contentContext=file_1 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients?contentContext=file_1' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients?contentContext=file_1' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 241. Request parameters
Parameter Description

contentContext

file context key i.e. file_{fileId}

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 234

[ {
  "id" : 1,
  "recipient" : "awesome username",
  "space" : {
    "id" : 1,
    "name" : "explore_clinked",
    "friendlyName" : "Explore Clinked"
  },
  "contentContext" : {
    "id" : 722
  },
  "dateCreated" : 1514764800000
} ]
Table 242. Definition of the returned fields
Path Type Description

[].id

Number

Recipient id

[].recipient

String

Email username

[].dateCreated

Number

Date created

[].contentContext.id

Number

content context id

[].space.id

Number

User / profile id

[].space.name

String

Group name slug, used for internal identification and URIs

[].space.friendlyName

String

Full group name, visible to a user

7.18.2. Create recipient username

Table 243. /v3/groups/{group}/incoming-mail-recipients
Parameter Description

group

Group id

HTTP
POST /v3/groups/1/incoming-mail-recipients HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 61

{
  "recipient" : "customUsername",
  "contentContext" : 22
}
HTTPie
$ echo '{
  "recipient" : "customUsername",
  "contentContext" : 22
}' | http POST 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "recipient" : "customUsername",
  "contentContext" : 22
}'
Table 244. Request fields
Path Type Description

recipient

String

Recipient name

contentContext

Number

Folder context key id

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 231

{
  "id" : null,
  "recipient" : "customUsername",
  "space" : {
    "id" : 1,
    "name" : "explore_clinked",
    "friendlyName" : "Explore Clinked"
  },
  "contentContext" : {
    "id" : 299
  },
  "dateCreated" : 1712647485638
}

7.18.3. Update recipient username

Table 245. /v3/groups/{group}/incoming-mail-recipients/{recipient}
Parameter Description

group

Group id

recipient

Recipient id

HTTP
PATCH /v3/groups/1/incoming-mail-recipients/1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
Content-Length: 34

{
  "recipient" : "newRecipient"
}
HTTPie
$ echo '{
  "recipient" : "newRecipient"
}' | http PATCH 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients/1' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients/1' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>' \
    -d '{
  "recipient" : "newRecipient"
}'
Table 246. Request fields
Path Type Description

recipient

String

Recipient name

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 226

{
  "id" : 1,
  "recipient" : "newRecipient",
  "space" : {
    "id" : 1,
    "name" : "explore_clinked",
    "friendlyName" : "Explore Clinked"
  },
  "contentContext" : {
    "id" : 692
  },
  "dateCreated" : 1514764800000
}

7.18.4. Delete recipient username

Table 247. /v3/groups/{group}/incoming-mail-recipients/{recipientId}
Parameter Description

group

Group id

recipientId

Recipient id

HTTP
DELETE /v3/groups/1/incoming-mail-recipients/2 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http DELETE 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients/2' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/incoming-mail-recipients/2' -i -X DELETE \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Example of a success response
HTTP/1.1 200 OK

8. Files

This section shows how to upload and manage your group files. NOTE: For more information about the feature itself, see our Help Center page.

8.1. List files

Table 248. /v3/groups/{group}/filesList
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/filesList?page=1&size=5 HTTP/1.1
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/filesList?page=1&size=5' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/filesList?page=1&size=5' -i -X GET \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 249. Request parameters
Parameter Description

page

Page number to load

size

Page size

orderBy

Order field

ascending

Ascending order direction

columns

Additional data to load

name

Name filter/search

parent

Parent folder id

flat

Search across all parents

siblings

Search inside parent siblings (does not work with flat=true)

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1979

{
  "items" : [ {
    "id" : 1,
    "contextKey" : {
      "id" : 963
    },
    "sharing" : "NONE",
    "memberPermission" : 2,
    "following" : false,
    "userAces" : false,
    "userPermission" : 16,
    "name" : "example_folder",
    "friendlyName" : "Example Folder",
    "contentType" : "@folder",
    "size" : 0,
    "uploaded" : {
      "user" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "name" : "Jack Bauer",
      "username" : "jack"
    },
    "tags" : null,
    "locked" : false,
    "locker" : null,
    "lastModified" : 1514764800000,
    "summary" : null,
    "path" : [ ],
    "versions" : 0,
    "previewInfo" : null,
    "watermark" : false,
    "group" : {
      "id" : 1,
      "name" : "explore_clinked",
      "friendlyName" : "Explore Clinked"
    }
  }, {
    "id" : 1,
    "contextKey" : {
      "id" : 132
    },
    "sharing" : "NONE",
    "memberPermission" : 2,
    "following" : false,
    "userAces" : false,
    "userPermission" : 16,
    "name" : "file_example.pdf",
    "friendlyName" : "File Example.pdf",
    "contentType" : "application/pdf",
    "size" : 1000,
    "uploaded" : {
      "user" : {
        "id" : 1,
        "name" : "Jack Bauer",
        "username" : "jack",
        "logo" : false,
        "jobTitle" : "Marketing",
        "lastModified" : 1514764800000
      },
      "name" : "Jack Bauer",
      "username" : "jack"
    },
    "tags" : "tag1,tag2",
    "locked" : false,
    "locker" : null,
    "lastModified" : 1514764800000,
    "summary" : null,
    "path" : [ ],
    "versions" : 0,
    "previewInfo" : null,
    "watermark" : false,
    "group" : {
      "id" : 1,
      "name" : "explore_clinked",
      "friendlyName" : "Explore Clinked"
    }
  } ],
  "currentPage" : 1,
  "pageSize" : 5,
  "totalResults" : 0,
  "nextPage" : false,
  "previousPage" : false
}
Table 250. Definition of the returned fields
Path Type Description

items

Array

Page items

currentPage

Number

Current page number

pageSize

Number

Current page size

nextPage

Boolean

Next page available

previousPage

Boolean

Previous page available

totalPages

Number

Amount of available pages

totalResults

Number

Total results

items[].id

Number

File id

items[].contextKey

Object

Context key

items[].contextKey.id

Number

Context key ID

items[].group

Object

Base information about the group

items[].name

String

Unique file name, generated automatically by API

items[].friendlyName

String

Full file name that should be visible to a user

items[].contentType

String

Content type

items[].size

Number

Size in bytes

items[].uploaded

Object

User who uploaded a file

items[].versions

Number

Number of versions

items[].sharing

String

Sharing option, determines who can see a file: [NONE, DEFAULT, MEMBERS, PUBLIC]

items[].memberPermission

Number

Member file permission mask

items[].tags

String

Tags separated by comma

items[].locked

Boolean

File is locked and should not be updated

items[].locker

Object

User locked the file

items[].lastModified

Number

Last modification date (timestamp in milliseconds)

items[].previewInfo

Object

Preview data if available

items[].path

Array

Array of all file records making up the path of this file (incl. itself)

items[].parent

Object

File parent folder

items[].approvalSummary

Object

File approval data

items[].approvalSummary.pendingCount

Number

File approval data

items[].approvalSummary.rejectedCount

Number

File approval data

items[].approvalSummary.approvedCount

Number

File approval data

items[].approvalSummary.count

Number

File approval data

items[].summary

String

Latest file version comment

items[].following

Boolean

Indicates that user is following the file record or not

items[].shareCount

Number

Amount of shares

items[].userAces

Boolean

Indicates that the file record has individual access control entries in the file record ACL

items[].userPermission

Number

The current user permission to file record

items[].commentCount

Number

Amount of comments

items[].tasksCount

Number

Amount of tasks linked to this file

items[].watermark

Boolean

File watermark status

items[].jobs

Array

Active file jobs

items[].group.id

Number

User / profile id

items[].group.name

String

Group name slug, used for internal identification and URIs

items[].group.friendlyName

String

Full group name, visible to a user

items[].uploaded.name

String

User’s full name

items[].uploaded.username

String

User’s usernae if the user is defined

items[].uploaded.user

Object

Detailed user data, will be set to null if user is deleted

items[].uploaded.user.id

Number

User / profile id

items[].uploaded.user.name

String

Full name

items[].uploaded.user.username

String

Username

items[].uploaded.user.logo

Boolean

Avatar available

items[].uploaded.user.jobTitle

String

Job title

items[].uploaded.user.lastModified

Number

Last profile update date

8.2. Search files

Search file by its path

Table 251. /v3/groups/{group}/files
Parameter Description

group

Group id

HTTP
GET /v3/groups/1/files?path=folder-file_csv HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <YOUR-TOKEN>
Host: api.clinked.com
HTTPie
$ http GET 'https://api.clinked.com/v3/groups/1/files?path=folder-file_csv' \
    'Content-Type:application/json' \
    'Accept:application/json' \
    'Authorization:Bearer <YOUR-TOKEN>'
Curl
$ curl 'https://api.clinked.com/v3/groups/1/files?path=folder-file_csv' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <YOUR-TOKEN>'
Table 252. Request parameters
Parameter Description

path

File path

exclude

Set of file id’s

Example of a success response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1080

{
  "id" : 1,
  "contextKey" : {
    "id" : 276
  },
  "sharing" : "NONE",
  "memberPermission" : 2,
  "following" : false,
  "shareCount" : 0,
  "userAces" : false,
  "userPermission" : 16,
  "commentCount" : 0,
  "name" : "file_example.pdf",
  "friendlyName" : "File Example.pdf",
  "contentType" : "application/pdf",
  "size" : 1000,
  "uploaded" : {
    "user" : {
      "id" : 1,
      "name" : "Jack Bauer",
      "username" : "jack",
      "logo" : false,
      "jobTitle" : "Marketing",
      "lastModified" : 1514764800000
    },
    "name" : "Jack Bauer",
    "username" : "jack"
  },
  "tags" : "tag1,tag2",
  "locked" : false,
  "locker" : null,
  "lastModified" : 1514764800000,
  "summary" : null,
  "approvalSummary" : {
    "pendingCount" : 0,
    "rejectedCount" : 0,
    "approvedCount" : 0,
    "count" : 0,