Common Information (1.143.0)

Download OpenAPI specification:

Common Information

FeathersJS Query Syntax

This API uses FeathersJS query syntax for filtering, sorting, and pagination. All find operations support these parameters.

Pagination

  • $limit - Maximum number of records to return (default: 10, max: 50)
  • $skip - Number of records to skip for pagination

Sorting

  • $sort[field] - Sort by field. Use 1 for ascending, -1 for descending
    • Example: ?$sort[createdAt]=-1

Field Selection

  • $select[] - Select specific fields to include in response
    • Example: ?$select[]=_id&$select[]=name

Comparison Operators

  • field[$in][] - Match any value in array
    • Example: ?status[$in][]=active&status[$in][]=pending
  • field[$nin][] - Match values not in array
  • field[$lt] - Less than
  • field[$lte] - Less than or equal
  • field[$gt] - Greater than
  • field[$gte] - Greater than or equal
  • field[$ne] - Not equal

Logical Operators

  • $or - Match any condition in array
    • Example: ?$or[0][status]=active&$or[1][priority]=high

For complete documentation, see FeathersJS Querying

Authentication

All endpoints (except /authentication and /authManagement) require authentication using a Bearer token.

Include the token in the Authorization header:

Authorization: Bearer YOUR_ACCESS_TOKEN

Common Fields

All records include these standard fields: createdBy, createdAt, updatedBy, updatedAt. See the CommonFields schema for details.

Standard Responses

All endpoints return standard error responses. See the Error schema for details.

activitylogs

Activity logs track user activity in the system. When a user performs an action, an activity log entry is created automatically. The service also updates the lastActivity field in the users collection.

Note: Only the create method is publicly available. Find, get, update, patch, and remove operations are disabled for security reasons.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details on $limit, $skip, $sort, $select, and other query operators.

Create a new activity log entry. The request body

Create a new activity log entry. The request body can be empty - the service automatically populates userId, connectionOrigin, and orgunits from the authenticated user context and request headers.

After creating the activity log, the service automatically updates the lastActivity timestamp in the users collection.

Authorizations:
bearerAuth
Request Body schema: application/json
optional
object

Empty object or additional metadata (all fields are auto-populated by the server)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userId": "string",
  • "connectionOrigin": "string",
  • "orgunits": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

attachmentdetails

Attachment details service for storing metadata and text extraction from PDF attachments. [Internal/Lambda only] This service is triggered by AWS Lambda for processing uploaded attachments, not for direct file uploads.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve attachment details. **[Internal only]**

Retrieve attachment details. [Internal only]

Authorizations:
bearerAuth
query Parameters
storageId
string

Filter by storage ID

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create attachment details with extracted text from

Create attachment details with extracted text from PDF. [Lambda trigger only] Used by AWS Lambda to store processed attachment metadata and searchable text content

Authorizations:
bearerAuth
Request Body schema: application/json
required
storageId
required
string

S3 storage identifier for the attachment

fileName
string

Original file name

fileType
string

MIME type of the attachment (e.g., "application/pdf")

textContent
string

Extracted text content from PDF for search indexing

pageCount
integer

Number of pages in PDF document

fileSize
integer

File size in bytes

processingStatus
string
Enum: "pending" "processing" "completed" "failed"

Status of text extraction processing

Responses

Request samples

Content type
application/json
{
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single attachment detail by ID. **[Inte

Retrieve a single attachment detail by ID. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of attachmentdetails to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

path Parameters
_id
required
string

ID of attachmentdetails to update

Request Body schema: application/json
required
storageId
required
string

S3 storage identifier for the attachment

fileName
string

Original file name

fileType
string

MIME type of the attachment (e.g., "application/pdf")

textContent
string

Extracted text content from PDF for search indexing

pageCount
integer

Number of pages in PDF document

fileSize
integer

File size in bytes

processingStatus
string
Enum: "pending" "processing" "completed" "failed"

Status of text extraction processing

Responses

Request samples

Content type
application/json
{
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

path Parameters
_id
required
string

ID of attachmentdetails to update

Request Body schema: application/json
required
storageId
required
string

S3 storage identifier for the attachment

fileName
string

Original file name

fileType
string

MIME type of the attachment (e.g., "application/pdf")

textContent
string

Extracted text content from PDF for search indexing

pageCount
integer

Number of pages in PDF document

fileSize
integer

File size in bytes

processingStatus
string
Enum: "pending" "processing" "completed" "failed"

Status of text extraction processing

Responses

Request samples

Content type
application/json
{
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Removes the resource with id.

Removes the resource with id.

path Parameters
_id
required
string

ID of attachmentdetails to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "storageId": "string",
  • "fileName": "string",
  • "fileType": "string",
  • "textContent": "string",
  • "pageCount": 0,
  • "fileSize": 0,
  • "processingStatus": "pending",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

audittrail

Audit trail service for logging and tracking changes and actions in the system. Automatically records create, update, patch, and delete operations. [Primarily internal] Managed by hooks, but accessible for audit reporting.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve audit trail entries with filtering. **[Ad

Retrieve audit trail entries with filtering. [Admin only] Useful for compliance and security auditing

Authorizations:
bearerAuth
query Parameters
userId
string <objectId>

Filter by user ID who performed the action

objectId
string

Filter by object ID that was modified

objectType
string
Enum: "configs" "contents" "flowtemplates" "groups" "orgattributes" "orgchart" "pages" "tasks" "tasktemplates" "users" "widgets" "contentpools" "contentpooltypes" "folders"

Filter by object type

changeType
string
Enum: "Create" "Update" "Patch" "Remove"

Filter by change type

createdAt[$gte]
string <date-time>

Filter from specific date

updatedAt[$gte]
string <date-time>

Filter from specific date

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create audit trail entry. **[Internal only - manag

Create audit trail entry. [Internal only - managed by hooks] Do not use directly

Authorizations:
bearerAuth
Request Body schema: application/json
required
userId
required
string <objectId>

User who performed the action

objectId
required
string

ID of the modified object (content, task, user, etc.)

objectType
required
string

Type of object modified (collection name)

changeType
required
string
Enum: "create" "update" "patch" "remove"

Type of change operation performed

changeData
string

JSON string of change details (before/after states using deep-diff format)

Responses

Request samples

Content type
application/json
{
  • "userId": "60c72b2f9b1d8c001c8e4f3a",
  • "objectId": "60c72b2f9b1d8c001c8e4f3b",
  • "objectType": "contents",
  • "changeType": "patch",
  • "changeData": "[{\"kind\":\"E\",\"path\":[\"message\"],\"lhs\":\"{\"en\":\"<p>Test 123</p>\"}\",\"rhs\":\"{\"en\":\"<p>Test 123456</p>\"}\"}]"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userId": "60c72b2f9b1d8c001c8e4f3a",
  • "objectId": "60c72b2f9b1d8c001c8e4f3b",
  • "objectType": "contents",
  • "changeType": "patch",
  • "changeData": "[{\"kind\":\"E\",\"path\":[\"message\"],\"lhs\":\"{\"en\":\"<p>Test 123</p>\"}\",\"rhs\":\"{\"en\":\"<p>Test 123456</p>\"}\"}]",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a specific audit trail entry by ID. **[Ad

Retrieve a specific audit trail entry by ID. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of audittrail to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userId": "60c72b2f9b1d8c001c8e4f3a",
  • "objectId": "60c72b2f9b1d8c001c8e4f3b",
  • "objectType": "contents",
  • "changeType": "patch",
  • "changeData": "[{\"kind\":\"E\",\"path\":[\"message\"],\"lhs\":\"{\"en\":\"<p>Test 123</p>\"}\",\"rhs\":\"{\"en\":\"<p>Test 123456</p>\"}\"}]",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Removes the resource with id.

Removes the resource with id.

path Parameters
id
required
string

ID of audittrail to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userId": "60c72b2f9b1d8c001c8e4f3a",
  • "objectId": "60c72b2f9b1d8c001c8e4f3b",
  • "objectType": "contents",
  • "changeType": "patch",
  • "changeData": "[{\"kind\":\"E\",\"path\":[\"message\"],\"lhs\":\"{\"en\":\"<p>Test 123</p>\"}\",\"rhs\":\"{\"en\":\"<p>Test 123456</p>\"}\"}]",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

authManagement

Authentication management service for user account operations including email verification, password reset, and account validation.

Note: This service does not require authentication for most operations (password reset, email verification).

Perform various authentication management actions:

Perform various authentication management actions:

checkUnique: Verify if username/email is available

{"action": "checkUnique", "value": {"loginName": "user@example.com"}}

resendVerifySignup: Resend email verification link

{"action": "resendVerifySignup", "value": {"loginName": "user@example.com"}}

sendResetPwd: Request password reset (sends email with token)

{"action": "sendResetPwd", "value": {"loginName": "user@example.com"}}

magicLink: Request passwordless email sign-in link

{"action": "magicLink", "value": {"loginName": "user@example.com"}}

resetPwdLong: Complete password reset with token from email

{"action": "resetPwdLong", "value": {"token": "[TOKEN_FROM_EMAIL]", "password": "[NEW_PASSWORD]"}}

passwordChange: Change password (requires authentication)

{"action": "passwordChange", "value": {"user": {"loginName": "user@example.com"}, "oldPassword": "[CURRENT]", "password": "[NEW]"}}
Request Body schema: application/json
required
action
required
string
Enum: "checkUnique" "resendVerifySignup" "sendResetPwd" "magicLink" "resetPwdLong" "passwordChange"

Action to perform - see operation description for details

required
object or object or object or object

Action-specific parameters - structure varies by action type

Responses

Request samples

Content type
application/json
{
  • "action": "checkUnique",
  • "value": {
    }
}

Response samples

Content type
application/json
{
  • "value": "Success"
}

authchat

DEPRECATED Authenticate user to chat service

Authenticate user to chat service, just send empty

Authenticate user to chat service, just send empty object since we only need jwt token

Authorizations:
bearerAuth
Request Body schema: application/json
required
object (authchat)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

authentication

Authentication service for user login and session management. Supports multiple authentication strategies including local (email/password), JWT token verification, and OAuth providers.

Note: The create endpoint does not require authentication. All other endpoints require a valid Bearer token.

Authenticate a user and receive an access token. S

Authenticate a user and receive an access token. Supports multiple strategies:

  • local: Email and password authentication
  • jwt: Verify existing JWT token
  • magicLink: Email-based passwordless login
  • OAuth providers: cognito, okta, azure (if configured)
Request Body schema: application/json
required
strategy
required
string
Default: "local"
Enum: "local" "jwt" "regeneratejwt" "magicLink" "cognito" "okta" "azure"

Authentication strategy to use

loginName
string <email>

User email address (required for local strategy)

password
string <password>

User password (required for local strategy)

accessToken
string

JWT token to verify (required for jwt/regeneratejwt strategies)

link
string

30-character magic link token (required for magicLink strategy)

Responses

Request samples

Content type
application/json
{
  • "strategy": "local",
  • "loginName": "user@example.com",
  • "password": "password123"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "authentication": {
    },
  • "user": { },
  • "chatSignature": "string",
  • "chatUserId": "string",
  • "pluginJWT": "string"
}

Logout endpoint - invalidates the current session.

Logout endpoint - invalidates the current session. Note: JWTs cannot be truly revoked, but this endpoint provides a standard logout mechanism. The same token used in the Authorization header must be provided as the ID parameter

Authorizations:
bearerAuth
path Parameters
id
required
string

Token to invalidate (must match the Bearer token in Authorization header)

Responses

Response samples

Content type
application/json
{
  • "accessToken": "string"
}

automaticflows

Automatic flow management service for creating workflows that automatically generate content and tasks based on templates. Flows define sequences of template-based operations triggered by events or schedules.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all automatic flows with optional name fi

Retrieve all automatic flows with optional name filtering

Authorizations:
bearerAuth
query Parameters
name[$regex]
string

Search flow name (partial match)

name
string

Filter by exact name

active
boolean

Filter by active status

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new automatic flow with template sequence

Create a new automatic flow with template sequence. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Flow name (single language, no translations)

description
string

Flow description explaining its purpose

active
boolean
Default: true

Whether flow is currently active and will execute

orderOfTemplates
Array of strings <objectId> [ items <objectId > ]

Template IDs in execution order (update on every change for proper sequencing)

object

Flow trigger configuration (event-based, scheduled, manual)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single automatic flow by ID

Retrieve a single automatic flow by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of automaticflows to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire flow configuration. **[Admin only]*

Replace entire flow configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of automaticflows to update

Request Body schema: application/json
required
name
required
string

Flow name (single language, no translations)

description
string

Flow description explaining its purpose

active
boolean
Default: true

Whether flow is currently active and will execute

orderOfTemplates
Array of strings <objectId> [ items <objectId > ]

Template IDs in execution order (update on every change for proper sequencing)

object

Flow trigger configuration (event-based, scheduled, manual)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of a flow. **[Admin only]**

Update specific fields of a flow. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of automaticflows to update

Request Body schema: application/json
required
name
required
string

Flow name (single language, no translations)

description
string

Flow description explaining its purpose

active
boolean
Default: true

Whether flow is currently active and will execute

orderOfTemplates
Array of strings <objectId> [ items <objectId > ]

Template IDs in execution order (update on every change for proper sequencing)

object

Flow trigger configuration (event-based, scheduled, manual)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete an automatic flow. Does not affect already

Delete an automatic flow. Does not affect already created content/tasks. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of automaticflows to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "orderOfTemplates": [
    ],
  • "trigger": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

awstrigger

A service for AWS triggers, for now we have two triggers [pdfConvertedToTxt,videoResized]

Execute trigger

Execute trigger

Authorizations:
bearerAuth
Request Body schema: application/json
required
type
string

Type of trigger, allowed values are [pdfConvertedToTxt,videoResized]

value
string

value from trigger, point to new content. For pdfConvertedToTxt it is location of TXT file that will later be deleted, for videoResized it points to new converted video (original one from processing will be deleted)

poster
Array of strings = 2 items

Array of two poster image URLs

ref
string

Reference to original content. For pdfConvertedToTxt it points to original PDF in processing folder, for videoResized it points to original video in processing folder

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "value": "string",
  • "poster": [
    ],
  • "ref": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "value": "string",
  • "poster": [
    ],
  • "ref": "string"
}

badges

Badge management service for gamification. Badges are achievements users can earn through various activities and milestones.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all badges in the system

Retrieve all badges in the system

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (badges)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new badge with criteria. **[Admin only]**

Create a new badge with criteria. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
object

Multi-language badge name (e.g., {"en": "First Post", "nl": "Eerste Bericht"})

description
object

Multi-language badge description

image
string

S3 path to badge image/icon

criteria
object

Criteria for earning this badge (e.g., points threshold, activity count)

points
integer >= 0

Points awarded when earning this badge

order
integer

Display order for badge listing

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single badge by ID

Retrieve a single badge by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of badges to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire badge configuration. **[Admin only]

Replace entire badge configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of badges to update

Request Body schema: application/json
required
name
required
object

Multi-language badge name (e.g., {"en": "First Post", "nl": "Eerste Bericht"})

description
object

Multi-language badge description

image
string

S3 path to badge image/icon

criteria
object

Criteria for earning this badge (e.g., points threshold, activity count)

points
integer >= 0

Points awarded when earning this badge

order
integer

Display order for badge listing

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update badge properties. **[Admin only]*

Partially update badge properties. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of badges to update

Request Body schema: application/json
required
name
required
object

Multi-language badge name (e.g., {"en": "First Post", "nl": "Eerste Bericht"})

description
object

Multi-language badge description

image
string

S3 path to badge image/icon

criteria
object

Criteria for earning this badge (e.g., points threshold, activity count)

points
integer >= 0

Points awarded when earning this badge

order
integer

Display order for badge listing

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a badge. Users who earned this badge will l

Delete a badge. Users who earned this badge will lose it. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of badges to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "description": { },
  • "image": "string",
  • "criteria": { },
  • "points": 0,
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

blacklisttoken

A service for otes on polls, edit of vote is not possible.

Puts valid token on blacklist

Puts valid token on blacklist

Authorizations:
bearerAuth
Request Body schema: application/json
required
token
string

Token that needs to be blacklisted

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

chat

New general chat service for authenticating users to chat and other operations related to chat

Please use appropriate action and provide value an

Please use appropriate action and provide value and ref if needed.

    [removeFromGroup]
     * value - List of users IDs that should be removed from the group. 

     * ref - Reference to the group on whick we need to remove user, this is TalkJS ID. 

    


    [setNewGroupAdmin]
     * value - User ID of new group admin. 

     * ref - Reference to the group on which we need to change group admin, this is TalkJS ID. 

    


    [authenticate]
     * No data needed, just provide valid JWT token
Authorizations:
bearerAuth
Request Body schema: application/json
required
action
string

Type of action to be taken on object, allowed values are authenticate,removeFromGroup

value
string

value for action, optional.

ref
string

Reference to e.g. chat group

Responses

Request samples

Content type
application/json
{
  • "action": "string",
  • "value": "string",
  • "ref": "string"
}

Response samples

Content type
application/json
{
  • "action": "string",
  • "value": "string",
  • "ref": "string"
}

chatgroups

A service for TalkJS chat groups that are created from external source

Retrieves a list of all resources from the service

Retrieves a list of all resources from the service.

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (chatgroups)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": {
    }
}

Make new chat group, only name, type=external and

Make new chat group, only name, type=external and users are mandatory filed

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Name of the group, non translatable

type
required
string

Type of group, options are external and auto, Use external unless you are sure

users
required
Array of strings

Array of users that belong to the group

createdBy
string

Field populated by system, reference to user who created group

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated group

updatedAt
string

Field populated by system, timestamp of last update

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Retrieves a single resource with the given id from

Retrieves a single resource with the given id from the service.

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of chatgroups to return

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of chatgroups to update

Request Body schema: application/json
required
name
required
string

Name of the group, non translatable

type
required
string

Type of group, options are external and auto, Use external unless you are sure

users
required
Array of strings

Array of users that belong to the group

createdBy
string

Field populated by system, reference to user who created group

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated group

updatedAt
string

Field populated by system, timestamp of last update

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of chatgroups to update

Request Body schema: application/json
required
name
required
string

Name of the group, non translatable

type
required
string

Type of group, options are external and auto, Use external unless you are sure

users
required
Array of strings

Array of users that belong to the group

createdBy
string

Field populated by system, reference to user who created group

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated group

updatedAt
string

Field populated by system, timestamp of last update

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Removes the resource with id.

Removes the resource with id.

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of chatgroups to remove

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "users": [
    ],
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

comments

Comment management service for content, form values, and nested comments. Supports up to 2 levels of nesting (comment on content, reply to comment).

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve comments for a specific content or parent

Retrieve comments for a specific content or parent comment. Returns all comment levels in a flat structure

Authorizations:
bearerAuth
query Parameters
refId
string <objectId>

Filter by content ID or parent comment ID

createdBy
string

Filter by comment creator user ID

type
string
Enum: "onContent" "onCommentOnContent" "onFormvalue" "onCommentOnFormvalue"

Filter by comment type

header Parameters
lang
string

Language code for comment text

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new comment on content, form value, or an

Create a new comment on content, form value, or another comment (reply). Maximum 2 nesting levels allowed

Authorizations:
bearerAuth
header Parameters
lang
required
string

Language code for the comment

Request Body schema: application/json
required
originLanguage
string

Language in which comment was created

text
required
string

Comment text content

refId
required
string <objectId>

Reference to content, form value, or parent comment

images
Array of strings

Attached image paths

mentions
Array of strings <objectId> [ items <objectId > ]

User IDs mentioned in the comment using @ syntax

Responses

Request samples

Content type
application/json
{
  • "originLanguage": "string",
  • "text": "string",
  • "refId": "string",
  • "images": [
    ],
  • "mentions": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "text": "string",
  • "refId": "string",
  • "type": "onContent",
  • "images": [
    ],
  • "level": 1,
  • "edited": true,
  • "mentions": [
    ],
  • "social": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a comment. Only the creator or admins can e

Update a comment. Only the creator or admins can edit comments

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of comments to update

Request Body schema: application/json
required
text
string

Updated comment text

images
Array of strings

Updated image attachments

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "images": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "text": "string",
  • "refId": "string",
  • "type": "onContent",
  • "images": [
    ],
  • "level": 1,
  • "edited": true,
  • "mentions": [
    ],
  • "social": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a comment. Only the creator or admins can d

Delete a comment. Only the creator or admins can delete comments. Also removes all child comments

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of comments to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "text": "string",
  • "refId": "string",
  • "type": "onContent",
  • "images": [
    ],
  • "level": 1,
  • "edited": true,
  • "mentions": [
    ],
  • "social": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

configs

Client configuration service for managing tenant-specific settings and environment configurations. Stores configuration data per subdomain and environment.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve client configuration by type and subdomai

Retrieve client configuration by type and subdomain

Authorizations:
bearerAuth
query Parameters
configType
required
string
Enum: "app" "theme" "features" "integrations" "notifications"

Configuration type (required)

subdomain
string

Subdomain to filter configuration

environment
string
Enum: "production" "staging" "development"

Environment filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create new client configuration. **[Admin only]**

Create new client configuration. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
configType
required
string
Enum: "app" "theme" "features" "integrations" "notifications"

Type of configuration

subdomain
string

Subdomain this configuration applies to (for multi-tenant setups)

environment
string
Enum: "production" "staging" "development"

Environment this configuration applies to

data
object

Configuration data (structure varies by configType)

active
boolean
Default: true

Whether this configuration is currently active

Responses

Request samples

Content type
application/json
{
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve specific configuration by ID

Retrieve specific configuration by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of configs to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire configuration. **[Admin only]**

Replace entire configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of configs to update

Request Body schema: application/json
required
configType
required
string
Enum: "app" "theme" "features" "integrations" "notifications"

Type of configuration

subdomain
string

Subdomain this configuration applies to (for multi-tenant setups)

environment
string
Enum: "production" "staging" "development"

Environment this configuration applies to

data
object

Configuration data (structure varies by configType)

active
boolean
Default: true

Whether this configuration is currently active

Responses

Request samples

Content type
application/json
{
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific configuration fields. **[Admin onl

Update specific configuration fields. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of configs to update

Request Body schema: application/json
required
configType
required
string
Enum: "app" "theme" "features" "integrations" "notifications"

Type of configuration

subdomain
string

Subdomain this configuration applies to (for multi-tenant setups)

environment
string
Enum: "production" "staging" "development"

Environment this configuration applies to

data
object

Configuration data (structure varies by configType)

active
boolean
Default: true

Whether this configuration is currently active

Responses

Request samples

Content type
application/json
{
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a configuration. **[Admin only]**

Delete a configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of configs to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "configType": "app",
  • "subdomain": "string",
  • "environment": "production",
  • "data": { },
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

contentpools

Content pool management service. Content pools are containers for organizing content with specific access rights, configurations, and organizational restrictions.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all content pools. Supports name search a

Retrieve all content pools. Supports name search across different languages

Authorizations:
bearerAuth
query Parameters
name.en[$search]
string

Search content pool name by prefix in specific language (e.g., name.en[$search]=News)

contentPoolType
string

Filter by content pool type reference

header Parameters
lang
string

Language code for content pool name translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new content pool with access rights and d

Create a new content pool with access rights and default configurations

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
object

Multi-language content pool name. Must include at least origin language (e.g., {"en": "News Pool", "nl": "Nieuws Pool"})

originLanguage
required
string

Language code for the original content pool name

contentPoolType
string <objectId>

Reference to content pool type for categorization

createRights
required
Array of strings <objectId> [ items <objectId > ]

Group IDs that have permission to create content in this pool

limitToOrgtype
string <objectId>

Restrict content in this pool to specific organization unit type

requireApproval
boolean

If true, content requires approval before publishing

approvers
Array of strings <objectId> [ items <objectId > ]

User IDs who can approve content in this pool

rightsConfiguration
object

Default rights settings for new content (can disable certain rights features)

optionsConfiguration
object

Default options settings for new content (can disable certain option features)

translationConfiguration
object

Translation settings (can disable translation features, specify requestor groups)

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { },
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single content pool by ID

Retrieve a single content pool by ID

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for content pool name translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { },
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire content pool configuration

Replace entire content pool configuration

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contentpools to update

Request Body schema: application/json
required
name
required
object

Multi-language content pool name. Must include at least origin language (e.g., {"en": "News Pool", "nl": "Nieuws Pool"})

originLanguage
required
string

Language code for the original content pool name

contentPoolType
string <objectId>

Reference to content pool type for categorization

createRights
required
Array of strings <objectId> [ items <objectId > ]

Group IDs that have permission to create content in this pool

limitToOrgtype
string <objectId>

Restrict content in this pool to specific organization unit type

requireApproval
boolean

If true, content requires approval before publishing

approvers
Array of strings <objectId> [ items <objectId > ]

User IDs who can approve content in this pool

rightsConfiguration
object

Default rights settings for new content (can disable certain rights features)

optionsConfiguration
object

Default options settings for new content (can disable certain option features)

translationConfiguration
object

Translation settings (can disable translation features, specify requestor groups)

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { },
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update content pool configuration

Partially update content pool configuration

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contentpools to update

Request Body schema: application/json
required
name
required
object

Multi-language content pool name. Must include at least origin language (e.g., {"en": "News Pool", "nl": "Nieuws Pool"})

originLanguage
required
string

Language code for the original content pool name

contentPoolType
string <objectId>

Reference to content pool type for categorization

createRights
required
Array of strings <objectId> [ items <objectId > ]

Group IDs that have permission to create content in this pool

limitToOrgtype
string <objectId>

Restrict content in this pool to specific organization unit type

requireApproval
boolean

If true, content requires approval before publishing

approvers
Array of strings <objectId> [ items <objectId > ]

User IDs who can approve content in this pool

rightsConfiguration
object

Default rights settings for new content (can disable certain rights features)

optionsConfiguration
object

Default options settings for new content (can disable certain option features)

translationConfiguration
object

Translation settings (can disable translation features, specify requestor groups)

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { },
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a content pool. Warning: This will affect a

Delete a content pool. Warning: This will affect all content in this pool

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contentpools to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "contentPoolType": "string",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": true,
  • "approvers": [
    ],
  • "rightsConfiguration": { },
  • "optionsConfiguration": { },
  • "translationConfiguration": { },
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

contentpooltypes

Content pool type management service. Defines templates for creating content pools with predefined settings, permissions, and configurations. Types provide initial default values that can be customized when creating individual content pools.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all content pool types available in the s

Retrieve all content pool types available in the system

Authorizations:
bearerAuth
query Parameters
type
string
Enum: "news" "event" "poll" "manual" "faq" "form" "training"

Filter by content type

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new content pool type template. **[Admin

Create a new content pool type template. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Display name for this content pool type (e.g., "News Pool", "Event Calendar")

type
required
string
Enum: "news" "event" "poll" "manual" "faq" "form" "training"

Content type restriction - content pools of this type can only contain this content type

createRights
Array of strings <objectId> [ items <objectId > ]

Default group IDs that have permission to create content in pools of this type

limitToOrgtype
string <objectId>

Default organization type restriction for content pools of this type

requireApproval
boolean
Default: false

Default approval requirement for content in pools of this type

approvers
Array of strings <objectId> [ items <objectId > ]

Default user IDs who can approve content

object

Default rights settings template (can disable certain rights features)

object

Default options settings template (can disable certain option features)

object

Default translation settings template

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single content pool type by ID

Retrieve a single content pool type by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contentpooltypes to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire content pool type configuration. **

Replace entire content pool type configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contentpooltypes to update

Request Body schema: application/json
required
name
required
string

Display name for this content pool type (e.g., "News Pool", "Event Calendar")

type
required
string
Enum: "news" "event" "poll" "manual" "faq" "form" "training"

Content type restriction - content pools of this type can only contain this content type

createRights
Array of strings <objectId> [ items <objectId > ]

Default group IDs that have permission to create content in pools of this type

limitToOrgtype
string <objectId>

Default organization type restriction for content pools of this type

requireApproval
boolean
Default: false

Default approval requirement for content in pools of this type

approvers
Array of strings <objectId> [ items <objectId > ]

Default user IDs who can approve content

object

Default rights settings template (can disable certain rights features)

object

Default options settings template (can disable certain option features)

object

Default translation settings template

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of a content pool type. **[

Update specific fields of a content pool type. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contentpooltypes to update

Request Body schema: application/json
required
name
required
string

Display name for this content pool type (e.g., "News Pool", "Event Calendar")

type
required
string
Enum: "news" "event" "poll" "manual" "faq" "form" "training"

Content type restriction - content pools of this type can only contain this content type

createRights
Array of strings <objectId> [ items <objectId > ]

Default group IDs that have permission to create content in pools of this type

limitToOrgtype
string <objectId>

Default organization type restriction for content pools of this type

requireApproval
boolean
Default: false

Default approval requirement for content in pools of this type

approvers
Array of strings <objectId> [ items <objectId > ]

Default user IDs who can approve content

object

Default rights settings template (can disable certain rights features)

object

Default options settings template (can disable certain option features)

object

Default translation settings template

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a content pool type. Warning: Cannot delete

Delete a content pool type. Warning: Cannot delete if content pools exist using this type. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contentpooltypes to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "news",
  • "createRights": [
    ],
  • "limitToOrgtype": "string",
  • "requireApproval": false,
  • "approvers": [
    ],
  • "rightsConfiguration": {
    },
  • "optionsConfiguration": {
    },
  • "translationConfiguration": {
    },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

contents

This service manages system contents and their metadata. Content includes messages, events, polls, and other information distributed to users based on organizational structure and group membership.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details on $limit, $skip, $sort, $select, $or, $and, and other query operators.

Retrieves a list of all resources from the service

Retrieves a list of all resources from the service.

Authorizations:
bearerAuth
query Parameters
contentPool
string

Filter by content pool ID(s). Supports comma-separated values for multiple pools (e.g., poolId1,poolId2)

folder
string

Filter by folder ID. Use null as string to filter content without folders

contentType
string
Enum: "news" "event" "poll" "manual" "faq" "form" "training"

Filter by content type

tags
string

Filter by tag ID(s). Supports comma-separated values for multiple tags (e.g., tagId1,tagId2)

planningStatus
string
Enum: "all" "planned" "active" "inactive"

Filter by planning status. Controls visibility based on online/offline dates

approvedStatus
string
Enum: "n/a" "pending" "approved" "rejected"

Filter by approval status

searchTerm
string

Full-text search across title, message, content pool name, and orgchart selection names in all languages

filterByNode
string

Filter by organization node and all its descendants. Expands to include all child nodes

onlineDate
string <date-time>

Filter content with online dates greater than or equal to this date. [Admin/Supervisor only]

offlineDate
string <date-time>

Filter content with offline dates less than or equal to this date. [Admin/Supervisor only]

skipPlannedContent
string
Enum: "true" "false"

Skip content with future online dates (excludes planned content). [Admin/Supervisor only]

createdBy
string

Filter by content creator user ID. When filtering others' content, only specific fields are returned

originRef
string

Filter by origin reference (template or flow content ID)

stickyDate
string
Value: "true"

Filter content with sticky dates (pinned content)

contentReport
string
Value: "true"

Special flag for content reports. Requires ref parameter. [Admin/Supervisor only]

ref
string

Reference node for content reports. Used with contentReport flag

isBlueprint
string
Enum: "true" "false"

Filter blueprint/template content

recipient
string

Filter by recipient user ID or null for non-targeted content. [Admin/Supervisor only]

savedBy
string

Filter content saved/bookmarked by specific user ID

event.deactivationDate
string <date-time>

Filter events by deactivation date

status
string
Enum: "draft" "published"

Filter by content status

management
string
Enum: "true" "false"

Management mode flag - removes some audience restrictions. [Admin/Supervisor only]

calculateTrainingProgress
string
Enum: "true" "false"

Calculate training progress statistics. [Admin/Supervisor only]

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create new content. Requires content pool and cont

Create new content. Requires content pool and content type

Authorizations:
bearerAuth
Request Body schema: application/json
required
orgchartSelection
Array of strings

Array of organisation units selected on frontend, this is state of selection for edit of content

object

Object that contains include and exclude properties. Both are Array of arrays for org unit attributes that additionally filter orgchartSelection, Top level array is interpreted as AND, Second level array is interpreted as OR

object

Group field containing exclusion flag and selection of group references

orgunits
Array of strings

Array of organisation units this message belongs to, this array is populated by server based on orgchartSelection

recipient
string

Reference to user for whom this content is created

notificationsCreated
boolean

Tells if notifications for content are created

edited
boolean

If content data (title, message, poll data) were changed.

notifyNew
boolean

Flag that marks to send notification that new content has been added

notifyUpdated
boolean

Flag that marks to send notification that the content has been updated

object

Event related data

createdBy
string

Field populated by system, reference to user who created content

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated content

updatedAt
string

Field populated by system, timestamp of last update

originLanguage
required
string

Language in which content was created. Used as default translation

Array of objects

Array of translators (users) that worked on content

title
required
object

At least provide title for originLanguage e.g. {"en": "English Title"}, possible to other langages as well

message
required
object

At least provide message for originLanguage e.g. {"en": "English Message"}, possible to other langages as well

private
boolean

Indicate that content is private and that it needs to be addressed to you in order to access it

contentPool
required
string

Content pools where message belongs to

contentType
required
string

Type of content

onlineDate
string

Date when content goes live

offlineDate
string

Date when content goes offline

sendPushNotification
boolean

Enable sending push notifications for this content

images
object

At least provide images for originLanguage e.g. {"en": ["local/path/x/y/z"]}, possible to other langages as well

videos
Array of strings

Array of video references as ObjectIds

Array of objects

Array of embeddedVideos

videoProcessing
boolean

Indicate that Video attach to this record is still in processing

attachments
object

At least provide attachments for originLanguage e.g. {"en": []}, possible to other langages as well

Array of objects

Array of tags, assign by content

Array of objects

Array of tags related to this content, used for Event to pull taged content to the page, in order to submit new relevant tag, just provide new object without _id e.g. {text:TagName}

mentions
Array of strings

Array of yours that are mentioned using @ in message section of contents

object

Social data

viewsCount
integer

Number of views on content (Managed by server and can not be changed from client)

originalReach
integer

Original reach number when content was created (Unchangable)

object

Poll data

object

Form related data

folder
string

Id of folder to which this content may belong to -> applicable only for manuals and faq content types

object

Approval Flow related data

object

Training related data

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

Response samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

Retrieves a single resource with the given id from

Retrieves a single resource with the given id from the service.

Authorizations:
bearerAuth
query Parameters
management
string
Enum: "true" "false"

Management mode flag - removes some audience restrictions. [Admin/Supervisor only]

Responses

Response samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

Replace entire content record

Replace entire content record

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contents to update

Request Body schema: application/json
required
orgchartSelection
Array of strings

Array of organisation units selected on frontend, this is state of selection for edit of content

object

Object that contains include and exclude properties. Both are Array of arrays for org unit attributes that additionally filter orgchartSelection, Top level array is interpreted as AND, Second level array is interpreted as OR

object

Group field containing exclusion flag and selection of group references

orgunits
Array of strings

Array of organisation units this message belongs to, this array is populated by server based on orgchartSelection

recipient
string

Reference to user for whom this content is created

notificationsCreated
boolean

Tells if notifications for content are created

edited
boolean

If content data (title, message, poll data) were changed.

notifyNew
boolean

Flag that marks to send notification that new content has been added

notifyUpdated
boolean

Flag that marks to send notification that the content has been updated

object

Event related data

createdBy
string

Field populated by system, reference to user who created content

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated content

updatedAt
string

Field populated by system, timestamp of last update

originLanguage
required
string

Language in which content was created. Used as default translation

Array of objects

Array of translators (users) that worked on content

title
required
object

At least provide title for originLanguage e.g. {"en": "English Title"}, possible to other langages as well

message
required
object

At least provide message for originLanguage e.g. {"en": "English Message"}, possible to other langages as well

private
boolean

Indicate that content is private and that it needs to be addressed to you in order to access it

contentPool
required
string

Content pools where message belongs to

contentType
required
string

Type of content

onlineDate
string

Date when content goes live

offlineDate
string

Date when content goes offline

sendPushNotification
boolean

Enable sending push notifications for this content

images
object

At least provide images for originLanguage e.g. {"en": ["local/path/x/y/z"]}, possible to other langages as well

videos
Array of strings

Array of video references as ObjectIds

Array of objects

Array of embeddedVideos

videoProcessing
boolean

Indicate that Video attach to this record is still in processing

attachments
object

At least provide attachments for originLanguage e.g. {"en": []}, possible to other langages as well

Array of objects

Array of tags, assign by content

Array of objects

Array of tags related to this content, used for Event to pull taged content to the page, in order to submit new relevant tag, just provide new object without _id e.g. {text:TagName}

mentions
Array of strings

Array of yours that are mentioned using @ in message section of contents

object

Social data

viewsCount
integer

Number of views on content (Managed by server and can not be changed from client)

originalReach
integer

Original reach number when content was created (Unchangable)

object

Poll data

object

Form related data

folder
string

Id of folder to which this content may belong to -> applicable only for manuals and faq content types

object

Approval Flow related data

object

Training related data

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

Response samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

Partially update content record

Partially update content record

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contents to update

Request Body schema: application/json
required
orgchartSelection
Array of strings

Array of organisation units selected on frontend, this is state of selection for edit of content

object

Object that contains include and exclude properties. Both are Array of arrays for org unit attributes that additionally filter orgchartSelection, Top level array is interpreted as AND, Second level array is interpreted as OR

object

Group field containing exclusion flag and selection of group references

orgunits
Array of strings

Array of organisation units this message belongs to, this array is populated by server based on orgchartSelection

recipient
string

Reference to user for whom this content is created

notificationsCreated
boolean

Tells if notifications for content are created

edited
boolean

If content data (title, message, poll data) were changed.

notifyNew
boolean

Flag that marks to send notification that new content has been added

notifyUpdated
boolean

Flag that marks to send notification that the content has been updated

object

Event related data

createdBy
string

Field populated by system, reference to user who created content

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated content

updatedAt
string

Field populated by system, timestamp of last update

originLanguage
required
string

Language in which content was created. Used as default translation

Array of objects

Array of translators (users) that worked on content

title
required
object

At least provide title for originLanguage e.g. {"en": "English Title"}, possible to other langages as well

message
required
object

At least provide message for originLanguage e.g. {"en": "English Message"}, possible to other langages as well

private
boolean

Indicate that content is private and that it needs to be addressed to you in order to access it

contentPool
required
string

Content pools where message belongs to

contentType
required
string

Type of content

onlineDate
string

Date when content goes live

offlineDate
string

Date when content goes offline

sendPushNotification
boolean

Enable sending push notifications for this content

images
object

At least provide images for originLanguage e.g. {"en": ["local/path/x/y/z"]}, possible to other langages as well

videos
Array of strings

Array of video references as ObjectIds

Array of objects

Array of embeddedVideos

videoProcessing
boolean

Indicate that Video attach to this record is still in processing

attachments
object

At least provide attachments for originLanguage e.g. {"en": []}, possible to other langages as well

Array of objects

Array of tags, assign by content

Array of objects

Array of tags related to this content, used for Event to pull taged content to the page, in order to submit new relevant tag, just provide new object without _id e.g. {text:TagName}

mentions
Array of strings

Array of yours that are mentioned using @ in message section of contents

object

Social data

viewsCount
integer

Number of views on content (Managed by server and can not be changed from client)

originalReach
integer

Original reach number when content was created (Unchangable)

object

Poll data

object

Form related data

folder
string

Id of folder to which this content may belong to -> applicable only for manuals and faq content types

object

Approval Flow related data

object

Training related data

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

Response samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

Delete content and all associated data (comments,

Delete content and all associated data (comments, likes, votes, etc.)

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of contents to remove

Responses

Response samples

Content type
application/json
{
  • "orgchartSelection": [
    ],
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "recipient": "string",
  • "notificationsCreated": true,
  • "edited": true,
  • "notifyNew": true,
  • "notifyUpdated": true,
  • "event": {
    },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "title": { },
  • "message": { },
  • "private": true,
  • "contentPool": "string",
  • "contentType": "string",
  • "onlineDate": "string",
  • "offlineDate": "string",
  • "sendPushNotification": true,
  • "images": { },
  • "videos": [
    ],
  • "embeddedVideos": [
    ],
  • "videoProcessing": true,
  • "attachments": { },
  • "tags": [
    ],
  • "relatedTags": [
    ],
  • "mentions": [
    ],
  • "social": {
    },
  • "viewsCount": 0,
  • "originalReach": 0,
  • "poll": {
    },
  • "form": {},
  • "folder": "string",
  • "approval": {
    },
  • "training": {
    }
}

contentsview

Content view collection service. Provides a materialized view of contents with denormalized data for efficient querying. [Read-only] This collection is automatically updated when content changes. Only find and get operations are supported.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Query contents with denormalized data for improved

Query contents with denormalized data for improved performance. Supports search and filtering

Authorizations:
bearerAuth
query Parameters
searchTerm
string

Search term for full-text search in content titles

contentType
string
Enum: "news" "event" "poll" "manual" "faq" "form" "training"

Filter by content type

contentPool
string

Filter by content pool ID

header Parameters
lang
string

Language code for content title and message

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Creates a new resource with data.

Creates a new resource with data.

Request Body schema: application/json
required

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": { },
  • "message": { },
  • "contentType": "string",
  • "contentPool": { },
  • "onlineDate": "2019-08-24T14:15:22Z",
  • "offlineDate": "2019-08-24T14:15:22Z",
  • "createdBy": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single content from the view collection

Retrieve a single content from the view collection by ID

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for content title and message

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": { },
  • "message": { },
  • "contentType": "string",
  • "contentPool": { },
  • "onlineDate": "2019-08-24T14:15:22Z",
  • "offlineDate": "2019-08-24T14:15:22Z",
  • "createdBy": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

path Parameters
_id
required
string

ID of contentsview to update

Request Body schema: application/json
required

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": { },
  • "message": { },
  • "contentType": "string",
  • "contentPool": { },
  • "onlineDate": "2019-08-24T14:15:22Z",
  • "offlineDate": "2019-08-24T14:15:22Z",
  • "createdBy": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

path Parameters
_id
required
string

ID of contentsview to update

Request Body schema: application/json
required

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": { },
  • "message": { },
  • "contentType": "string",
  • "contentPool": { },
  • "onlineDate": "2019-08-24T14:15:22Z",
  • "offlineDate": "2019-08-24T14:15:22Z",
  • "createdBy": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Removes the resource with id.

Removes the resource with id.

path Parameters
_id
required
string

ID of contentsview to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": { },
  • "message": { },
  • "contentType": "string",
  • "contentPool": { },
  • "onlineDate": "2019-08-24T14:15:22Z",
  • "offlineDate": "2019-08-24T14:15:22Z",
  • "createdBy": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

contentviews

Content view tracking service. Records when users view content for analytics and engagement metrics. One view per user per content.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve content views for analytics. Typically fi

Retrieve content views for analytics. Typically filtered by content reference

Authorizations:
bearerAuth
query Parameters
contentRef
string <objectId>

Filter by content ID

createdBy
string

Filter by viewer user ID

createdAt[$gte]
string <date-time>

Filter views from specific date

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Record a content view. Automatically prevents dupl

Record a content view. Automatically prevents duplicate views from same user. Updates content viewsCount

Authorizations:
bearerAuth
Request Body schema: application/json
required
contentRef
required
string <objectId>

Reference to the viewed content

viewDuration
integer

Time spent viewing content in seconds

Responses

Request samples

Content type
application/json
{
  • "contentRef": "string",
  • "viewDuration": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "viewDuration": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a content view record. Only creator or admi

Delete a content view record. Only creator or admins can remove. [Rarely used]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of contentviews to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "viewDuration": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

download

Download page service for managing public app download landing pages. [Public access for GET] Creates branded download pages with platform-specific links (iOS, Android, Desktop).

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all download pages. **[Admin only]**

Retrieve all download pages. [Admin only]

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (download)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create new download page with unique path and URL.

Create new download page with unique path and URL. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
path
required
string

Unique URL path for this download page (e.g., "/app-download")

title
required
object

Multi-language page title

faq
object

Multi-language FAQ content for download page

originLanguage
string

Original language for page content

downloadPageUrl
string <uri>

Public URL for this download page (immutable once set)

iosUrl
string <uri>

App Store link for iOS app

androidUrl
string <uri>

Google Play link for Android app

desktopUrl
string <uri>

Download link for desktop application

textTop
object

Multi-language header text

textBottom
object

Multi-language footer text

clientLogo
string

S3 path to client logo image

backgroundImage
string

S3 path to background image

active
boolean
Default: true

Whether download page is currently active

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "path": "string",
  • "title": { },
  • "faq": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "downloadPageUrl": "http://example.com",
  • "iosUrl": "http://example.com",
  • "androidUrl": "http://example.com",
  • "desktopUrl": "http://example.com",
  • "textTop": { },
  • "textBottom": { },
  • "clientLogo": "string",
  • "backgroundImage": "string",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve download page by ID or path. **[Public ac

Retrieve download page by ID or path. [Public access] No authentication required for GET

Authorizations:
bearerAuth
query Parameters
path
string

Download page path for lookup

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "path": "string",
  • "title": { },
  • "faq": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "downloadPageUrl": "http://example.com",
  • "iosUrl": "http://example.com",
  • "androidUrl": "http://example.com",
  • "desktopUrl": "http://example.com",
  • "textTop": { },
  • "textBottom": { },
  • "clientLogo": "string",
  • "backgroundImage": "string",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire download page. **[Admin only]**

Replace entire download page. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of download to update

Request Body schema: application/json
required
path
required
string

Unique URL path for this download page (e.g., "/app-download")

title
required
object

Multi-language page title

faq
object

Multi-language FAQ content for download page

originLanguage
string

Original language for page content

downloadPageUrl
string <uri>

Public URL for this download page (immutable once set)

iosUrl
string <uri>

App Store link for iOS app

androidUrl
string <uri>

Google Play link for Android app

desktopUrl
string <uri>

Download link for desktop application

textTop
object

Multi-language header text

textBottom
object

Multi-language footer text

clientLogo
string

S3 path to client logo image

backgroundImage
string

S3 path to background image

active
boolean
Default: true

Whether download page is currently active

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "path": "string",
  • "title": { },
  • "faq": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "downloadPageUrl": "http://example.com",
  • "iosUrl": "http://example.com",
  • "androidUrl": "http://example.com",
  • "desktopUrl": "http://example.com",
  • "textTop": { },
  • "textBottom": { },
  • "clientLogo": "string",
  • "backgroundImage": "string",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update download page fields. downloadPageUrl canno

Update download page fields. downloadPageUrl cannot be changed once set. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of download to update

Request Body schema: application/json
required
path
required
string

Unique URL path for this download page (e.g., "/app-download")

title
required
object

Multi-language page title

faq
object

Multi-language FAQ content for download page

originLanguage
string

Original language for page content

downloadPageUrl
string <uri>

Public URL for this download page (immutable once set)

iosUrl
string <uri>

App Store link for iOS app

androidUrl
string <uri>

Google Play link for Android app

desktopUrl
string <uri>

Download link for desktop application

textTop
object

Multi-language header text

textBottom
object

Multi-language footer text

clientLogo
string

S3 path to client logo image

backgroundImage
string

S3 path to background image

active
boolean
Default: true

Whether download page is currently active

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "path": "string",
  • "title": { },
  • "faq": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "downloadPageUrl": "http://example.com",
  • "iosUrl": "http://example.com",
  • "androidUrl": "http://example.com",
  • "desktopUrl": "http://example.com",
  • "textTop": { },
  • "textBottom": { },
  • "clientLogo": "string",
  • "backgroundImage": "string",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete download page by ID. **[Admin only]**

Delete download page by ID. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of download to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "path": "string",
  • "title": { },
  • "faq": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "downloadPageUrl": "http://example.com",
  • "iosUrl": "http://example.com",
  • "androidUrl": "http://example.com",
  • "desktopUrl": "http://example.com",
  • "textTop": { },
  • "textBottom": { },
  • "clientLogo": "string",
  • "backgroundImage": "string",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

drive

KeepHub Drive service for browsing and accessing organization files stored in S3. Provides hierarchical file/folder navigation by organization unit. Drive must be configured per organization before use.

Note: This service uses custom pagination with continuation tokens instead of standard skip/limit.

Browse drive contents by organization unit and pat

Browse drive contents by organization unit and path. Returns files, folders, and child organization units

Authorizations:
bearerAuth
query Parameters
$limit
integer
Default: 50

Number of results to return per page

continuationToken
string

Continuation token for pagination (returned in previous response)

orgunit
required
string <objectId>

Organization unit ID to browse

path
string

Folder path to navigate to. If not provided, returns root level (organization units)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "continuationToken": "string"
}

Generate signed URL for downloading a specific dri

Generate signed URL for downloading a specific drive file

Authorizations:
bearerAuth
Request Body schema: application/json
required
storageId
required
string

S3 storage identifier of the file to generate signed URL for

expiresIn
integer
Default: 3600

URL expiration time in seconds (default: 3600)

Responses

Request samples

Content type
application/json
{
  • "storageId": "string",
  • "expiresIn": 3600
}

Response samples

Content type
application/json
{}

eventattendees

Event attendee tracking service for managing RSVP status for events. Users can indicate if they are going, not going, or maybe attending an event.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve attendee list for an event. Requires cont

Retrieve attendee list for an event. Requires content reference (event ID)

Authorizations:
bearerAuth
query Parameters
contentRef
string <objectId>

Filter by event content ID (required for practical use)

status
string
Enum: "going" "notgoing" "maybe"

Filter by attendance status

createdBy
string

Filter by user ID

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

RSVP to an event. Only one record per event/user c

RSVP to an event. Only one record per event/user combination. Users can only RSVP for themselves

Authorizations:
bearerAuth
Request Body schema: application/json
required
contentRef
required
string <objectId>

Reference to event content

status
required
string
Enum: "going" "notgoing" "maybe"

Attendance status. Options: going, notgoing, maybe

Responses

Request samples

Content type
application/json
{
  • "contentRef": "string",
  • "status": "going"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "status": "going",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single attendee record by ID

Retrieve a single attendee record by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of eventattendees to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "status": "going",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

path Parameters
_id
required
string

ID of eventattendees to update

Request Body schema: application/json
required
contentRef
required
string <objectId>

Reference to event content

status
required
string
Enum: "going" "notgoing" "maybe"

Attendance status. Options: going, notgoing, maybe

Responses

Request samples

Content type
application/json
{
  • "contentRef": "string",
  • "status": "going"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "status": "going",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update RSVP status. Users can only update their ow

Update RSVP status. Users can only update their own status

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of eventattendees to update

Request Body schema: application/json
required
status
string
Enum: "going" "notgoing" "maybe"

Updated attendance status

Responses

Request samples

Content type
application/json
{
  • "status": "going"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "status": "going",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Remove RSVP. Users can only remove their own RSVP

Remove RSVP. Users can only remove their own RSVP

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of eventattendees to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "status": "going",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

exports

Data export service for generating CSV or Excel files from polls, forms, and task results. Creators can export their own content; ExportAdmin and Admins can export any content.

Supports automatic column sizing, image embedding in Excel, and CSV formula injection prevention.

Generate and download export file. Returns file di

Generate and download export file. Returns file directly as response with appropriate content-type header

Authorizations:
bearerAuth
query Parameters
type
required
string
Enum: "poll" "form" "tasktemplate"

Export type

exportFileType
string
Default: "csv"
Enum: "csv" "xlsx"

Export file format

ref
required
string <objectId>

Reference ID of object to export (content ID, task template ID)

apiExport
boolean

Indicates export via API (affects filename)

Request Body schema: application/json
optional
object

Optional filters for export data

Responses

Request samples

Content type
application/json
{ }

externalcontacts

External contacts directory service for managing company contacts, partners, and vendors. Supports multi-language information and file attachments.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all external contacts with search support

Retrieve all external contacts with search support

Authorizations:
bearerAuth
query Parameters
name
string

Search by name (case-insensitive)

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new external contact. **[Admin only]**

Create a new external contact. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
profilePicture
string

S3 path to contact logo/profile image

name
required
string

Contact name or company name

shortDescription
required
string

Brief contact description

email
string <email>

Contact email address

phone
string

Contact phone number

website
string <uri>

Contact website URL

address1
string

Address line 1

address2
string

Address line 2

postalCode
string

Postal/ZIP code

city
string

City

country
string

Country

generalInformation
object

Multi-language general information/description

originLanguage
required
string

Original language for contact information

Array of objects

Attached files (brochures, contracts, etc.)

category
string
Enum: "partner" "vendor" "supplier" "customer" "other"

Contact category/type

Responses

Request samples

Content type
application/json
{
  • "profilePicture": "string",
  • "name": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "attachments": [
    ],
  • "category": "partner"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "profilePicture": "string",
  • "name": "string",
  • "nameCI": "string",
  • "nameASCII": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "attachments": [
    ],
  • "category": "partner",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a specific external contact by ID

Retrieve a specific external contact by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of externalcontacts to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "profilePicture": "string",
  • "name": "string",
  • "nameCI": "string",
  • "nameASCII": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "attachments": [
    ],
  • "category": "partner",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire external contact. **[Admin only]**

Replace entire external contact. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of externalcontacts to update

Request Body schema: application/json
required
profilePicture
string

S3 path to contact logo/profile image

name
required
string

Contact name or company name

shortDescription
required
string

Brief contact description

email
string <email>

Contact email address

phone
string

Contact phone number

website
string <uri>

Contact website URL

address1
string

Address line 1

address2
string

Address line 2

postalCode
string

Postal/ZIP code

city
string

City

country
string

Country

generalInformation
object

Multi-language general information/description

originLanguage
required
string

Original language for contact information

Array of objects

Attached files (brochures, contracts, etc.)

category
string
Enum: "partner" "vendor" "supplier" "customer" "other"

Contact category/type

Responses

Request samples

Content type
application/json
{
  • "profilePicture": "string",
  • "name": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "attachments": [
    ],
  • "category": "partner"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "profilePicture": "string",
  • "name": "string",
  • "nameCI": "string",
  • "nameASCII": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "attachments": [
    ],
  • "category": "partner",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific contact fields. **[Admin only]**

Update specific contact fields. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of externalcontacts to update

Request Body schema: application/json
required
profilePicture
string

S3 path to contact logo/profile image

name
required
string

Contact name or company name

shortDescription
required
string

Brief contact description

email
string <email>

Contact email address

phone
string

Contact phone number

website
string <uri>

Contact website URL

address1
string

Address line 1

address2
string

Address line 2

postalCode
string

Postal/ZIP code

city
string

City

country
string

Country

generalInformation
object

Multi-language general information/description

originLanguage
required
string

Original language for contact information

Array of objects

Attached files (brochures, contracts, etc.)

category
string
Enum: "partner" "vendor" "supplier" "customer" "other"

Contact category/type

Responses

Request samples

Content type
application/json
{
  • "profilePicture": "string",
  • "name": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "attachments": [
    ],
  • "category": "partner"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "profilePicture": "string",
  • "name": "string",
  • "nameCI": "string",
  • "nameASCII": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "attachments": [
    ],
  • "category": "partner",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete an external contact. **[Admin only]**

Delete an external contact. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of externalcontacts to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "profilePicture": "string",
  • "name": "string",
  • "nameCI": "string",
  • "nameASCII": "string",
  • "shortDescription": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "website": "http://example.com",
  • "address1": "string",
  • "address2": "string",
  • "postalCode": "string",
  • "city": "string",
  • "country": "string",
  • "generalInformation": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "attachments": [
    ],
  • "category": "partner",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

feed

RSS feed service for exporting content as RSS/XML feeds. Generates standard RSS 2.0 format for content pools with optional filtering by organization units and groups. Useful for external integrations and content syndication.

Generate RSS feed for a specific content pool with

Generate RSS feed for a specific content pool with optional filtering. Returns XML formatted as RSS 2.0

Authorizations:
bearerAuth
path Parameters
id
required
string <objectId>

Content pool ID to generate feed for

query Parameters
orgunits
Array of strings

Filter by organization unit IDs (comma-separated or multiple params)

groups
Array of strings

Filter by group IDs (comma-separated or multiple params)

lang
string

Language code for content (e.g., "en", "nl", "de")

excludeGroups
boolean

If true, excludes specified groups instead of including them

limit
integer <= 50
Default: 20

Number of content items to include in feed (max: 50)

Responses

flowtemplates

Flow template service for defining content and task templates that are automatically generated by cron jobs. Templates define what content/tasks to create, when to create them (intervals), and who should receive them.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all flow templates with optional filterin

Retrieve all flow templates with optional filtering

Authorizations:
bearerAuth
query Parameters
flowRef
string <objectId>

Filter by flow reference ID

active
boolean

Filter by active status

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new flow template with targeting and sche

Create a new flow template with targeting and scheduling. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
object

Organization chart targeting for selecting users

object

Organization attribute filters (AND/OR logic)

object

Group targeting configuration

required
object

Content/task template configuration (follows same structure as contents service)

required
object

Timing configuration for when content/tasks should be generated

visibleFor
string
Enum: "all" "sameOrgUnit" "user"

How targeting (selected users) is transferred to addressing (content visibility). "all" = visible to all targeted users, "sameOrgUnit" = visible only within same org unit, "user" = visible only to specific user

active
boolean
Default: true

If false, template will be skipped by cron job

flowRef
required
string <objectId>

Reference to automatic flow this template belongs to

order
integer

Execution order within the flow

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single flow template by ID

Retrieve a single flow template by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of flowtemplates to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire flow template configuration. **[Adm

Replace entire flow template configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of flowtemplates to update

Request Body schema: application/json
required
object

Organization chart targeting for selecting users

object

Organization attribute filters (AND/OR logic)

object

Group targeting configuration

required
object

Content/task template configuration (follows same structure as contents service)

required
object

Timing configuration for when content/tasks should be generated

visibleFor
string
Enum: "all" "sameOrgUnit" "user"

How targeting (selected users) is transferred to addressing (content visibility). "all" = visible to all targeted users, "sameOrgUnit" = visible only within same org unit, "user" = visible only to specific user

active
boolean
Default: true

If false, template will be skipped by cron job

flowRef
required
string <objectId>

Reference to automatic flow this template belongs to

order
integer

Execution order within the flow

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of a flow template. **[Admi

Update specific fields of a flow template. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of flowtemplates to update

Request Body schema: application/json
required
object

Organization chart targeting for selecting users

object

Organization attribute filters (AND/OR logic)

object

Group targeting configuration

required
object

Content/task template configuration (follows same structure as contents service)

required
object

Timing configuration for when content/tasks should be generated

visibleFor
string
Enum: "all" "sameOrgUnit" "user"

How targeting (selected users) is transferred to addressing (content visibility). "all" = visible to all targeted users, "sameOrgUnit" = visible only within same org unit, "user" = visible only to specific user

active
boolean
Default: true

If false, template will be skipped by cron job

flowRef
required
string <objectId>

Reference to automatic flow this template belongs to

order
integer

Execution order within the flow

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a flow template. Does not affect already ge

Delete a flow template. Does not affect already generated content/tasks. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of flowtemplates to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "template": {
    },
  • "interval": {
    },
  • "visibleFor": "all",
  • "active": true,
  • "flowRef": "string",
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

folders

Folder management service for organizing content. Folders can contain manuals, FAQs, and forms. Supports hierarchical structure with org unit and group targeting.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve folders with optional filtering by conten

Retrieve folders with optional filtering by content pool

Authorizations:
bearerAuth
query Parameters
contentPool
string <objectId>

Filter by content pool ID

parent
string

Filter by parent folder ID (null for root folders)

header Parameters
lang
string

Language code for folder name translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new folder with targeting rules

Create a new folder with targeting rules

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
object

Multi-language folder name. Must include at least origin language (e.g., {"en": "Documentation", "nl": "Documentatie"})

originLanguage
required
string

Language code for the original folder name

parent
string <objectId>

Parent folder ID for hierarchical structure (null for root folders)

contentPool
string <objectId>

Content pool this folder belongs to

object

Organization units selected for targeting

object

Organizational attribute filters. Top-level arrays use AND logic, nested arrays use OR logic

object

Group targeting configuration

externalRef
string

Optional external reference ID for integration with other systems

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "externalRef": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "translators": [
    ],
  • "contentCount": 0,
  • "subfolderCount": 0,
  • "externalRef": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single folder by ID with item count

Retrieve a single folder by ID with item count

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for folder name translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "translators": [
    ],
  • "contentCount": 0,
  • "subfolderCount": 0,
  • "externalRef": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire folder configuration

Replace entire folder configuration

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of folders to update

Request Body schema: application/json
required
name
required
object

Multi-language folder name. Must include at least origin language (e.g., {"en": "Documentation", "nl": "Documentatie"})

originLanguage
required
string

Language code for the original folder name

parent
string <objectId>

Parent folder ID for hierarchical structure (null for root folders)

contentPool
string <objectId>

Content pool this folder belongs to

object

Organization units selected for targeting

object

Organizational attribute filters. Top-level arrays use AND logic, nested arrays use OR logic

object

Group targeting configuration

externalRef
string

Optional external reference ID for integration with other systems

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "externalRef": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "translators": [
    ],
  • "contentCount": 0,
  • "subfolderCount": 0,
  • "externalRef": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update folder information

Partially update folder information

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of folders to update

Request Body schema: application/json
required
name
required
object

Multi-language folder name. Must include at least origin language (e.g., {"en": "Documentation", "nl": "Documentatie"})

originLanguage
required
string

Language code for the original folder name

parent
string <objectId>

Parent folder ID for hierarchical structure (null for root folders)

contentPool
string <objectId>

Content pool this folder belongs to

object

Organization units selected for targeting

object

Organizational attribute filters. Top-level arrays use AND logic, nested arrays use OR logic

object

Group targeting configuration

externalRef
string

Optional external reference ID for integration with other systems

Responses

Request samples

Content type
application/json
{
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "externalRef": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "translators": [
    ],
  • "contentCount": 0,
  • "subfolderCount": 0,
  • "externalRef": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a folder. Content within the folder will be

Delete a folder. Content within the folder will be unlinked

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of folders to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "parent": "string",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "orgunits": [
    ],
  • "translators": [
    ],
  • "contentCount": 0,
  • "subfolderCount": 0,
  • "externalRef": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

formvalues

Form values service for storing user submissions from forms. Supports confidential forms with restricted access to confidants only.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve form submissions. Automatically filtered

Retrieve form submissions. Automatically filtered by permissions - confidential forms only visible to confidants and form creator

Authorizations:
bearerAuth
query Parameters
contentRef
string <objectId>

Filter by content (form) reference ID

createdBy
string

Filter by submitter user ID

contentType
string
Enum: "form" "event"

Filter by content type

confidential
boolean

Filter by confidential status

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Submit form values. Triggers webhooks and email no

Submit form values. Triggers webhooks and email notifications if configured on the form

Authorizations:
bearerAuth
Request Body schema: application/json
required
contentRef
required
string <objectId>

Reference to the form content

required
Array of objects

Form field values submitted by user

Responses

Request samples

Content type
application/json
{
  • "contentRef": "string",
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "contentType": "form",
  • "confidential": true,
  • "confidants": [
    ],
  • "values": [
    ],
  • "orgunitsOfCreator": [
    ],
  • "videoProcessing": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single form submission by ID. Access re

Retrieve a single form submission by ID. Access restricted for confidential forms

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of formvalues to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "contentType": "form",
  • "confidential": true,
  • "confidants": [
    ],
  • "values": [
    ],
  • "orgunitsOfCreator": [
    ],
  • "videoProcessing": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire form submission. Only creator or co

Replace entire form submission. Only creator or confidants can update. [Rarely used]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of formvalues to update

Request Body schema: application/json
required
contentRef
required
string <objectId>

Reference to the form content

required
Array of objects

Form field values submitted by user

Responses

Request samples

Content type
application/json
{
  • "contentRef": "string",
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "contentType": "form",
  • "confidential": true,
  • "confidants": [
    ],
  • "values": [
    ],
  • "orgunitsOfCreator": [
    ],
  • "videoProcessing": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of a form submission. Only

Update specific fields of a form submission. Only creator or confidants can update

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of formvalues to update

Request Body schema: application/json
required
contentRef
required
string <objectId>

Reference to the form content

required
Array of objects

Form field values submitted by user

Responses

Request samples

Content type
application/json
{
  • "contentRef": "string",
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "contentType": "form",
  • "confidential": true,
  • "confidants": [
    ],
  • "values": [
    ],
  • "orgunitsOfCreator": [
    ],
  • "videoProcessing": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a form submission. Only creator, confidants

Delete a form submission. Only creator, confidants, or admins can delete

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of formvalues to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "contentType": "form",
  • "confidential": true,
  • "confidants": [
    ],
  • "values": [
    ],
  • "orgunitsOfCreator": [
    ],
  • "videoProcessing": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

groups

Group management service for organizing users into logical groups. Groups are used for content targeting, permissions, and organizational structure.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all groups with optional filtering. Group

Retrieve all groups with optional filtering. Group names are returned in the requested language (via lang header)

Authorizations:
bearerAuth
query Parameters
excludeFromContent
boolean

Filter groups by content exclusion flag. Set to true for groups excluded from content targeting

header Parameters
lang
string

Language code for group name translation (e.g., "en", "nl", "de"). Defaults to system language

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new group. System users can manually set

Create a new group. System users can manually set the group ID for imported groups

Authorizations:
bearerAuth
Request Body schema: application/json
required
_id
string <objectId>

Unique identifier. Can be manually set by system users for imported groups, otherwise auto-generated

name
required
object

Multi-language group name. Must include at least the origin language (e.g., {"en": "Regional Managers", "nl": "Regionale Managers"})

imported
boolean
Default: false

Indicates if group was imported from external system (true) or manually created (false)

originLanguage
required
string

Language code for the original group name (e.g., "en", "nl", "de")

excludeFromContent
boolean
Default: false

If true, this group is excluded from content targeting options

orgunitsForAdditionalContacts
Array of strings <objectId> [ items <objectId > ]

Additional organizational units whose members are visible in contacts for users in this group. Automatically expanded to include descendants

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "translators": [
    ],
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single group by ID. Returns group with

Retrieve a single group by ID. Returns group with all translations

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for group name translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "translators": [
    ],
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire group record

Replace entire group record

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of groups to update

Request Body schema: application/json
required
_id
string <objectId>

Unique identifier. Can be manually set by system users for imported groups, otherwise auto-generated

name
required
object

Multi-language group name. Must include at least the origin language (e.g., {"en": "Regional Managers", "nl": "Regionale Managers"})

imported
boolean
Default: false

Indicates if group was imported from external system (true) or manually created (false)

originLanguage
required
string

Language code for the original group name (e.g., "en", "nl", "de")

excludeFromContent
boolean
Default: false

If true, this group is excluded from content targeting options

orgunitsForAdditionalContacts
Array of strings <objectId> [ items <objectId > ]

Additional organizational units whose members are visible in contacts for users in this group. Automatically expanded to include descendants

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "translators": [
    ],
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update group information

Partially update group information

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of groups to update

Request Body schema: application/json
required
_id
string <objectId>

Unique identifier. Can be manually set by system users for imported groups, otherwise auto-generated

name
required
object

Multi-language group name. Must include at least the origin language (e.g., {"en": "Regional Managers", "nl": "Regionale Managers"})

imported
boolean
Default: false

Indicates if group was imported from external system (true) or manually created (false)

originLanguage
required
string

Language code for the original group name (e.g., "en", "nl", "de")

excludeFromContent
boolean
Default: false

If true, this group is excluded from content targeting options

orgunitsForAdditionalContacts
Array of strings <objectId> [ items <objectId > ]

Additional organizational units whose members are visible in contacts for users in this group. Automatically expanded to include descendants

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "translators": [
    ],
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a group. Also removes group membership from

Delete a group. Also removes group membership from all users

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of groups to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": {
    },
  • "imported": false,
  • "originLanguage": "string",
  • "translators": [
    ],
  • "excludeFromContent": false,
  • "orgunitsForAdditionalContacts": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

healthcheck

Health check service for monitoring system component status. [Public endpoint] Returns HTTP 200 if healthy, HTTP 400 if degraded. Used by load balancers and monitoring systems.

Retrieves a list of all resources from the service

Retrieves a list of all resources from the service.

query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (healthcheck)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

impersonate

User impersonation service for administrators. [Admin only] Allows admins to log in as another user for support and debugging purposes.

Impersonate a user and receive authentication toke

Impersonate a user and receive authentication token. Requires administrator permission

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object

User identification (provide either loginName or _id)

method
string
Default: "magiclink"
Enum: "magiclink" "jwt"

Impersonation method (defaults to magiclink if not specified)

Responses

Request samples

Content type
application/json
{
  • "value": {
    },
  • "method": "magiclink"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "magicLink": "string",
  • "user": { }
}

keymetrics

A service for calculating needed data for key metrics

Call to one of key metrics service queries

Call to one of key metrics service queries

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (keymetrics)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": {
    }
}

lessons

Training lessons service for managing quizzes and assessments within training content. Each lesson contains questions with scoring and pass/fail messages.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve lessons for a specific training. Results

Retrieve lessons for a specific training. Results include user completion status when accessed by end users

Authorizations:
bearerAuth
query Parameters
contentRef
required
string <objectId>

Filter by training content ID (required)

management
boolean

Management mode flag - returns all lesson data including answers. [Admin only]

createdBy
string

Filter by lesson creator user ID

header Parameters
lang
string

Language code for lesson content translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new lesson for a training. **[Admin/Conte

Create a new lesson for a training. [Admin/Content Creator only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
originLanguage
required
string

Language code for original lesson content

contentRef
required
string <objectId>

Reference to training content this lesson belongs to

title
required
object

Multi-language lesson title (e.g., {"en": "Quiz 1", "nl": "Quiz 1"})

description
object

Multi-language lesson description/instructions

questions
required
object

Multi-language question data structure with questions, answers, and scoring

neededScore
required
number >= 0

Minimum score required to pass the lesson

passedMessage
object

Multi-language success message shown when user passes

failedMessage
object

Multi-language failure message shown when user fails

order
integer

Display order within the training

Responses

Request samples

Content type
application/json
{
  • "originLanguage": "string",
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "maxScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single lesson by ID. Answers are hidden

Retrieve a single lesson by ID. Answers are hidden from end users

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for lesson content translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "maxScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire lesson. **[Admin/Content Creator on

Replace entire lesson. [Admin/Content Creator only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of lessons to update

Request Body schema: application/json
required
originLanguage
required
string

Language code for original lesson content

contentRef
required
string <objectId>

Reference to training content this lesson belongs to

title
required
object

Multi-language lesson title (e.g., {"en": "Quiz 1", "nl": "Quiz 1"})

description
object

Multi-language lesson description/instructions

questions
required
object

Multi-language question data structure with questions, answers, and scoring

neededScore
required
number >= 0

Minimum score required to pass the lesson

passedMessage
object

Multi-language success message shown when user passes

failedMessage
object

Multi-language failure message shown when user fails

order
integer

Display order within the training

Responses

Request samples

Content type
application/json
{
  • "originLanguage": "string",
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "maxScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of a lesson. **[Admin/Conte

Update specific fields of a lesson. [Admin/Content Creator only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of lessons to update

Request Body schema: application/json
required
originLanguage
required
string

Language code for original lesson content

contentRef
required
string <objectId>

Reference to training content this lesson belongs to

title
required
object

Multi-language lesson title (e.g., {"en": "Quiz 1", "nl": "Quiz 1"})

description
object

Multi-language lesson description/instructions

questions
required
object

Multi-language question data structure with questions, answers, and scoring

neededScore
required
number >= 0

Minimum score required to pass the lesson

passedMessage
object

Multi-language success message shown when user passes

failedMessage
object

Multi-language failure message shown when user fails

order
integer

Display order within the training

Responses

Request samples

Content type
application/json
{
  • "originLanguage": "string",
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "maxScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a lesson. Also removes associated user subm

Delete a lesson. Also removes associated user submissions. [Admin/Content Creator only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of lessons to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "contentRef": "string",
  • "title": { },
  • "description": { },
  • "questions": { },
  • "neededScore": 0,
  • "maxScore": 0,
  • "passedMessage": { },
  • "failedMessage": { },
  • "order": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

lessonsubmissions

Lesson submission service for tracking user attempts at training lessons. Records answers, scores, and pass/fail status.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve lesson submissions. Users can only see th

Retrieve lesson submissions. Users can only see their own submissions unless they are admins/trainers

Authorizations:
bearerAuth
query Parameters
lessonRef
string <objectId>

Filter by lesson ID

userId
string

Filter by user ID. Non-admins can only filter for themselves

status
string
Enum: "passed" "failed" "in-progress"

Filter by submission status

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Submit answers for a lesson. Automatically calcula

Submit answers for a lesson. Automatically calculates score and determines pass/fail status

Authorizations:
bearerAuth
Request Body schema: application/json
required
lessonRef
required
string <objectId>

Reference to the lesson being attempted

required
Array of objects

User answers to lesson questions

Responses

Request samples

Content type
application/json
{
  • "lessonRef": "string",
  • "answers": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lessonRef": "string",
  • "userId": "string",
  • "orgunitsOfCreator": [
    ],
  • "status": "passed",
  • "answers": [
    ],
  • "currentScore": 0,
  • "maxScore": 0,
  • "attemptNumber": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single lesson submission by ID

Retrieve a single lesson submission by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of lessonsubmissions to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lessonRef": "string",
  • "userId": "string",
  • "orgunitsOfCreator": [
    ],
  • "status": "passed",
  • "answers": [
    ],
  • "currentScore": 0,
  • "maxScore": 0,
  • "attemptNumber": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire submission. **[Rarely used - typica

Replace entire submission. [Rarely used - typically users create new submissions for retries]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of lessonsubmissions to update

Request Body schema: application/json
required
lessonRef
required
string <objectId>

Reference to the lesson being attempted

required
Array of objects

User answers to lesson questions

Responses

Request samples

Content type
application/json
{
  • "lessonRef": "string",
  • "answers": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lessonRef": "string",
  • "userId": "string",
  • "orgunitsOfCreator": [
    ],
  • "status": "passed",
  • "answers": [
    ],
  • "currentScore": 0,
  • "maxScore": 0,
  • "attemptNumber": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of a submission. **[Admin o

Update specific fields of a submission. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of lessonsubmissions to update

Request Body schema: application/json
required
lessonRef
required
string <objectId>

Reference to the lesson being attempted

required
Array of objects

User answers to lesson questions

Responses

Request samples

Content type
application/json
{
  • "lessonRef": "string",
  • "answers": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lessonRef": "string",
  • "userId": "string",
  • "orgunitsOfCreator": [
    ],
  • "status": "passed",
  • "answers": [
    ],
  • "currentScore": 0,
  • "maxScore": 0,
  • "attemptNumber": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a lesson submission. Only creator or admins

Delete a lesson submission. Only creator or admins can delete

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of lessonsubmissions to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lessonRef": "string",
  • "userId": "string",
  • "orgunitsOfCreator": [
    ],
  • "status": "passed",
  • "answers": [
    ],
  • "currentScore": 0,
  • "maxScore": 0,
  • "attemptNumber": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

levels

User level/rank system service for gamification. Defines level tiers based on point ranges with associated rewards and titles.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all levels in the system

Retrieve all levels in the system

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (levels)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

loginoptions

Providing login options to user based on loginname, public service

Retrieves a single resource with the given id from

Retrieves a single resource with the given id from the service.

Authorizations:
bearerAuth
path Parameters
id
required
any

login name of user for whom we request login options

Responses

Response samples

Content type
application/json
{
  • "loginMethod": "string",
  • "oAuthURL": "string",
  • "magicLink": true
}

maintenance

Maintenance mode management service for controlling system availability. [System user only] When maintenance mode is enabled, regular users cannot access the system. Used during deployments and updates.

Get maintenance mode status by ID

Get maintenance mode status by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of maintenance to return

Responses

Response samples

Content type
application/json
{
  • "maintenance": true,
  • "message": { },
  • "scheduledStart": "2019-08-24T14:15:22Z",
  • "scheduledEnd": "2019-08-24T14:15:22Z",
  • "allowedUsers": [
    ]
}

Enable or disable maintenance mode. Broadcasts to

Enable or disable maintenance mode. Broadcasts to all application instances. [System user only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
maintenance
required
boolean

Maintenance mode flag (true=maintenance on, false=maintenance off)

message
object

Multi-language maintenance message to display to users

scheduledStart
string <date-time>

Scheduled maintenance start time

scheduledEnd
string <date-time>

Scheduled maintenance end time

allowedUsers
Array of strings <objectId> [ items <objectId > ]

User IDs allowed to access during maintenance (e.g., admins)

Responses

Request samples

Content type
application/json
{
  • "maintenance": true,
  • "message": { },
  • "scheduledStart": "2019-08-24T14:15:22Z",
  • "scheduledEnd": "2019-08-24T14:15:22Z",
  • "allowedUsers": [
    ]
}

Response samples

Content type
application/json
{
  • "maintenance": true,
  • "message": { },
  • "scheduledStart": "2019-08-24T14:15:22Z",
  • "scheduledEnd": "2019-08-24T14:15:22Z",
  • "allowedUsers": [
    ]
}

marketplace

Marketplace service for managing available plugins and integrations. Defines external plugins that can be added to pages and widgets.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all marketplace plugins

Retrieve all marketplace plugins

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (marketplace)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Add a new plugin to marketplace. **[Admin only]**

Add a new plugin to marketplace. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Plugin name for internal reference

description
object

Multi-language plugin description

originLanguage
string

Original language for plugin text

url
required
string <uri>

Plugin URL or iframe source

icon
string

Plugin icon identifier

category
string
Enum: "productivity" "communication" "analytics" "integration" "other"

Plugin category

active
boolean
Default: true

Whether plugin is currently active/enabled

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "icon": "string",
  • "category": "productivity",
  • "active": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "icon": "string",
  • "category": "productivity",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a specific marketplace plugin by ID

Retrieve a specific marketplace plugin by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of marketplace to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "icon": "string",
  • "category": "productivity",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire plugin configuration. **[Admin only

Replace entire plugin configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of marketplace to update

Request Body schema: application/json
required
name
required
string

Plugin name for internal reference

description
object

Multi-language plugin description

originLanguage
string

Original language for plugin text

url
required
string <uri>

Plugin URL or iframe source

icon
string

Plugin icon identifier

category
string
Enum: "productivity" "communication" "analytics" "integration" "other"

Plugin category

active
boolean
Default: true

Whether plugin is currently active/enabled

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "icon": "string",
  • "category": "productivity",
  • "active": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "icon": "string",
  • "category": "productivity",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific plugin fields. **[Admin only]**

Update specific plugin fields. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of marketplace to update

Request Body schema: application/json
required
name
required
string

Plugin name for internal reference

description
object

Multi-language plugin description

originLanguage
string

Original language for plugin text

url
required
string <uri>

Plugin URL or iframe source

icon
string

Plugin icon identifier

category
string
Enum: "productivity" "communication" "analytics" "integration" "other"

Plugin category

active
boolean
Default: true

Whether plugin is currently active/enabled

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "icon": "string",
  • "category": "productivity",
  • "active": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "icon": "string",
  • "category": "productivity",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a marketplace plugin. **[Admin only]**

Delete a marketplace plugin. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of marketplace to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "description": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "icon": "string",
  • "category": "productivity",
  • "active": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

notifications

Notification management service for user notifications. Handles notification creation, delivery, and status tracking (read/unread, new/seen).

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve notifications for the current user. Autom

Retrieve notifications for the current user. Automatically filtered by recipient (logged-in user)

Authorizations:
bearerAuth
query Parameters
notificationType
string
Enum: "like" "comment" "mention" "task" "content" "system"

Filter by notification type

read
boolean

Filter by read status

new
boolean

Filter by new status (unseen notifications)

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new notification. **[Internal only]** Not

Create a new notification. [Internal only] Notifications are typically created by system events

Authorizations:
bearerAuth
Request Body schema: application/json
required
notificationType
required
string
Enum: "like" "comment" "mention" "task" "content" "system" "event"

Type of notification

recipient
required
string <objectId>

User who receives this notification

read
boolean
Default: false

Whether the recipient has read the notification

new
boolean
Default: true

Whether the notification is new/unseen

object

Notification-specific data (content varies by notification type)

otherUsers
integer >= 0

Number of other users involved in this notification (e.g., for grouped likes)

Responses

Request samples

Content type
application/json
{
  • "notificationType": "like",
  • "recipient": "string",
  • "read": false,
  • "new": true,
  • "notificationData": {
    },
  • "otherUsers": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "notificationType": "like",
  • "recipient": "string",
  • "read": false,
  • "new": true,
  • "notificationData": {
    },
  • "otherUsers": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single notification by ID

Retrieve a single notification by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of notifications to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "notificationType": "like",
  • "recipient": "string",
  • "read": false,
  • "new": true,
  • "notificationData": {
    },
  • "otherUsers": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Bulk update notification statuses for current user

Bulk update notification statuses for current user. Supports two actions:

  • markAllRead: Mark all notifications as read
  • markAllNonNew: Mark all notifications as seen (not new)
Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of notifications to update

Request Body schema: application/json
required
action
required
string
Enum: "markAllRead" "markAllNonNew"

Bulk action to perform on all notifications for current user

Responses

Request samples

Content type
application/json
{
  • "action": "markAllRead"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "notificationType": "like",
  • "recipient": "string",
  • "read": false,
  • "new": true,
  • "notificationData": {
    },
  • "otherUsers": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a single notification status (mark as read

Update a single notification status (mark as read or seen)

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of notifications to update

Request Body schema: application/json
required
read
boolean

Set read status

new
boolean

Set new/seen status

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "new": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "notificationType": "like",
  • "recipient": "string",
  • "read": false,
  • "new": true,
  • "notificationData": {
    },
  • "otherUsers": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a notification

Delete a notification

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of notifications to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "notificationType": "like",
  • "recipient": "string",
  • "read": false,
  • "new": true,
  • "notificationData": {
    },
  • "otherUsers": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

orgattributecategories

Organization attribute category management service. Categories group related organization attributes for better organization and filtering (e.g., "Location Attributes", "Operational Attributes", "Contact Attributes").

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all organization attribute categories

Retrieve all organization attribute categories

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for category name translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new organization attribute category. **[A

Create a new organization attribute category. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
object

Multi-language category name (e.g., {"en": "Location Attributes", "nl": "Locatie Attributen"})

originLanguage
required
string

Language code for original category name

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single organization attribute category

Retrieve a single organization attribute category by ID

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for category name translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire organization attribute category. **

Replace entire organization attribute category. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgattributecategories to update

Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
object

Multi-language category name (e.g., {"en": "Location Attributes", "nl": "Locatie Attributen"})

originLanguage
required
string

Language code for original category name

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update organization attribute category.

Partially update organization attribute category. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgattributecategories to update

Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
object

Multi-language category name (e.g., {"en": "Location Attributes", "nl": "Locatie Attributen"})

originLanguage
required
string

Language code for original category name

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete an organization attribute category. Warning

Delete an organization attribute category. Warning: Cannot delete if attributes exist in this category. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgattributecategories to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

orgattributes

Organization attribute management service. Attributes are additional metadata that can be assigned to organization chart nodes (e.g., "Second Floor", "City Center", "Open 24/7"). Used for advanced filtering and targeting.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all organization attributes with optional

Retrieve all organization attributes with optional language filtering

Authorizations:
bearerAuth
query Parameters
category
string <objectId>

Filter by category ID

header Parameters
lang
string

Language code for attribute name translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new organization attribute. **[Admin only

Create a new organization attribute. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
object

Multi-language attribute name (e.g., {"en": "Second Floor", "nl": "Tweede Verdieping"})

originLanguage
required
string

Language code for original attribute name

imported
boolean

Whether attribute was imported from external system (true) or manually created (false)

category
required
string <objectId>

Reference to organization attribute category for grouping

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single organization attribute by ID

Retrieve a single organization attribute by ID

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for attribute name translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire organization attribute. **[Admin on

Replace entire organization attribute. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgattributes to update

Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
object

Multi-language attribute name (e.g., {"en": "Second Floor", "nl": "Tweede Verdieping"})

originLanguage
required
string

Language code for original attribute name

imported
boolean

Whether attribute was imported from external system (true) or manually created (false)

category
required
string <objectId>

Reference to organization attribute category for grouping

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update organization attribute. **[Admin

Partially update organization attribute. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgattributes to update

Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
object

Multi-language attribute name (e.g., {"en": "Second Floor", "nl": "Tweede Verdieping"})

originLanguage
required
string

Language code for original attribute name

imported
boolean

Whether attribute was imported from external system (true) or manually created (false)

category
required
string <objectId>

Reference to organization attribute category for grouping

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete an organization attribute. Warning: Removes

Delete an organization attribute. Warning: Removes from all org chart nodes using it. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgattributes to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": { },
  • "originLanguage": "string",
  • "imported": true,
  • "category": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

orgchart

Organization chart management service. Manages hierarchical organizational structure with nodes representing departments, locations, teams, etc.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve organization chart nodes with optional fi

Retrieve organization chart nodes with optional filtering by parent, ancestors, type, or user access

Authorizations:
bearerAuth
query Parameters
parent
string <objectId>

Filter by parent node ID (null for root nodes)

ancestors
string

Filter by ancestor node ID (returns all descendants)

filterByUser
string

Filter nodes accessible to specific user ID (based on user permissions)

type
string <objectId>

Filter by organization type ID

allFields
boolean

Include all fields in response (by default, returns limited fields for performance)

header Parameters
lang
string

Language code for translated fields

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new organization chart node. Automaticall

Create a new organization chart node. Automatically updates hierarchical structure (ancestors, children). [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified for org chart nodes)

name
required
string

Node name (should be unique among siblings)

type
string <objectId>

Reference to organization type (defines node category)

profilePicture
string

S3 path to node profile image/logo

generalInformation
object

Multi-language textual description (e.g., {"en": "Main Office", "nl": "Hoofdkantoor"})

object

Contact details for this organizational node

additionalInformation
object

Custom key-value pairs for additional data

Array of objects

Opening hours schedule (ISO weekday format)

excludeFromContacts
boolean

If true, exclude this node from contact search results

parent
required
string

Parent node ID. All nodes must have a parent except root (cannot create/delete root)

attributes
object

Organization attributes assigned to this node (references orgattributes collection)

externalRef
string

External system reference/ID for integration

originLanguage
string

Language code for original content

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "profilePicture": "string",
  • "generalInformation": { },
  • "contactInformation": {
    },
  • "additionalInformation": { },
  • "openingTimes": [
    ],
  • "excludeFromContacts": true,
  • "parent": "string",
  • "attributes": { },
  • "externalRef": "string",
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "profilePicture": "string",
  • "generalInformation": { },
  • "contactInformation": {
    },
  • "additionalInformation": { },
  • "openingTimes": [
    ],
  • "excludeFromContacts": true,
  • "namepath": "string",
  • "idpath": "string",
  • "parent": "string",
  • "ancestors": [
    ],
  • "children": [
    ],
  • "attributes": { },
  • "externalRef": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single organization chart node by ID

Retrieve a single organization chart node by ID

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for translated fields

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "profilePicture": "string",
  • "generalInformation": { },
  • "contactInformation": {
    },
  • "additionalInformation": { },
  • "openingTimes": [
    ],
  • "excludeFromContacts": true,
  • "namepath": "string",
  • "idpath": "string",
  • "parent": "string",
  • "ancestors": [
    ],
  • "children": [
    ],
  • "attributes": { },
  • "externalRef": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Bulk update multiple nodes in a single operation (

Bulk update multiple nodes in a single operation (max 100 nodes). Avoids multiple structure rebuilds. Provide _id in each object to update. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of orgchart to update

Request Body schema: application/json
required
Array (<= 100 items)
_id
required
string

Unique identifier (must be manually specified for org chart nodes)

name
required
string

Node name (should be unique among siblings)

type
string <objectId>

Reference to organization type (defines node category)

profilePicture
string

S3 path to node profile image/logo

generalInformation
object

Multi-language textual description (e.g., {"en": "Main Office", "nl": "Hoofdkantoor"})

object

Contact details for this organizational node

additionalInformation
object

Custom key-value pairs for additional data

Array of objects

Opening hours schedule (ISO weekday format)

excludeFromContacts
boolean

If true, exclude this node from contact search results

parent
required
string

Parent node ID. All nodes must have a parent except root (cannot create/delete root)

attributes
object

Organization attributes assigned to this node (references orgattributes collection)

externalRef
string

External system reference/ID for integration

originLanguage
string

Language code for original content

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "profilePicture": "string",
  • "generalInformation": { },
  • "contactInformation": {
    },
  • "additionalInformation": { },
  • "openingTimes": [
    ],
  • "excludeFromContacts": true,
  • "namepath": "string",
  • "idpath": "string",
  • "parent": "string",
  • "ancestors": [
    ],
  • "children": [
    ],
  • "attributes": { },
  • "externalRef": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of an organization chart no

Update specific fields of an organization chart node. [Admin/Supervisor only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of orgchart to update

Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified for org chart nodes)

name
required
string

Node name (should be unique among siblings)

type
string <objectId>

Reference to organization type (defines node category)

profilePicture
string

S3 path to node profile image/logo

generalInformation
object

Multi-language textual description (e.g., {"en": "Main Office", "nl": "Hoofdkantoor"})

object

Contact details for this organizational node

additionalInformation
object

Custom key-value pairs for additional data

Array of objects

Opening hours schedule (ISO weekday format)

excludeFromContacts
boolean

If true, exclude this node from contact search results

parent
required
string

Parent node ID. All nodes must have a parent except root (cannot create/delete root)

attributes
object

Organization attributes assigned to this node (references orgattributes collection)

externalRef
string

External system reference/ID for integration

originLanguage
string

Language code for original content

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "profilePicture": "string",
  • "generalInformation": { },
  • "contactInformation": {
    },
  • "additionalInformation": { },
  • "openingTimes": [
    ],
  • "excludeFromContacts": true,
  • "parent": "string",
  • "attributes": { },
  • "externalRef": "string",
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "profilePicture": "string",
  • "generalInformation": { },
  • "contactInformation": {
    },
  • "additionalInformation": { },
  • "openingTimes": [
    ],
  • "excludeFromContacts": true,
  • "namepath": "string",
  • "idpath": "string",
  • "parent": "string",
  • "ancestors": [
    ],
  • "children": [
    ],
  • "attributes": { },
  • "externalRef": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete an organization chart node. Validates no re

Delete an organization chart node. Validates no references exist (users, content, etc.) unless force=true. Use dryrun=true to check if deletion is possible. [Admin only]

Authorizations:
bearerAuth
query Parameters
force
boolean

Force deletion even if references exist (orphans related data)

dryrun
boolean

Dry run - check if node can be deleted without making changes. Returns validation report

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "profilePicture": "string",
  • "generalInformation": { },
  • "contactInformation": {
    },
  • "additionalInformation": { },
  • "openingTimes": [
    ],
  • "excludeFromContacts": true,
  • "namepath": "string",
  • "idpath": "string",
  • "parent": "string",
  • "ancestors": [
    ],
  • "children": [
    ],
  • "attributes": { },
  • "externalRef": "string",
  • "originLanguage": "string",
  • "translators": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

orgtypes

Organization type management service. Defines categories for organization chart nodes (e.g., "Department", "Store", "Region"). Supports hierarchical organization type structures.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all organization types. Accessible to all

Retrieve all organization types. Accessible to all users

Authorizations:
bearerAuth
query Parameters
parent
string

Filter by parent type ID (for hierarchical types)

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new organization type. **[System only]**

Create a new organization type. [System only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
string

Organization type name (e.g., "Store", "Department", "Region")

imported
boolean

Whether type was imported from external system (true) or manually created (false)

description
string

Textual description of the organization type

orderIndex
integer

Sort order for display (lower numbers appear first)

parent
string

Parent type ID for hierarchical organization types

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single organization type by ID. Accessi

Retrieve a single organization type by ID. Accessible to all users

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgtypes to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire organization type. **[System only]*

Replace entire organization type. [System only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgtypes to update

Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
string

Organization type name (e.g., "Store", "Department", "Region")

imported
boolean

Whether type was imported from external system (true) or manually created (false)

description
string

Textual description of the organization type

orderIndex
integer

Sort order for display (lower numbers appear first)

parent
string

Parent type ID for hierarchical organization types

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update organization type. **[System only

Partially update organization type. [System only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgtypes to update

Request Body schema: application/json
required
_id
required
string

Unique identifier (must be manually specified)

name
required
string

Organization type name (e.g., "Store", "Department", "Region")

imported
boolean

Whether type was imported from external system (true) or manually created (false)

description
string

Textual description of the organization type

orderIndex
integer

Sort order for display (lower numbers appear first)

parent
string

Parent type ID for hierarchical organization types

Responses

Request samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete an organization type. Warning: Cannot delet

Delete an organization type. Warning: Cannot delete if nodes are using this type. [System only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of orgtypes to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "imported": true,
  • "description": "string",
  • "orderIndex": 0,
  • "parent": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

pages

Page navigation service for managing application pages and navigation structure. Typically uses a single configuration document. Pages are automatically filtered by user permissions (orgunits and groups).

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve page configuration. Returns pages filtere

Retrieve page configuration. Returns pages filtered by current user permissions unless user has navigation.admin role

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (pages)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create page configuration. **[Admin only]**

Create page configuration. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects

Array of pages in navigation structure

Responses

Request samples

Content type
application/json
{
  • "pages": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve specific page configuration by ID

Retrieve specific page configuration by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of pages to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire page configuration. Triggers pagesC

Replace entire page configuration. Triggers pagesChanged event. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of pages to update

Request Body schema: application/json
required
required
Array of objects

Array of pages in navigation structure

Responses

Request samples

Content type
application/json
{
  • "pages": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields in page configuration. Trig

Update specific fields in page configuration. Triggers pagesChanged event. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of pages to update

Request Body schema: application/json
required
required
Array of objects

Array of pages in navigation structure

Responses

Request samples

Content type
application/json
{
  • "pages": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete page configuration. **[Admin only]**

Delete page configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of pages to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

permissions

Permission management service for defining granular access controls. Permissions are assigned to roles which are then assigned to users.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve available permissions in the system. Acce

Retrieve available permissions in the system. Access is limited to users with roles.admin or configs.admin.

Authorizations:
bearerAuth
query Parameters
category
string

Filter permissions by category. Leading and trailing whitespace is trimmed.

isSuperAdminPermission
boolean

Boolean filter for super-admin permissions. When set to true, only Keephub admins (configs.admin) can request the expanded categorized result set.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new permission. **[System only]**

Create a new permission. [System only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
value
required
string

Permission identifier (e.g., "content.create", "user.manage", "reports.view")

description
string

Human-readable description of what this permission grants

category
string

Permission category for grouping (e.g., "content", "users", "administration")

isSuperAdminPermission
boolean

Indicates whether the permission is reserved for super-admin or Keephub admin functionality

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single permission by ID

Retrieve a single permission by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of permissions to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire permission. **[System only]**

Replace entire permission. [System only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of permissions to update

Request Body schema: application/json
required
value
required
string

Permission identifier (e.g., "content.create", "user.manage", "reports.view")

description
string

Human-readable description of what this permission grants

category
string

Permission category for grouping (e.g., "content", "users", "administration")

isSuperAdminPermission
boolean

Indicates whether the permission is reserved for super-admin or Keephub admin functionality

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update permission. **[System only]**

Partially update permission. [System only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of permissions to update

Request Body schema: application/json
required
value
required
string

Permission identifier (e.g., "content.create", "user.manage", "reports.view")

description
string

Human-readable description of what this permission grants

category
string

Permission category for grouping (e.g., "content", "users", "administration")

isSuperAdminPermission
boolean

Indicates whether the permission is reserved for super-admin or Keephub admin functionality

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a permission. Warning: Roles using this per

Delete a permission. Warning: Roles using this permission will lose access. [System only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of permissions to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "value": "string",
  • "description": "string",
  • "category": "string",
  • "isSuperAdminPermission": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

pushmessages

Push message management service for creating and tracking push notification messages. Messages are queued and processed by background workers. Supports multi-create for batch operations.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve push messages with status tracking

Retrieve push messages with status tracking

Authorizations:
bearerAuth
query Parameters
status
string
Enum: "new" "converted" "processed" "failed"

Filter by message status

origin
string
Enum: "content" "task" "comment" "system"

Filter by origin type

originId
string

Filter by origin entity ID

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create push message(s) for delivery. Supports batc

Create push message(s) for delivery. Supports batch creation with array input. [Internal only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
One of
status
string
Default: "new"
Enum: "new" "converted" "processed" "failed"

Processing status of the push message

sendTime
string <date-time>

Scheduled time for push delivery

message
required
string

Push notification message text

title
string

Push notification title

origin
required
string
Enum: "content" "task" "comment" "system" "chat"

Type of entity that triggered the push notification

originId
required
string <objectId>

ID of the entity that triggered the push

userId
string <objectId>

Target user ID for the push notification

data
object

Additional data payload for the push notification

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "_id": "string",
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { },
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates multiple resources.

Updates multiple resources.

Request Body schema: application/json
required
total
number

Pagination response, total number of results

limit
number

Pagination response, result set is limited to

skip
number

Pagination response, results skipped

Array of objects (pushmessages)

Actual data

Responses

Request samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Updates multiple resources queried by given filter

Updates multiple resources queried by given filters.

query Parameters
object (pushmessages)

Query parameters to filter

Request Body schema: application/json
required
status
string
Default: "new"
Enum: "new" "converted" "processed" "failed"

Processing status of the push message

sendTime
string <date-time>

Scheduled time for push delivery

message
required
string

Push notification message text

title
string

Push notification title

origin
required
string
Enum: "content" "task" "comment" "system" "chat"

Type of entity that triggered the push notification

originId
required
string <objectId>

ID of the entity that triggered the push

userId
string <objectId>

Target user ID for the push notification

data
object

Additional data payload for the push notification

Responses

Request samples

Content type
application/json
{
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Removes multiple resources queried by given filter

Removes multiple resources queried by given filters.

query Parameters
object (pushmessages)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Retrieve a single push message by ID

Retrieve a single push message by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessages to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { },
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire push message. **[Internal only]**

Replace entire push message. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessages to update

Request Body schema: application/json
required
status
string
Default: "new"
Enum: "new" "converted" "processed" "failed"

Processing status of the push message

sendTime
string <date-time>

Scheduled time for push delivery

message
required
string

Push notification message text

title
string

Push notification title

origin
required
string
Enum: "content" "task" "comment" "system" "chat"

Type of entity that triggered the push notification

originId
required
string <objectId>

ID of the entity that triggered the push

userId
string <objectId>

Target user ID for the push notification

data
object

Additional data payload for the push notification

Responses

Request samples

Content type
application/json
{
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { },
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update push message status or fields. **[Internal

Update push message status or fields. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessages to update

Request Body schema: application/json
required
status
string
Default: "new"
Enum: "new" "converted" "processed" "failed"

Processing status of the push message

sendTime
string <date-time>

Scheduled time for push delivery

message
required
string

Push notification message text

title
string

Push notification title

origin
required
string
Enum: "content" "task" "comment" "system" "chat"

Type of entity that triggered the push notification

originId
required
string <objectId>

ID of the entity that triggered the push

userId
string <objectId>

Target user ID for the push notification

data
object

Additional data payload for the push notification

Responses

Request samples

Content type
application/json
{
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { },
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a push message. **[Internal only]**

Delete a push message. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessages to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "status": "new",
  • "sendTime": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "origin": "content",
  • "originId": "string",
  • "userId": "string",
  • "data": { },
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

pushmessagesqueue

Push message queue service for managing individual push notification delivery attempts. Each queue entry represents a push message to a specific user/device. [Internal only] Managed by background workers.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve push message queue entries with status tr

Retrieve push message queue entries with status tracking

Authorizations:
bearerAuth
query Parameters
status
string
Enum: "pending" "sent" "failed" "retry"

Filter by queue entry status

pushMessage
string <objectId>

Filter by push message reference

userId
string

Filter by user ID

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create queue entry for push delivery. **[Internal

Create queue entry for push delivery. [Internal only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
pushMessage
required
string <objectId>

Reference to parent push message

userId
required
string <objectId>

Target user for this queue entry

status
string
Default: "pending"
Enum: "pending" "sent" "failed" "retry"

Delivery status of this queue entry

message
string

Resolved message text for this user

title
string

Resolved notification title

deviceToken
string

FCM/APNS device token for delivery

platform
string
Enum: "ios" "android" "web"

Target platform

retryCount
integer
Default: 0

Number of delivery retry attempts

Responses

Request samples

Content type
application/json
{
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "sentAt": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0,
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single queue entry by ID

Retrieve a single queue entry by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessagesqueue to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "sentAt": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0,
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire queue entry. **[Internal only]**

Replace entire queue entry. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessagesqueue to update

Request Body schema: application/json
required
pushMessage
required
string <objectId>

Reference to parent push message

userId
required
string <objectId>

Target user for this queue entry

status
string
Default: "pending"
Enum: "pending" "sent" "failed" "retry"

Delivery status of this queue entry

message
string

Resolved message text for this user

title
string

Resolved notification title

deviceToken
string

FCM/APNS device token for delivery

platform
string
Enum: "ios" "android" "web"

Target platform

retryCount
integer
Default: 0

Number of delivery retry attempts

Responses

Request samples

Content type
application/json
{
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "sentAt": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0,
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update queue entry status. **[Internal only]**

Update queue entry status. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessagesqueue to update

Request Body schema: application/json
required
pushMessage
required
string <objectId>

Reference to parent push message

userId
required
string <objectId>

Target user for this queue entry

status
string
Default: "pending"
Enum: "pending" "sent" "failed" "retry"

Delivery status of this queue entry

message
string

Resolved message text for this user

title
string

Resolved notification title

deviceToken
string

FCM/APNS device token for delivery

platform
string
Enum: "ios" "android" "web"

Target platform

retryCount
integer
Default: 0

Number of delivery retry attempts

Responses

Request samples

Content type
application/json
{
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "sentAt": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0,
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a queue entry. **[Internal only]**

Delete a queue entry. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushmessagesqueue to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pushMessage": "string",
  • "userId": "string",
  • "status": "pending",
  • "sentAt": "2019-08-24T14:15:22Z",
  • "message": "string",
  • "title": "string",
  • "deviceToken": "string",
  • "platform": "ios",
  • "retryCount": 0,
  • "errorMessage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

pushnotificationsettings

A service for getting client specific translations overrides for push notifications

Get client specific translations overrides for pus

Get client specific translations overrides for push notifications

Authorizations:
bearerAuth
query Parameters
$limit
any

Number of results to return

$skip
any

Number of results to skip

$sort
any

Property to sort results

$select[]
any

Select list of fields for results

disableTranslationsFilter
any

Disable translation filter for this service (if present)

cid
any

Client ID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Creates a new resource with data.

Creates a new resource with data.

Authorizations:
bearerAuth
Request Body schema: application/json
required
type
string

Specific types of push notifications

title
object

Client specific translations overrides for push notifications

createdBy
string

Field populated by system, reference to user who created translation for one of the push notifications

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated translation for one of the push notifications

updatedAt
string

Field populated by system, timestamp of last update

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Retrieves a single resource with the given id from

Retrieves a single resource with the given id from the service.

path Parameters
_id
required
string

ID of pushnotificationsettings to return

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushnotificationsettings to update

Request Body schema: application/json
required
type
string

Specific types of push notifications

title
object

Client specific translations overrides for push notifications

createdBy
string

Field populated by system, reference to user who created translation for one of the push notifications

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated translation for one of the push notifications

updatedAt
string

Field populated by system, timestamp of last update

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushnotificationsettings to update

Request Body schema: application/json
required
type
string

Specific types of push notifications

title
object

Client specific translations overrides for push notifications

createdBy
string

Field populated by system, reference to user who created translation for one of the push notifications

createdAt
string

Field populated by system, timestamp of creation

updatedBy
string

Field populated by system, reference to user who updated translation for one of the push notifications

updatedAt
string

Field populated by system, timestamp of last update

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

Removes the resource with id.

Removes the resource with id.

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushnotificationsettings to remove

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": { },
  • "createdBy": "string",
  • "createdAt": "string",
  • "updatedBy": "string",
  • "updatedAt": "string"
}

pushsubscriptions

Push subscription management service for device registration. Users register their devices to receive push notifications. Subscriptions are active when loggedOn=true AND pushPermission=true.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve user push subscriptions. Users can only s

Retrieve user push subscriptions. Users can only see their own subscriptions

Authorizations:
bearerAuth
query Parameters
createdBy
string

Filter by user ID (restricted to current user)

platform
string
Enum: "ios" "android" "web"

Filter by platform

loggedOn
boolean

Filter by logged on status

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Register device for push notifications. Creates su

Register device for push notifications. Creates subscription with device tokens and platform info

Authorizations:
bearerAuth
Request Body schema: application/json
required
udid
required
string

Unique device identifier (UUID for mobile, generated for web)

pushPermission
boolean
Default: false

Whether user granted push notification permission

platform
required
string
Enum: "ios" "android" "web"

Device platform type

pushToken
string

FCM push token (used by Android and Web)

apnsPushToken
string

APNs push token (iOS only)

subscriptionId
string
Deprecated

Deprecated - kept for backward compatibility

loggedOn
boolean
Default: true

Whether user is currently logged into the app on this device

update
boolean
Deprecated

Deprecated - kept for backward compatibility

deviceInfo
object

Additional device information (OS version, app version, etc.)

Responses

Request samples

Content type
application/json
{
  • "udid": "string",
  • "pushPermission": false,
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "udid": "string",
  • "pushPermission": false,
  • "lastRequest": "2019-08-24T14:15:22Z",
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single push subscription by ID

Retrieve a single push subscription by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushsubscriptions to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "udid": "string",
  • "pushPermission": false,
  • "lastRequest": "2019-08-24T14:15:22Z",
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire push subscription

Replace entire push subscription

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushsubscriptions to update

Request Body schema: application/json
required
udid
required
string

Unique device identifier (UUID for mobile, generated for web)

pushPermission
boolean
Default: false

Whether user granted push notification permission

platform
required
string
Enum: "ios" "android" "web"

Device platform type

pushToken
string

FCM push token (used by Android and Web)

apnsPushToken
string

APNs push token (iOS only)

subscriptionId
string
Deprecated

Deprecated - kept for backward compatibility

loggedOn
boolean
Default: true

Whether user is currently logged into the app on this device

update
boolean
Deprecated

Deprecated - kept for backward compatibility

deviceInfo
object

Additional device information (OS version, app version, etc.)

Responses

Request samples

Content type
application/json
{
  • "udid": "string",
  • "pushPermission": false,
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "udid": "string",
  • "pushPermission": false,
  • "lastRequest": "2019-08-24T14:15:22Z",
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update push subscription (e.g., update tokens, log

Update push subscription (e.g., update tokens, logged on status, permissions)

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushsubscriptions to update

Request Body schema: application/json
required
udid
required
string

Unique device identifier (UUID for mobile, generated for web)

pushPermission
boolean
Default: false

Whether user granted push notification permission

platform
required
string
Enum: "ios" "android" "web"

Device platform type

pushToken
string

FCM push token (used by Android and Web)

apnsPushToken
string

APNs push token (iOS only)

subscriptionId
string
Deprecated

Deprecated - kept for backward compatibility

loggedOn
boolean
Default: true

Whether user is currently logged into the app on this device

update
boolean
Deprecated

Deprecated - kept for backward compatibility

deviceInfo
object

Additional device information (OS version, app version, etc.)

Responses

Request samples

Content type
application/json
{
  • "udid": "string",
  • "pushPermission": false,
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "udid": "string",
  • "pushPermission": false,
  • "lastRequest": "2019-08-24T14:15:22Z",
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Unregister device from push notifications

Unregister device from push notifications

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of pushsubscriptions to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "udid": "string",
  • "pushPermission": false,
  • "lastRequest": "2019-08-24T14:15:22Z",
  • "platform": "ios",
  • "pushToken": "string",
  • "apnsPushToken": "string",
  • "subscriptionId": "string",
  • "loggedOn": true,
  • "update": true,
  • "deviceInfo": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

reach

Reach calculation service for determining how many users will be targeted by content, tasks, or navigation based on filters. Helps content creators understand audience size before publishing.

Note: This is a create-only service that returns calculated reach metrics.

Calculate reach based on targeting parameters. Sup

Calculate reach based on targeting parameters. Supports three query types:

  • orgUnitBelong: Count users in specific org units
  • relevantParams: Get suggested targeting parameters
  • calculateReach: Calculate total reach with all filters applied
Authorizations:
bearerAuth
Request Body schema: application/json
required
type
required
string
Enum: "orgUnitBelong" "relevantParams" "calculateReach"

Type of reach calculation to perform

contentPool
string <objectId>

Content pool ID (for content/folders). If orgtype is defined in CP, orgchartSelection is ignored relative to user position

object

Organization chart selection for targeting

object

Organization attribute filters

object

Group targeting configuration

onlyActiveUsers
boolean
Default: false

Include only active users in reach calculation

firstLoginDone
boolean
Default: false

Include only users who have completed first login (not used for calculateReach)

excludeFromTasks
boolean
Default: false

Exclude users marked as excluded from tasks

Responses

Request samples

Content type
application/json
{
  • "type": "orgUnitBelong",
  • "contentPool": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": {
    },
  • "groups": {
    },
  • "onlyActiveUsers": false,
  • "firstLoginDone": false,
  • "excludeFromTasks": false
}

Response samples

Content type
application/json
{
  • "reach": 0,
  • "orgunits": [
    ],
  • "groups": [
    ]
}

reactions

Reaction management service for content and comments (likes, etc.). Users can add or remove reactions but not edit them. One reaction per user per item.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve reactions for specific content or comment

Retrieve reactions for specific content or comment. Must provide either contentsref or commentref with type

Authorizations:
bearerAuth
query Parameters
contentsref
string <objectId>

Filter by content ID (for content reactions)

commentref
string <objectId>

Filter by comment ID (for comment reactions)

type
string
Enum: "messageReaction" "commentReaction"

Reaction type

createdBy
string

Filter by reaction creator user ID

reaction
string

Filter by reaction emoji/icon

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Add a new reaction to content or comment. Requirem

Add a new reaction to content or comment. Requirements:

  • Content/comment must have reactions enabled
  • User cannot have existing reaction on the same item
  • Valid type and reference must be provided
Authorizations:
bearerAuth
Request Body schema: application/json
required
type
required
string
Enum: "messageReaction" "commentReaction"

Type of reaction target

reaction
required
string

Reaction emoji or icon identifier (e.g., "👍", "❤️", "like")

contentsref
string <objectId>

Reference to content (required for messageReaction)

commentref
string <objectId>

Reference to comment (required for commentReaction)

Responses

Request samples

Content type
application/json
{
  • "type": "messageReaction",
  • "reaction": "string",
  • "contentsref": "string",
  • "commentref": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "type": "messageReaction",
  • "reaction": "string",
  • "contentsref": "string",
  • "commentref": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

path Parameters
id
required
string

ID of reactions to update

Request Body schema: application/json
required
type
required
string
Enum: "messageReaction" "commentReaction"

Type of reaction target

reaction
required
string

Reaction emoji or icon identifier (e.g., "👍", "❤️", "like")

contentsref
string <objectId>

Reference to content (required for messageReaction)

commentref
string <objectId>

Reference to comment (required for commentReaction)

Responses

Request samples

Content type
application/json
{
  • "type": "messageReaction",
  • "reaction": "string",
  • "contentsref": "string",
  • "commentref": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "type": "messageReaction",
  • "reaction": "string",
  • "contentsref": "string",
  • "commentref": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Remove a reaction by reaction ID. Only the creator

Remove a reaction by reaction ID. Only the creator or admins can remove reactions

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of reactions to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "type": "messageReaction",
  • "reaction": "string",
  • "contentsref": "string",
  • "commentref": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

reports

Reports generation service for analytics and insights. Generates various report types including user activity, content engagement, and gamification metrics over specified time periods.

Note: This is a create-only service that generates and returns report data based on specified parameters.

Generate a report based on specified parameters. S

Generate a report based on specified parameters. Supports various report types:

  • Report Types: activeUsersBasedOnLastActivity, contentWeeklyReport, taskMonthlyReport, usersForUsageReport, turnoverRate, adoptionRate, userActivityHeatMap, searchResults, averageResults, averageUseStats
  • Time Intervals (pointType): all, ever, 24h, 7d, 30d, month, never, last12weeks

Common report types include:

  • activeUsersBasedOnLastActivity: User login activity percentages
  • contentEngagement: Content view and interaction metrics
  • taskCompletion: Task completion rates over time
  • pointsDistribution: Gamification points distribution
Authorizations:
bearerAuth
Request Body schema: application/json
required
reportType
required
string
Enum: "activeUsersBasedOnLastActivity" "contentWeeklyReport" "taskMonthlyReport" "usersForUsageReport" "turnoverRate" "adoptionRate" "userActivityHeatMap" "searchResults" "averageResults" "averageUseStats"

Type of report to generate. Options: activeUsersBasedOnLastActivity, contentWeeklyReport, taskMonthlyReport, usersForUsageReport, turnoverRate, adoptionRate, userActivityHeatMap, searchResults, averageResults, averageUseStats

pointType
string
Enum: "all" "ever" "24h" "7d" "30d" "month" "never" "last12weeks"

Time granularity for data points. Options: all, ever, 24h, 7d, 30d, month, never, last12weeks

startDate
required
string <date-time>

Start date of reporting period

endDate
required
string <date-time>

End date of reporting period (can be in the future for projections)

orgunits
Array of strings <objectId> [ items <objectId > ]

Filter by specific organization units

groups
Array of strings <objectId> [ items <objectId > ]

Filter by specific groups

contentPools
Array of strings <objectId> [ items <objectId > ]

Filter by specific content pools

Responses

Request samples

Content type
application/json
{
  • "reportType": "activeUsersBasedOnLastActivity",
  • "pointType": "all",
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "contentPools": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

rewards

Reward/achievement system service for gamification. Defines rewards that are automatically granted to users based on query conditions (e.g., completing tasks, reaching milestones).

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all reward definitions

Retrieve all reward definitions

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (rewards)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new reward definition with query pipeline

Create a new reward definition with query pipeline. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
rewardType
required
string
Enum: "achievement" "milestone" "activity" "contribution"

Type of reward

points
number >= 0

Number of points awarded to user

coins
number >= 0

Number of coins awarded to user

pipeline
required
string

MongoDB aggregation pipeline (JSON string) to find eligible users

collectionName
required
string

Collection name on which pipeline query is executed

description
string

Reward description explaining what triggers it

title
string

Reward title displayed to users

oneTimeReward
boolean
Default: false

If true, reward is granted only once per user; if false, granted every time condition is met

active
boolean
Default: true

Whether reward is currently active

icon
string

Icon identifier for reward badge

Responses

Request samples

Content type
application/json
{
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a specific reward by ID

Retrieve a specific reward by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of rewards to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire reward configuration. **[Admin only

Replace entire reward configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of rewards to update

Request Body schema: application/json
required
rewardType
required
string
Enum: "achievement" "milestone" "activity" "contribution"

Type of reward

points
number >= 0

Number of points awarded to user

coins
number >= 0

Number of coins awarded to user

pipeline
required
string

MongoDB aggregation pipeline (JSON string) to find eligible users

collectionName
required
string

Collection name on which pipeline query is executed

description
string

Reward description explaining what triggers it

title
string

Reward title displayed to users

oneTimeReward
boolean
Default: false

If true, reward is granted only once per user; if false, granted every time condition is met

active
boolean
Default: true

Whether reward is currently active

icon
string

Icon identifier for reward badge

Responses

Request samples

Content type
application/json
{
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific reward fields. **[Admin only]**

Update specific reward fields. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of rewards to update

Request Body schema: application/json
required
rewardType
required
string
Enum: "achievement" "milestone" "activity" "contribution"

Type of reward

points
number >= 0

Number of points awarded to user

coins
number >= 0

Number of coins awarded to user

pipeline
required
string

MongoDB aggregation pipeline (JSON string) to find eligible users

collectionName
required
string

Collection name on which pipeline query is executed

description
string

Reward description explaining what triggers it

title
string

Reward title displayed to users

oneTimeReward
boolean
Default: false

If true, reward is granted only once per user; if false, granted every time condition is met

active
boolean
Default: true

Whether reward is currently active

icon
string

Icon identifier for reward badge

Responses

Request samples

Content type
application/json
{
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a reward definition. **[Admin only]**

Delete a reward definition. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of rewards to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "rewardType": "achievement",
  • "points": 0,
  • "coins": 0,
  • "pipeline": "string",
  • "collectionName": "string",
  • "description": "string",
  • "title": "string",
  • "oneTimeReward": false,
  • "active": true,
  • "icon": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

roles

Role management service for defining user permission levels. Roles determine what actions users can perform in the system.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve roles. Results are filtered by the curren

Retrieve roles. Results are filtered by the current user level to prevent privilege escalation unless the caller already has full role access. When management=true, each returned role also includes userCount.

Authorizations:
bearerAuth
query Parameters
name
string

Filter by an exact role name.

name.$search
string

Case-insensitive partial search on role name. Minimum length: 3 characters.

roleTitle.$search
string

Legacy alias for name.$search.

default
boolean

Filter roles by whether they are default roles.

isProtected
boolean

Filter roles by whether they are protected from modification/deletion.

management
boolean

When true, include userCount in each returned role.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new role with specified permissions. **[R

Create a new role with specified permissions. [Requires roles.admin or roles.system]

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Role name (e.g., "Content Manager", "Supervisor")

level
required
string
Enum: "user" "supervisor" "admin" "keephubAdmin" "system"

Role hierarchy level determining access scope

default
boolean

Indicates whether the role is a default system role

hidden
boolean

Indicates whether the role is hidden from normal role selection flows

description
string

Optional human-readable description of the role

isProtected
boolean

Protected roles cannot be edited or deleted through the API

permissions
Array of strings <objectId> [ items <objectId > ]

Permission IDs assigned to this role

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userCount": 0
}

Retrieve a single role by ID

Retrieve a single role by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of roles to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userCount": 0
}

Replace entire role configuration. **[Requires `ro

Replace entire role configuration. [Requires roles.admin or roles.system]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of roles to update

Request Body schema: application/json
required
name
required
string

Role name (e.g., "Content Manager", "Supervisor")

level
required
string
Enum: "user" "supervisor" "admin" "keephubAdmin" "system"

Role hierarchy level determining access scope

default
boolean

Indicates whether the role is a default system role

hidden
boolean

Indicates whether the role is hidden from normal role selection flows

description
string

Optional human-readable description of the role

isProtected
boolean

Protected roles cannot be edited or deleted through the API

permissions
Array of strings <objectId> [ items <objectId > ]

Permission IDs assigned to this role

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userCount": 0
}

Partially update role permissions. **[Requires `ro

Partially update role permissions. [Requires roles.admin or roles.system]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of roles to update

Request Body schema: application/json
required
name
required
string

Role name (e.g., "Content Manager", "Supervisor")

level
required
string
Enum: "user" "supervisor" "admin" "keephubAdmin" "system"

Role hierarchy level determining access scope

default
boolean

Indicates whether the role is a default system role

hidden
boolean

Indicates whether the role is hidden from normal role selection flows

description
string

Optional human-readable description of the role

isProtected
boolean

Protected roles cannot be edited or deleted through the API

permissions
Array of strings <objectId> [ items <objectId > ]

Permission IDs assigned to this role

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userCount": 0
}

Delete a role. Warning: Users with this role will

Delete a role. Warning: Users with this role will lose associated permissions. [Requires roles.admin or roles.system]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of roles to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "level": "user",
  • "default": true,
  • "hidden": true,
  • "description": "string",
  • "isProtected": true,
  • "permissions": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userCount": 0
}

search

Unified search service for finding content, users, tasks, and external resources. Supports Elasticsearch for internal content and optional SharePoint integration.

Search Types: contents, contacts, anniversary, externalcontents, folders, all

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Execute search across specified type with full-tex

Execute search across specified type with full-text search capabilities

Authorizations:
bearerAuth
query Parameters
searchTerm
string

Search term for full-text search

searchType
required
string
Enum: "contents" "contacts" "anniversary" "externalcontents" "folders" "all"

Search type - determines what to search for

contactTypes
string
Enum: "users" "orgunits" "externalcontacts" "all"

Contact types filter (only for searchType=contacts). Multiple types comma-separated

anniversaryType
string
Value: "birthdays"

Anniversary type filter (only for searchType=anniversary)

contentType
string
Enum: "news" "event" "poll" "manual" "faq" "form" "training"

Content type filter (only for searchType=contents)

skipCurrentUser
boolean

Exclude current user from search results

header Parameters
lang
string

Language code for search results

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

sentimentanalysis

An internal service for sentiment analysis.

Creates a new resource with data.

Creates a new resource with data.

query Parameters
$limit
any

Number of results to return

$skip
any

Number of results to skip

$sort
any

Property to sort results

$select[]
any

Select list of fields for results

disableTranslationsFilter
any

Disable translation filter for this service (if present)

Request Body schema: application/json
required
text
string

Text that will be analyzed

originLanguage
string

Language of supplied text

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "text": "string",
  • "originLanguage": "string"
}

signurl

Signed URL service for secure S3 file access and uploads. Generates pre-signed URLs for downloading attachments, videos, and uploading files. Also supports external plugin URL signing.

Origin Types: contentAttachment, contentTemplateAttachment, tasktemplateAttachment, taskAttachment, formValuesAttachment, externalAttachment, contentVideo, tasktemplateVideo, formValuesVideo, taskFormAnswer, externalPluginUrl, externalPluginProfile, lessonAttachment File Types (Lambda Hints): image, video, attachment, other

Generate signed URL for S3 operations or external

Generate signed URL for S3 operations or external plugin access.

For getObject (download):

  • Requires origin and originId for access verification
  • Requires storageId to identify the file
  • Verifies user has access to the content/task/form

For putObject (upload):

  • Requires contentType and fileType
  • Optional subFolder and fileName
  • Optional textractDisable to skip PDF text extraction

For externalPlugin:

  • Supports externalPluginUrl and externalPluginProfile
Authorizations:
bearerAuth
Request Body schema: application/json
required
signType
required
string
Enum: "getObject" "putObject" "externalPlugin"

Type of signing operation

origin
string
Enum: "contentAttachment" "contentTemplateAttachment" "tasktemplateAttachment" "taskAttachment" "formValuesAttachment" "externalAttachment" "contentVideo" "tasktemplateVideo" "formValuesVideo" "taskFormAnswer" "externalPluginUrl" "externalPluginProfile" "lessonAttachment"

Origin type for access verification (required for getObject). Options: contentAttachment, contentTemplateAttachment, tasktemplateAttachment, taskAttachment, formValuesAttachment, externalAttachment, contentVideo, tasktemplateVideo, formValuesVideo, taskFormAnswer, externalPluginUrl, externalPluginProfile, lessonAttachment

originId
string <objectId>

ID of origin entity (content, task, form, etc.) for access verification (required for getObject)

storageId
string

S3 storage identifier to sign (required for getObject)

contentType
string

MIME type of file (required for putObject, e.g., "image/jpeg", "application/pdf")

fileType
string
Enum: "image" "video" "attachment" "other"

File type for Lambda processing hint (required for putObject). Options: image, video, attachment, other

subFolder
string

Optional subfolder path when generating storageId (for putObject)

textractDisable
boolean

Disable PDF text extraction Lambda processing (for putObject)

fileName
string

Filename to append to S3 path (for putObject)

attachment
boolean
Default: false

Set Content-Disposition to attachment for downloads (for getObject)

url
string <uri>

External URL to sign (for externalPlugin with origin=externalPluginUrl)

Responses

Request samples

Content type
application/json
{
  • "signType": "getObject",
  • "origin": "contentAttachment",
  • "originId": "string",
  • "storageId": "string",
  • "contentType": "string",
  • "fileType": "image",
  • "subFolder": "string",
  • "textractDisable": true,
  • "fileName": "string",
  • "attachment": false,
}

Response samples

Content type
application/json
{}

systemtasks

System task management service for creating automated query-based tasks. System tasks execute database queries to find content/items requiring action (e.g., untranslated content, pending approvals) and present them as tasks to designated users.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all system task definitions. **[Admin onl

Retrieve all system task definitions. [Admin only]

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (systemtasks)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new system task with query definition. **

Create a new system task with query definition. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
title
required
string

System task display title (e.g., "Translation Requests", "Pending Approvals")

query
required
string

MongoDB aggregation query (as JSON string) to find items requiring action. Must return minimum fields: _id, title, originLanguage, translationRequest, contentPool. Special value "REPLACE_DATE" is replaced with date 7 days ago for dynamic date filtering. Example: {"$match": {"translationRequest.status": "pending", "updatedAt": {"$gte": "REPLACE_DATE"}}}

resultType
required
string
Enum: "contents" "tasks" "users" "formvalues"

Type of items returned by the query (determines which collection to query)

groups
Array of strings <objectId> [ items <objectId > ]

Group IDs that will receive this system task

object

Organization chart targeting for task recipients

active
boolean
Default: true

Whether system task is currently active and executing

schedule
string

Cron expression for task execution schedule (e.g., "0 9 * * *" for daily at 9 AM)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single system task definition by ID. **

Retrieve a single system task definition by ID. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of systemtasks to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire system task definition. **[Admin on

Replace entire system task definition. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of systemtasks to update

Request Body schema: application/json
required
title
required
string

System task display title (e.g., "Translation Requests", "Pending Approvals")

query
required
string

MongoDB aggregation query (as JSON string) to find items requiring action. Must return minimum fields: _id, title, originLanguage, translationRequest, contentPool. Special value "REPLACE_DATE" is replaced with date 7 days ago for dynamic date filtering. Example: {"$match": {"translationRequest.status": "pending", "updatedAt": {"$gte": "REPLACE_DATE"}}}

resultType
required
string
Enum: "contents" "tasks" "users" "formvalues"

Type of items returned by the query (determines which collection to query)

groups
Array of strings <objectId> [ items <objectId > ]

Group IDs that will receive this system task

object

Organization chart targeting for task recipients

active
boolean
Default: true

Whether system task is currently active and executing

schedule
string

Cron expression for task execution schedule (e.g., "0 9 * * *" for daily at 9 AM)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields of a system task. **[Admin

Update specific fields of a system task. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of systemtasks to update

Request Body schema: application/json
required
title
required
string

System task display title (e.g., "Translation Requests", "Pending Approvals")

query
required
string

MongoDB aggregation query (as JSON string) to find items requiring action. Must return minimum fields: _id, title, originLanguage, translationRequest, contentPool. Special value "REPLACE_DATE" is replaced with date 7 days ago for dynamic date filtering. Example: {"$match": {"translationRequest.status": "pending", "updatedAt": {"$gte": "REPLACE_DATE"}}}

resultType
required
string
Enum: "contents" "tasks" "users" "formvalues"

Type of items returned by the query (determines which collection to query)

groups
Array of strings <objectId> [ items <objectId > ]

Group IDs that will receive this system task

object

Organization chart targeting for task recipients

active
boolean
Default: true

Whether system task is currently active and executing

schedule
string

Cron expression for task execution schedule (e.g., "0 9 * * *" for daily at 9 AM)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a system task definition. **[Admin only]**

Delete a system task definition. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of systemtasks to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "title": "string",
  • "query": "string",
  • "resultType": "contents",
  • "groups": [
    ],
  • "orgchartSelection": {
    },
  • "active": true,
  • "schedule": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

tags

Tag management service for organizing and searching content by hashtags. Tags are automatically created when used in content and can be searched by text.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Search tags by text. Supports partial (fuzzy) sear

Search tags by text. Supports partial (fuzzy) search by default, or exact match when isExactMatch is enabled.

Authorizations:
bearerAuth
query Parameters
text[$search]
string

Search tags containing this text (must include # as first character, e.g., "#marketing"). Minimum 3 characters. With isExactMatch=true, returns only the tag with this exact text.

isExactMatch
boolean
Default: false

When true, performs an exact match on text[$search] instead of a partial search. Returns at most one result.

type
string
Enum: "content" "task" "event"

Filter by tag type

text
string

Filter by exact tag text

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new tag. Restricted to system users only.

Create a new tag. Restricted to system users only.

Authorizations:
bearerAuth
Request Body schema: application/json
required
text
required
string

Tag text (hashtag). Must start with # symbol (e.g., "#marketing", "#urgent")

type
string
Default: "content"
Enum: "content" "task" "event"

Tag category/type

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "type": "content"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "text": "string",
  • "type": "content",
  • "useCount": 0,
  • "relevanceScore": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single tag by ID with usage statistics

Retrieve a single tag by ID with usage statistics

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of tags to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "text": "string",
  • "type": "content",
  • "useCount": 0,
  • "relevanceScore": 0,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

talkjshook

TalkJS webhook integration service for processing chat notifications. [Webhook only] Requires special signature-based authentication.

Authentication: Uses HMAC-SHA256 signature with timestamp validation (5 minute timeout). Signature Format: SHA256([timestamp] + "." + [jsonPayloadWithoutWhiteSpace])

Process TalkJS webhook notification. Validates sig

Process TalkJS webhook notification. Validates signature and triggers push notifications for chat messages

header Parameters
X-Talkjs-Signature
required
string

HMAC-SHA256 signature for request validation

X-TalkJS-Timestamp
required
string

Unix timestamp in milliseconds (must be within 5 minutes)

Request Body schema: application/json
required
type
required
string
Value: "notification.triggered"

Webhook event type (only notification.triggered is processed)

createdAt
required
integer

Unix timestamp in milliseconds when event was created

required
object

Responses

Request samples

Content type
application/json
{
  • "type": "notification.triggered",
  • "createdAt": 0,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "value": "Success"
}

tasks

Task management service for personal and group tasks. Tasks are created from task templates and can be assigned to specific users or organizational units.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve tasks assigned to the current user or cre

Retrieve tasks assigned to the current user or created by the user (for admins/template creators). Without templateRef, returns all personal tasks. With templateRef, returns tasks created from that template (admin/creator only)

Authorizations:
bearerAuth
query Parameters
fromDateTime
string <date-time>

Filter tasks starting from this date/time (ISO 8601)

toDateTime
string <date-time>

Filter tasks up to this date/time (ISO 8601)

status
string
Enum: "open" "rejected" "pendingApproval" "othersPendingApproval" "done" "draft"

Filter by task status

relatedTags
string

Filter by related tag IDs (comma-separated). Only works without templateRef

templateRef
string

Filter tasks created from this template. [Admin/Template Creator only]

userId
string

Filter tasks assigned to specific user. Non-admins can only filter their own tasks

header Parameters
lang
string

Language code for task title translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Retrieve a single task by ID. Only accessible to t

Retrieve a single task by ID. Only accessible to the assigned user or admins

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for task title translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "templateRef": "string",
  • "type": "personal",
  • "status": "open",
  • "template": {
    },
  • "userId": "string",
  • "orgunits": [
    ],
  • "answers": [
    ],
  • "submissionDate": "2019-08-24T14:15:22Z",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update task progress, answers, or status. Used to

Update task progress, answers, or status. Used to submit task completion

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of tasks to update

Request Body schema: application/json
required
answers
Array of objects

Task form answers/responses

status
string
Enum: "open" "rejected" "pendingApproval" "othersPendingApproval" "done" "draft"

Update task status (auto-updated on submission)

Responses

Request samples

Content type
application/json
{
  • "answers": [
    ],
  • "status": "open"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "templateRef": "string",
  • "type": "personal",
  • "status": "open",
  • "template": {
    },
  • "userId": "string",
  • "orgunits": [
    ],
  • "answers": [
    ],
  • "submissionDate": "2019-08-24T14:15:22Z",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

tasktemplates

Task template management service for creating periodic, single, and child task templates. Templates define tasks that can be automatically or manually generated for users.

Template Types:

  • daily, weekly, monthly1, monthly2, monthly3, monthly4, monthlyLast, monthly, yearly, child, single, custom

Note: Queries without parentRef return root templates; with parentRef returns child templates.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve task templates. Returns root templates by

Retrieve task templates. Returns root templates by default, or child templates when parentRef is provided

Authorizations:
bearerAuth
query Parameters
searchTerm
string

Search term for title (full-text search)

parentRef
string <objectId>

Parent template ID to retrieve child templates

status
string
Enum: "empty" "pending" "partial" "complete" "ongoing"

Filter by template status

type
string
Enum: "daily" "weekly" "monthly1" "monthly2" "monthly3" "monthly4" "monthlyLast" "monthly" "yearly" "child" "single" "custom"

Filter by template type

header Parameters
lang
string

Language code for task title translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new task template with targeting and sche

Create a new task template with targeting and scheduling. Periodic templates generate child templates automatically

Authorizations:
bearerAuth
Request Body schema: application/json
required
object

Organization chart targeting for task assignment

orgchartAttrSelection
object

Organization attribute filters (AND/OR logic)

groups
object

Group targeting configuration

type
required
string
Enum: "daily" "weekly" "monthly1" "monthly2" "monthly3" "monthly4" "monthlyLast" "monthly" "yearly" "child" "single" "custom"

Template type: daily, weekly, monthly1, monthly2, monthly3, monthly4, monthlyLast, monthly, yearly, child, single, custom

repeatEvery
integer >= 1

For periodic tasks: repeat interval (e.g., 1=daily, 7=weekly)

status
string
Enum: "empty" "pending" "partial" "complete" "ongoing"

Template status: empty, pending, partial, complete, ongoing

required
object

Task definition template

originalStartDate
string <date-time>

Original start date for periodic templates (before progression)

originalAllDayStart
boolean

Original all-day flag for start date

originalDueDate
string <date-time>

Original due date for periodic templates (before progression)

originalAllDayDue
boolean

Original all-day flag for due date

templateEndDate
string <date-time>

When periodic template should stop generating tasks

sendPushNotification
boolean

Send push notification when tasks become active

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "type": "daily",
  • "repeatEvery": 1,
  • "status": "empty",
  • "template": {
    },
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "orgunits": [
    ],
  • "type": "daily",
  • "repeatEvery": 1,
  • "parentRef": "string",
  • "status": "empty",
  • "template": {
    },
  • "videoProcessing": true,
  • "lastTaskUserCount": 0,
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true,
  • "lastReminderAt": "2019-08-24T14:15:22Z",
  • "edited": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single task template by ID with progres

Retrieve a single task template by ID with progress breakdown

Authorizations:
bearerAuth
header Parameters
lang
string

Language code for task title translation

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "orgunits": [
    ],
  • "type": "daily",
  • "repeatEvery": 1,
  • "parentRef": "string",
  • "status": "empty",
  • "template": {
    },
  • "videoProcessing": true,
  • "lastTaskUserCount": 0,
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true,
  • "lastReminderAt": "2019-08-24T14:15:22Z",
  • "edited": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Execute custom actions on task template. Supports:

Execute custom actions on task template. Supports: pause, resume, complete, restart. Use iteration query param to affect single or all iterations

Authorizations:
bearerAuth
query Parameters
action
string
Enum: "pause" "resume" "complete" "restart"

Action to execute (pause, resume, complete, restart)

iteration
string
Enum: "single" "all"

Apply to single iteration or all active iterations

Request Body schema: application/json
required
object

Organization chart targeting for task assignment

orgchartAttrSelection
object

Organization attribute filters (AND/OR logic)

groups
object

Group targeting configuration

type
required
string
Enum: "daily" "weekly" "monthly1" "monthly2" "monthly3" "monthly4" "monthlyLast" "monthly" "yearly" "child" "single" "custom"

Template type: daily, weekly, monthly1, monthly2, monthly3, monthly4, monthlyLast, monthly, yearly, child, single, custom

repeatEvery
integer >= 1

For periodic tasks: repeat interval (e.g., 1=daily, 7=weekly)

status
string
Enum: "empty" "pending" "partial" "complete" "ongoing"

Template status: empty, pending, partial, complete, ongoing

required
object

Task definition template

originalStartDate
string <date-time>

Original start date for periodic templates (before progression)

originalAllDayStart
boolean

Original all-day flag for start date

originalDueDate
string <date-time>

Original due date for periodic templates (before progression)

originalAllDayDue
boolean

Original all-day flag for due date

templateEndDate
string <date-time>

When periodic template should stop generating tasks

sendPushNotification
boolean

Send push notification when tasks become active

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "type": "daily",
  • "repeatEvery": 1,
  • "status": "empty",
  • "template": {
    },
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "orgunits": [
    ],
  • "type": "daily",
  • "repeatEvery": 1,
  • "parentRef": "string",
  • "status": "empty",
  • "template": {
    },
  • "videoProcessing": true,
  • "lastTaskUserCount": 0,
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true,
  • "lastReminderAt": "2019-08-24T14:15:22Z",
  • "edited": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update task template fields. Use `iteration` query

Update task template fields. Use iteration query param to update single or all active child templates

Authorizations:
bearerAuth
query Parameters
iteration
string
Enum: "single" "all"

Apply changes to single iteration or all active iterations

Request Body schema: application/json
required
object

Organization chart targeting for task assignment

orgchartAttrSelection
object

Organization attribute filters (AND/OR logic)

groups
object

Group targeting configuration

type
required
string
Enum: "daily" "weekly" "monthly1" "monthly2" "monthly3" "monthly4" "monthlyLast" "monthly" "yearly" "child" "single" "custom"

Template type: daily, weekly, monthly1, monthly2, monthly3, monthly4, monthlyLast, monthly, yearly, child, single, custom

repeatEvery
integer >= 1

For periodic tasks: repeat interval (e.g., 1=daily, 7=weekly)

status
string
Enum: "empty" "pending" "partial" "complete" "ongoing"

Template status: empty, pending, partial, complete, ongoing

required
object

Task definition template

originalStartDate
string <date-time>

Original start date for periodic templates (before progression)

originalAllDayStart
boolean

Original all-day flag for start date

originalDueDate
string <date-time>

Original due date for periodic templates (before progression)

originalAllDayDue
boolean

Original all-day flag for due date

templateEndDate
string <date-time>

When periodic template should stop generating tasks

sendPushNotification
boolean

Send push notification when tasks become active

Responses

Request samples

Content type
application/json
{
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "type": "daily",
  • "repeatEvery": 1,
  • "status": "empty",
  • "template": {
    },
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "orgunits": [
    ],
  • "type": "daily",
  • "repeatEvery": 1,
  • "parentRef": "string",
  • "status": "empty",
  • "template": {
    },
  • "videoProcessing": true,
  • "lastTaskUserCount": 0,
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true,
  • "lastReminderAt": "2019-08-24T14:15:22Z",
  • "edited": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete task template. Use `iteration` query param

Delete task template. Use iteration query param to delete single or all active child templates

Authorizations:
bearerAuth
query Parameters
iteration
string
Enum: "single" "all"

Delete single iteration or all active iterations

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "orgchartSelection": {
    },
  • "orgchartAttrSelection": { },
  • "groups": { },
  • "orgunits": [
    ],
  • "type": "daily",
  • "repeatEvery": 1,
  • "parentRef": "string",
  • "status": "empty",
  • "template": {
    },
  • "videoProcessing": true,
  • "lastTaskUserCount": 0,
  • "originalStartDate": "2019-08-24T14:15:22Z",
  • "originalAllDayStart": true,
  • "originalDueDate": "2019-08-24T14:15:22Z",
  • "originalAllDayDue": true,
  • "templateEndDate": "2019-08-24T14:15:22Z",
  • "sendPushNotification": true,
  • "lastReminderAt": "2019-08-24T14:15:22Z",
  • "edited": true,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

tasktemplatesview

Task template view service. [Read-only] Provides aggregated task template data with progress statistics and status breakdowns. This materialized view joins task templates with their execution progress for efficient querying.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve task templates with aggregated progress d

Retrieve task templates with aggregated progress data. Supports management mode for additional statistics (overdue, planned, with approval counts)

Authorizations:
bearerAuth
query Parameters
searchTerm
string

Search term for title (full-text search)

parentRef
string <objectId>

Parent template ID to retrieve child templates

management
boolean

Management mode - returns additional statistics. [Admin/Supervisor only]

superviseFilterCounts
boolean

Enable detailed filter counts (overdue, open, completed, planned). Use with management=true

status
string
Enum: "open" "completed" "paused" "ongoing"

Filter by template status

header Parameters
lang
string

Language code for task title translation

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ],
  • "taskTemplateCount": {
    }
}

themes

Theme management service for customizing application appearance. Themes control colors, fonts, logos, and other visual elements. Only one theme can be set as default.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve all themes. Returns default theme first

Retrieve all themes. Returns default theme first

Authorizations:
bearerAuth
query Parameters
default
boolean

Filter by default theme

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new theme. **[Admin only]**

Create a new theme. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Theme name (e.g., "Corporate Blue", "Dark Mode")

required
object

Theme configuration data including colors, fonts, logos, and styling

default
boolean
Default: false

Whether this is the default theme (only one can be default)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "themeData": {
    },
  • "default": false
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "themeData": {
    },
  • "default": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a specific theme by ID

Retrieve a specific theme by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of themes to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "themeData": {
    },
  • "default": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire theme. **[Admin only]**

Replace entire theme. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of themes to update

Request Body schema: application/json
required
name
required
string

Theme name (e.g., "Corporate Blue", "Dark Mode")

required
object

Theme configuration data including colors, fonts, logos, and styling

default
boolean
Default: false

Whether this is the default theme (only one can be default)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "themeData": {
    },
  • "default": false
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "themeData": {
    },
  • "default": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific theme fields. **[Admin only]**

Update specific theme fields. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of themes to update

Request Body schema: application/json
required
name
required
string

Theme name (e.g., "Corporate Blue", "Dark Mode")

required
object

Theme configuration data including colors, fonts, logos, and styling

default
boolean
Default: false

Whether this is the default theme (only one can be default)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "themeData": {
    },
  • "default": false
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "themeData": {
    },
  • "default": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a theme. Cannot delete default theme. **[Ad

Delete a theme. Cannot delete default theme. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of themes to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "themeData": {
    },
  • "default": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

trainingprogress

Training progress tracking service. [Read-only] Automatically maintained by the system when users complete lesson submissions. Tracks overall training completion status and lesson progress.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve training progress records. Users can only

Retrieve training progress records. Users can only see their own progress unless they are admins/trainers

Authorizations:
bearerAuth
query Parameters
contentsRef
string <objectId>

Filter by training content ID

userRef
string

Filter by user ID. Non-admins can only filter for themselves

completed
boolean

Filter by completion status

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

translate

Google Translate API integration service for automatic text translation. Supports multiple languages via Google Cloud Translation API.

Note: Requires Google Translate API key configuration.

Translate text from source language to target lang

Translate text from source language to target language using Google Translate

Authorizations:
bearerAuth
Request Body schema: application/json
required
text
required
Array of strings

Text strings to translate

source
string

Source language code (e.g., "en", "nl", "de"). Auto-detected if not provided

target
required
string

Target language code (e.g., "en", "nl", "de", "fr")

format
string
Default: "text"
Enum: "text" "html"

Format of the text (text or HTML)

Responses

Request samples

Content type
application/json
{
  • "text": [
    ],
  • "source": "string",
  • "target": "string",
  • "format": "text"
}

Response samples

Content type
application/json
{
  • "translations": [
    ]
}

translations

UI translation overrides service for managing client-specific text translations. Allows customization of interface labels and messages per tenant/language.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve translation overrides for client and lang

Retrieve translation overrides for client and language

Authorizations:
bearerAuth
query Parameters
cid
integer

Client ID (tenant identifier)

lang
string

Language code filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create new translation overrides for a client/lang

Create new translation overrides for a client/language. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
lang
required
string

Language code (e.g., "en", "nl", "de", "fr")

cid
integer

Client/tenant ID for multi-tenant deployments

required
object

Key-value pairs of translation overrides (e.g., {"common.save": "Opslaan", "common.cancel": "Annuleren"})

category
string
Enum: "ui" "email" "push" "system"

Translation category

Responses

Request samples

Content type
application/json
{
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve specific translation override by ID

Retrieve specific translation override by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of translations to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire translation override set. **[Admin

Replace entire translation override set. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of translations to update

Request Body schema: application/json
required
lang
required
string

Language code (e.g., "en", "nl", "de", "fr")

cid
integer

Client/tenant ID for multi-tenant deployments

required
object

Key-value pairs of translation overrides (e.g., {"common.save": "Opslaan", "common.cancel": "Annuleren"})

category
string
Enum: "ui" "email" "push" "system"

Translation category

Responses

Request samples

Content type
application/json
{
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific translation keys. **[Admin only]**

Update specific translation keys. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of translations to update

Request Body schema: application/json
required
lang
required
string

Language code (e.g., "en", "nl", "de", "fr")

cid
integer

Client/tenant ID for multi-tenant deployments

required
object

Key-value pairs of translation overrides (e.g., {"common.save": "Opslaan", "common.cancel": "Annuleren"})

category
string
Enum: "ui" "email" "push" "system"

Translation category

Responses

Request samples

Content type
application/json
{
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete translation overrides. **[Admin only]**

Delete translation overrides. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of translations to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "lang": "string",
  • "cid": 0,
  • "translations": {
    },
  • "category": "ui",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

translationservice

Translation service for adding or updating translations for content, tasks, and other translatable entities. Handles multi-language content management and translator tracking.

Note: This is a create-only service that processes translation requests.

Add or update translations for various entities. S

Add or update translations for various entities. Supports:

  • Content (news, events, polls, forms, etc.)
  • Tasks and task templates
  • Groups, folders, and other translatable entities

Automatically tracks translator and timestamp in translators array

Authorizations:
bearerAuth
Request Body schema: application/json
required
entityType
required
string
Enum: "contents" "tasks" "tasktemplates" "groups" "folders" "contentpools" "orgattributes" "orgattributecategories" "lessons"

Type of entity being translated

entityId
required
string <objectId>

ID of the entity to translate

language
required
string

Language code for the translation (e.g., "en", "nl", "de")

required
object

Translation data with field names as keys and translated text as values

Responses

Request samples

Content type
application/json
{
  • "entityType": "contents",
  • "entityId": "string",
  • "language": "string",
  • "translations": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "entityId": "string",
  • "language": "string"
}

Updates the resource identified by id using data.

Updates the resource identified by id using data.

path Parameters
id
required
string

ID of translationservice to update

Request Body schema: application/json
required
entityType
required
string
Enum: "contents" "tasks" "tasktemplates" "groups" "folders" "contentpools" "orgattributes" "orgattributecategories" "lessons"

Type of entity being translated

entityId
required
string <objectId>

ID of the entity to translate

language
required
string

Language code for the translation (e.g., "en", "nl", "de")

required
object

Translation data with field names as keys and translated text as values

Responses

Request samples

Content type
application/json
{
  • "entityType": "contents",
  • "entityId": "string",
  • "language": "string",
  • "translations": {
    }
}

Response samples

Content type
application/json
{
  • "entityType": "contents",
  • "entityId": "string",
  • "language": "string",
  • "translations": {
    }
}

users

User management service. Handles user accounts, profiles, authentication, permissions, and organizational membership.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details on $limit, $skip, $sort, $select, and other query operators.

Retrieve users with optional filtering by groups,

Retrieve users with optional filtering by groups, orgunits, attributes, and other criteria. Supports count queries and zone of influence filtering.

Authorizations:
bearerAuth
query Parameters
count
boolean

Return count instead of user objects. Use with countType to specify count method

countType
string
Enum: "contentReach" "orgUnitBelong"

Type of count to perform (requires count=true):

  • contentReach: Count users that will be reached by content (filters: orgunits, groups, orgtype, attributes, firstLoginDone)
  • orgUnitBelong: Count users belonging directly to selected orgunit(s) based on current user zone of influence
groups
string

Filter by group ID(s). Supports comma-separated values for multiple groups

orgunits
string

Filter by organization unit ID(s). Supports comma-separated values for multiple orgunits. Automatically expands to include descendants

attributes
Array of arrays

Filter by organizational attributes. Supports AND/OR logic with nested arrays

orgtype
string

Filter by organization type ID

firstLoginDone
string
Enum: "true" "false"

Filter users who have completed first login. Set to true for users who logged in at least once

management
boolean

Enable management mode for admin panel access. [Admin only]

usersInOrgUnit
boolean

Find users within a specific orgunit. Validates permissions against searchable org units preset. Returns limited user data fields for privacy. [Requires orgunit visibility permissions]

searchForActiveUsers
boolean

Filter only active users (active=true). Used with count queries and usersInOrgUnit

deleted
boolean

Include deleted users in results. [Admin only]

searchTerm
string

Full-text search across name, email, employeeID fields

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create a new user account. Password is hashed auto

Create a new user account. Password is hashed automatically. Email verification is sent if enabled. Requires appropriate role permissions to create users with specific roles

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Full name of the user

firstName
string

First name

insertion
string

Name insertion (e.g., "van", "de")

lastName
string

Last name

email
required
string <email>

Email address - must be unique across the system

personalInfo
string

Personal information/bio entered by the user

password
required
string <password>

Password (sent as plain text on create, automatically hashed)

passwordExpires
string <date-time>

Date when password expires

permanentPassword
boolean

If true, password expiration is disabled

profilePicture
string

S3 path to user profile picture

organisation
string

Organization name

position
string

Job position/function in organization

preferredLanguage
string

Preferred UI language code (e.g., "en", "nl", "de")

employeeID
string

Employee ID number

level
string <objectId>

Reference to user level for gamification

dob
string <date>

Date of birth

phone
string

Work phone number

active
boolean

Account active status - inactive users cannot log in

privateEmail
string <email>

Private email - only visible to profile owner and admins

privatePhone
string

Private phone - only visible to profile owner and admins

orgunits
Array of strings <objectId> [ items <objectId > ]

Organization units user belongs to

groups
Array of strings <objectId> [ items <objectId > ]

Groups user belongs to

roles
Array of strings <objectId> [ items <objectId > ]

Roles assigned to user (determines permissions)

excludeFromContacts
boolean

If true, user is hidden from contact search results

excludeFromTasks
boolean

If true, user cannot be assigned tasks

ghost
boolean

If true, user is excluded from reach calculations and view counts

canImpersonate
Array of strings <objectId> [ items <objectId > ]

User IDs this user is allowed to impersonate

subdomain
string

Subdomain for multi-tenant configurations

customAttributes
object

Custom attributes specific to organization

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "personalInfo": "string",
  • "password": "pa$$word",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "canImpersonate": [
    ],
  • "subdomain": "string",
  • "customAttributes": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "loginName": "string",
  • "loginMethod": "local",
  • "personalInfo": "string",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "firstLoginDone": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "deleted": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "accountType": "standard",
  • "zoneOfInfluence": [
    ],
  • "canImpersonate": [
    ],
  • "points": 0,
  • "lastActivity": "2019-08-24T14:15:22Z",
  • "subdomain": "string",
  • "customAttributes": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a single user by ID. Includes populated p

Retrieve a single user by ID. Includes populated points, impersonation permissions, and related data

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of users to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "loginName": "string",
  • "loginMethod": "local",
  • "personalInfo": "string",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "firstLoginDone": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "deleted": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "accountType": "standard",
  • "zoneOfInfluence": [
    ],
  • "canImpersonate": [
    ],
  • "points": 0,
  • "lastActivity": "2019-08-24T14:15:22Z",
  • "subdomain": "string",
  • "customAttributes": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire user record. **[Internal only]** No

Replace entire user record. [Internal only] Not available via external API

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of users to update

Request Body schema: application/json
required
name
required
string

Full name of the user

firstName
string

First name

insertion
string

Name insertion (e.g., "van", "de")

lastName
string

Last name

email
required
string <email>

Email address - must be unique across the system

personalInfo
string

Personal information/bio entered by the user

password
required
string <password>

Password (sent as plain text on create, automatically hashed)

passwordExpires
string <date-time>

Date when password expires

permanentPassword
boolean

If true, password expiration is disabled

profilePicture
string

S3 path to user profile picture

organisation
string

Organization name

position
string

Job position/function in organization

preferredLanguage
string

Preferred UI language code (e.g., "en", "nl", "de")

employeeID
string

Employee ID number

level
string <objectId>

Reference to user level for gamification

dob
string <date>

Date of birth

phone
string

Work phone number

active
boolean

Account active status - inactive users cannot log in

privateEmail
string <email>

Private email - only visible to profile owner and admins

privatePhone
string

Private phone - only visible to profile owner and admins

orgunits
Array of strings <objectId> [ items <objectId > ]

Organization units user belongs to

groups
Array of strings <objectId> [ items <objectId > ]

Groups user belongs to

roles
Array of strings <objectId> [ items <objectId > ]

Roles assigned to user (determines permissions)

excludeFromContacts
boolean

If true, user is hidden from contact search results

excludeFromTasks
boolean

If true, user cannot be assigned tasks

ghost
boolean

If true, user is excluded from reach calculations and view counts

canImpersonate
Array of strings <objectId> [ items <objectId > ]

User IDs this user is allowed to impersonate

subdomain
string

Subdomain for multi-tenant configurations

customAttributes
object

Custom attributes specific to organization

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "personalInfo": "string",
  • "password": "pa$$word",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "canImpersonate": [
    ],
  • "subdomain": "string",
  • "customAttributes": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "loginName": "string",
  • "loginMethod": "local",
  • "personalInfo": "string",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "firstLoginDone": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "deleted": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "accountType": "standard",
  • "zoneOfInfluence": [
    ],
  • "canImpersonate": [
    ],
  • "points": 0,
  • "lastActivity": "2019-08-24T14:15:22Z",
  • "subdomain": "string",
  • "customAttributes": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Partially update user information. Protected field

Partially update user information. Protected fields cannot be modified: loginMethod, points, deleted, accountType. Password is automatically hashed if provided. Role upgrades require appropriate permissions

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of users to update

Request Body schema: application/json
required
name
required
string

Full name of the user

firstName
string

First name

insertion
string

Name insertion (e.g., "van", "de")

lastName
string

Last name

email
required
string <email>

Email address - must be unique across the system

personalInfo
string

Personal information/bio entered by the user

password
required
string <password>

Password (sent as plain text on create, automatically hashed)

passwordExpires
string <date-time>

Date when password expires

permanentPassword
boolean

If true, password expiration is disabled

profilePicture
string

S3 path to user profile picture

organisation
string

Organization name

position
string

Job position/function in organization

preferredLanguage
string

Preferred UI language code (e.g., "en", "nl", "de")

employeeID
string

Employee ID number

level
string <objectId>

Reference to user level for gamification

dob
string <date>

Date of birth

phone
string

Work phone number

active
boolean

Account active status - inactive users cannot log in

privateEmail
string <email>

Private email - only visible to profile owner and admins

privatePhone
string

Private phone - only visible to profile owner and admins

orgunits
Array of strings <objectId> [ items <objectId > ]

Organization units user belongs to

groups
Array of strings <objectId> [ items <objectId > ]

Groups user belongs to

roles
Array of strings <objectId> [ items <objectId > ]

Roles assigned to user (determines permissions)

excludeFromContacts
boolean

If true, user is hidden from contact search results

excludeFromTasks
boolean

If true, user cannot be assigned tasks

ghost
boolean

If true, user is excluded from reach calculations and view counts

canImpersonate
Array of strings <objectId> [ items <objectId > ]

User IDs this user is allowed to impersonate

subdomain
string

Subdomain for multi-tenant configurations

customAttributes
object

Custom attributes specific to organization

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "personalInfo": "string",
  • "password": "pa$$word",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "canImpersonate": [
    ],
  • "subdomain": "string",
  • "customAttributes": { }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "loginName": "string",
  • "loginMethod": "local",
  • "personalInfo": "string",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "firstLoginDone": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "deleted": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "accountType": "standard",
  • "zoneOfInfluence": [
    ],
  • "canImpersonate": [
    ],
  • "points": 0,
  • "lastActivity": "2019-08-24T14:15:22Z",
  • "subdomain": "string",
  • "customAttributes": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Soft delete a user (sets deleted=true and active=f

Soft delete a user (sets deleted=true and active=false). Cannot delete system users or keephub accounts. Clears user cache

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of users to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "name": "string",
  • "firstName": "string",
  • "insertion": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "loginName": "string",
  • "loginMethod": "local",
  • "personalInfo": "string",
  • "passwordExpires": "2019-08-24T14:15:22Z",
  • "permanentPassword": true,
  • "firstLoginDone": true,
  • "profilePicture": "string",
  • "organisation": "string",
  • "position": "string",
  • "preferredLanguage": "string",
  • "employeeID": "string",
  • "level": "string",
  • "dob": "2019-08-24",
  • "phone": "string",
  • "active": true,
  • "deleted": true,
  • "privateEmail": "user@example.com",
  • "privatePhone": "string",
  • "orgunits": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "excludeFromContacts": true,
  • "excludeFromTasks": true,
  • "ghost": true,
  • "accountType": "standard",
  • "zoneOfInfluence": [
    ],
  • "canImpersonate": [
    ],
  • "points": 0,
  • "lastActivity": "2019-08-24T14:15:22Z",
  • "subdomain": "string",
  • "customAttributes": { },
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

userspointsbalances

User points balance ledger service. Tracks individual point/coin transactions and maintains user balances. [Read-mostly] Primarily managed by reward system.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve user points transaction history

Retrieve user points transaction history

Authorizations:
bearerAuth
query Parameters
userRef
string <objectId>

Filter by user ID

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create points transaction. **[Internal only]**

Create points transaction. [Internal only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
userRef
required
string <objectId>

User who owns this balance entry

usersRewardRef
string <objectId>

Associated user reward (if points from reward)

points
required
number

Points amount (positive for credit, negative for debit)

coins
number

Coins amount (if applicable)

description
string

Transaction description

title
string

Transaction title

transactionType
string
Enum: "reward" "purchase" "adjustment" "refund"

Type of transaction

originLanguage
string

Language for transaction text

Responses

Request samples

Content type
application/json
{
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a specific points transaction by ID

Retrieve a specific points transaction by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of userspointsbalances to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire transaction record. **[Internal onl

Replace entire transaction record. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of userspointsbalances to update

Request Body schema: application/json
required
userRef
required
string <objectId>

User who owns this balance entry

usersRewardRef
string <objectId>

Associated user reward (if points from reward)

points
required
number

Points amount (positive for credit, negative for debit)

coins
number

Coins amount (if applicable)

description
string

Transaction description

title
string

Transaction title

transactionType
string
Enum: "reward" "purchase" "adjustment" "refund"

Type of transaction

originLanguage
string

Language for transaction text

Responses

Request samples

Content type
application/json
{
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update transaction record fields. **[Internal only

Update transaction record fields. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of userspointsbalances to update

Request Body schema: application/json
required
userRef
required
string <objectId>

User who owns this balance entry

usersRewardRef
string <objectId>

Associated user reward (if points from reward)

points
required
number

Points amount (positive for credit, negative for debit)

coins
number

Coins amount (if applicable)

description
string

Transaction description

title
string

Transaction title

transactionType
string
Enum: "reward" "purchase" "adjustment" "refund"

Type of transaction

originLanguage
string

Language for transaction text

Responses

Request samples

Content type
application/json
{
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a transaction record. **[Admin only]**

Delete a transaction record. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of userspointsbalances to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "usersRewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "transactionType": "reward",
  • "originLanguage": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

usersrewards

User rewards tracking service. Records individual reward grants to users. [Read-mostly] Primarily managed by automated reward system.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve user reward history. Users can see their

Retrieve user reward history. Users can see their own rewards

Authorizations:
bearerAuth
query Parameters
userRef
string <objectId>

Filter by user ID

rewardRef
string

Filter by reward ID

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Grant a reward to a user. **[Internal/Admin only]*

Grant a reward to a user. [Internal/Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
userRef
required
string <objectId>

User who received the reward

entityRef
string <objectId>

Entity related to reward (e.g., content ID, task ID)

rewardRef
required
string <objectId>

Reward definition reference

description
string

Reward description

title
string

Reward title

originLanguage
string

Language for reward text

seen
boolean
Default: false

Whether user has seen this reward notification

Responses

Request samples

Content type
application/json
{
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve a specific user reward record by ID

Retrieve a specific user reward record by ID

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of usersrewards to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire user reward record. **[Internal onl

Replace entire user reward record. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of usersrewards to update

Request Body schema: application/json
required
userRef
required
string <objectId>

User who received the reward

entityRef
string <objectId>

Entity related to reward (e.g., content ID, task ID)

rewardRef
required
string <objectId>

Reward definition reference

description
string

Reward description

title
string

Reward title

originLanguage
string

Language for reward text

seen
boolean
Default: false

Whether user has seen this reward notification

Responses

Request samples

Content type
application/json
{
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update user reward record fields. **[Internal only

Update user reward record fields. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of usersrewards to update

Request Body schema: application/json
required
userRef
required
string <objectId>

User who received the reward

entityRef
string <objectId>

Entity related to reward (e.g., content ID, task ID)

rewardRef
required
string <objectId>

Reward definition reference

description
string

Reward description

title
string

Reward title

originLanguage
string

Language for reward text

seen
boolean
Default: false

Whether user has seen this reward notification

Responses

Request samples

Content type
application/json
{
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a user reward record. **[Admin only]**

Delete a user reward record. [Admin only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of usersrewards to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "userRef": "string",
  • "entityRef": "string",
  • "rewardRef": "string",
  • "points": 0,
  • "coins": 0,
  • "description": "string",
  • "title": "string",
  • "originLanguage": "string",
  • "seen": false,
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

version

Version information service for retrieving application version and system information. [Public endpoint] Provides version number, environment, and system resource information.

Get application version and system information. No

Get application version and system information. No authentication required

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (version)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

videos

Video management service for handling video uploads and processing. Tracks video metadata, processing status, and references to content. [Internal service] Video files are uploaded to S3, this service stores metadata and processing status.

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve videos with optional filtering by referen

Retrieve videos with optional filtering by reference, type, or language

Authorizations:
bearerAuth
query Parameters
refId
string <objectId>

Filter by reference ID (content, task, etc.). Use with type parameter

type
string
Enum: "contents" "flowtemplates" "tasktemplates" "lessons"

Type of reference entity. Allowed values: contents,flowtemplates,tasktemplates,lessons

storageId
string

Filter by S3 storage ID

status
string
Enum: "draft" "new" "done"

Filter by processing status. Allowed values: draft,new,done

header Parameters
lang
string

Language code to filter videos by language

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create video metadata record after S3 upload. Trig

Create video metadata record after S3 upload. Triggers video processing pipeline. Supports multi-create for batch operations

Authorizations:
bearerAuth
Request Body schema: application/json
required
One of
refId
string <objectId>

Reference to parent entity (content, task, lesson, etc.)

lang
string

Language code for the video content

type
required
string
Enum: "contents" "flowtemplates" "tasktemplates" "lessons"

Type of parent entity. Options: contents,flowtemplates,tasktemplates,lessons

storageId
required
string

Unique S3 storage identifier (generated by frontend during upload)

fileType
string

MIME type of the video file (e.g., "video/mp4", "video/webm")

fileName
string

Original file name

duration
number

Video duration in seconds (populated after processing)

thumbnail
string

S3 path to generated thumbnail image

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "_id": "string",
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "status": "draft",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Updates multiple resources.

Updates multiple resources.

Request Body schema: application/json
required
total
number

Pagination response, total number of results

limit
number

Pagination response, result set is limited to

skip
number

Pagination response, results skipped

Array of objects (videos)

Actual data

Responses

Request samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Updates multiple resources queried by given filter

Updates multiple resources queried by given filters.

query Parameters
object (videos)

Query parameters to filter

Request Body schema: application/json
required
refId
string <objectId>

Reference to parent entity (content, task, lesson, etc.)

lang
string

Language code for the video content

type
required
string
Enum: "contents" "flowtemplates" "tasktemplates" "lessons"

Type of parent entity. Options: contents,flowtemplates,tasktemplates,lessons

storageId
required
string

Unique S3 storage identifier (generated by frontend during upload)

fileType
string

MIME type of the video file (e.g., "video/mp4", "video/webm")

fileName
string

Original file name

duration
number

Video duration in seconds (populated after processing)

thumbnail
string

S3 path to generated thumbnail image

Responses

Request samples

Content type
application/json
{
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string"
}

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Removes multiple resources queried by given filter

Removes multiple resources queried by given filters.

query Parameters
object (videos)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Retrieve a single video by ID with processing stat

Retrieve a single video by ID with processing status

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of videos to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "status": "draft",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire video record. **[Internal only]**

Replace entire video record. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of videos to update

Request Body schema: application/json
required
refId
string <objectId>

Reference to parent entity (content, task, lesson, etc.)

lang
string

Language code for the video content

type
required
string
Enum: "contents" "flowtemplates" "tasktemplates" "lessons"

Type of parent entity. Options: contents,flowtemplates,tasktemplates,lessons

storageId
required
string

Unique S3 storage identifier (generated by frontend during upload)

fileType
string

MIME type of the video file (e.g., "video/mp4", "video/webm")

fileName
string

Original file name

duration
number

Video duration in seconds (populated after processing)

thumbnail
string

S3 path to generated thumbnail image

Responses

Request samples

Content type
application/json
{
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "status": "draft",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update video metadata or processing status. **[Int

Update video metadata or processing status. [Internal only]

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of videos to update

Request Body schema: application/json
required
refId
string <objectId>

Reference to parent entity (content, task, lesson, etc.)

lang
string

Language code for the video content

type
required
string
Enum: "contents" "flowtemplates" "tasktemplates" "lessons"

Type of parent entity. Options: contents,flowtemplates,tasktemplates,lessons

storageId
required
string

Unique S3 storage identifier (generated by frontend during upload)

fileType
string

MIME type of the video file (e.g., "video/mp4", "video/webm")

fileName
string

Original file name

duration
number

Video duration in seconds (populated after processing)

thumbnail
string

S3 path to generated thumbnail image

Responses

Request samples

Content type
application/json
{
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "status": "draft",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete video metadata and trigger S3 cleanup. Supp

Delete video metadata and trigger S3 cleanup. Supports multi-delete for batch operations

Authorizations:
bearerAuth
path Parameters
_id
required
string

ID of videos to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "refId": "string",
  • "lang": "string",
  • "type": "contents",
  • "status": "draft",
  • "storageId": "string",
  • "fileType": "string",
  • "fileName": "string",
  • "duration": 0,
  • "thumbnail": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

votes

Vote management service for polls. Users can vote on poll options but cannot edit votes. One vote per user per poll (unless poll allows multiple choices).

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve votes for a specific poll. Must provide c

Retrieve votes for a specific poll. Must provide content reference

Authorizations:
bearerAuth
query Parameters
contentRef
string <objectId>

Filter by content (poll) ID

pollOptId
string

Filter by poll option ID

createdBy
string

Filter by voter user ID

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Submit a vote for a poll option. Requirements: - U

Submit a vote for a poll option. Requirements:

  • User must not have an existing vote on the poll (unless multiple choice is enabled)
  • Content reference must be valid poll content
  • Poll option ID must be valid for the poll
Authorizations:
bearerAuth
Request Body schema: application/json
required
contentRef
required
string <objectId>

Reference to the poll content

pollOptId
required
string

Poll option ID that this vote is for

Responses

Request samples

Content type
application/json
{
  • "contentRef": "string",
  • "pollOptId": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "pollOptId": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Remove a vote by vote ID. Only the vote creator or

Remove a vote by vote ID. Only the vote creator or admins can remove votes

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of votes to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "contentRef": "string",
  • "pollOptId": "string",
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

welcomewidget

Welcome widget service for retrieving unseen/new content for dashboard display. Provides personalized content feed for users based on their last visit.

Note: This is a create-only service that returns widget data based on request parameters.

Generate welcome widget data with unseen content f

Generate welcome widget data with unseen content for the authenticated user. Returns paginated list of new content since last visit

Authorizations:
bearerAuth
Request Body schema: application/json
required
widgetType
required
string
Value: "welcomewidget"

Widget type identifier (must be "welcomewidget")

unseen
boolean
Default: true

Filter for unseen content only

skip
integer >= 0
Default: 0

Number of items to skip for pagination

limit
integer [ 1 .. 100 ]
Default: 20

Maximum number of items to retrieve

contentTypes
Array of strings
Items Enum: "news" "event" "poll" "task" "manual" "faq"

Filter by specific content types

Responses

Request samples

Content type
application/json
{
  • "widgetType": "welcomewidget",
  • "unseen": true,
  • "skip": 0,
  • "limit": 20,
  • "contentTypes": [
    ]
}

Response samples

Content type
application/json
{
  • "total": 10,
  • "contents": [
    ],
  • "lastVisit": "2019-08-24T14:15:22Z"
}

widgets

Widget configuration service for managing application navigation and dashboard pages. Typically uses a single configuration document that defines all pages and widgets. Pages are automatically filtered by user permissions (orgunits and groups).

Standard Query Parameters: This endpoint supports standard FeathersJS query parameters. See the Common Information section for details.

Retrieve widget configuration. Returns pages filte

Retrieve widget configuration. Returns pages filtered by current user permissions unless user has navigation.admin role

Authorizations:
bearerAuth
query Parameters
$limit
integer

Number of results to return

$skip
integer

Number of results to skip

$sort
object

Property to sort results

object (widgets)

Query parameters to filter

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "limit": 0,
  • "skip": 0,
  • "data": [
    ]
}

Create widget configuration. **[Admin only]**

Create widget configuration. [Admin only]

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects

Array of pages/widgets in navigation

Responses

Request samples

Content type
application/json
{
  • "pages": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Retrieve specific widget configuration by ID

Retrieve specific widget configuration by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of widgets to return

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Replace entire widget configuration. Triggers widg

Replace entire widget configuration. Triggers widgetsChanged event. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of widgets to update

Request Body schema: application/json
required
required
Array of objects

Array of pages/widgets in navigation

Responses

Request samples

Content type
application/json
{
  • "pages": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update specific fields in widget configuration. Tr

Update specific fields in widget configuration. Triggers widgetsChanged event. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of widgets to update

Request Body schema: application/json
required
required
Array of objects

Array of pages/widgets in navigation

Responses

Request samples

Content type
application/json
{
  • "pages": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete widget configuration. **[Admin only]**

Delete widget configuration. [Admin only]

Authorizations:
bearerAuth
path Parameters
id
required
string

ID of widgets to remove

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "pages": [
    ],
  • "createdBy": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

workflow

Workflow automation service for executing approval flows and automated actions. Currently supports content approval workflow.

Available Actions: approveContent,rejectContent,approveTaskAnswer,rejectTaskAnswer

Execute workflow action (approve, reject, etc.)

Execute workflow action (approve, reject, etc.)

Authorizations:
bearerAuth
Request Body schema: application/json
required
action
required
string
Enum: "approveContent" "rejectContent" "approveTaskAnswer" "rejectTaskAnswer"

Workflow action to execute. Allowed values: approveContent,rejectContent,approveTaskAnswer,rejectTaskAnswer

value
string

Optional value/comment for the action (e.g., rejection reason)

ref
required
string <objectId>

Reference to document (currently supports content)

notify
boolean
Default: true

Whether to send notifications about this action

Responses

Request samples

Content type
application/json
{
  • "action": "approveContent",
  • "value": "string",
  • "ref": "string",
  • "notify": true
}

Response samples

Content type
application/json
{
  • "action": "approveContent",
  • "value": "string",
  • "ref": "string",
  • "notify": true
}