Form
Form API is for the submission of forms to the system.
TimesheetAPI
View and update timesheeting information
| API | Description |
|---|---|
| GET api/timesheet/status/{id}?weekEnding={weekEnding} |
Retrieves the timesheet status for a specific user for a given week ending date. |
| GET api/timesheet/status?from={from}&to={to}&status={status}&group={group}&profileFilter={profileFilter} |
Retrieves a list of users and their timesheet submission status within a specified date range. |
| GET api/timesheet?week={week}&user={user}&project={project} |
Retrieves a detailed list of timesheet records for a specified week, user, and/or project. |
| GET api/timesheet/summary?week={week}&user={user}&project={project} |
Retrieves a summarized view of timesheet data for users, grouped by project and week. |
| PUT api/timesheet |
Updates timesheet records for one or more users, projects, and dates. |
| PUT api/timesheet/weekly |
Updates weekly timesheet records for one or more users and projects. |
| PUT api/timesheet/actuals |
Updates actuals data for one or more projects and dates. |
| DELETE api/timesheet/actuals?startDate={startDate}&endDate={endDate} |
Clears actual cost data records within a specified date range. |
| GET api/timesheet/UpdateTimesheetsWithDataImportRowInfo |
Updates or inserts a timesheet entry using detailed row information, including metadata and daily hours. |
| GET api/timesheet/GetSessionDBImportOrdered?guid={guid} |
Retrieves unimported timesheet data import records, optionally filtered by a specific GUID. |
| PUT api/timesheet/FixMissingUserRoles |
Fixes missing user role and role ID assignments in timesheet day records. |
| PUT api/timesheet/CreateIngestedActualCostData |
Creates or updates an actual cost data record for a specific user, project, and date. |
| PUT api/timesheet/CreateTimesheetIngested |
Creates a new timesheet record using ingested data from a `TimesheetRowInfo` object. |
| GET api/timesheet/GetThisWeekTimesheetForUser |
Retrieves the timesheet record for a specific user and week-ending date. |
| GET api/timesheet/GetUserOverdueTimesheets?usrID={usrID}&weekEnding={weekEnding} |
Retrieves a list of overdue timesheets for a specific user up to a given week-ending date. |
| GET api/timesheet/CheckUserOverdueTimesheetsNew?usrID={usrID} |
Retrieves the start and end dates of all user roles for a specified user. |
| GET api/timesheet/CheckTimesheetsNullOrSaved?userActiveWeekEndings={userActiveWeekEndings}&usrID={usrID} |
Notification Centre CheckUserOverdueTimesheetsNew |
| PUT api/timesheet/ResetTimeForUser |
Resets the recorded time entries for a specific user based on the provided timesheet information. |
| GET api/timesheet/GeOverdueTsApprovers?startDate={startDate}&endDate={endDate}&taskTimesheeting={taskTimesheeting} |
Retrieves a list of users with overdue timesheets that require approval. |
| DELETE api/timesheet/DeleteTimesheetIngestedDeleted?projectIDsList[0]={projectIDsList[0]}&projectIDsList[1]={projectIDsList[1]} |
Deletes ingested and marked-as-deleted timesheet data for the specified list of project IDs. |
| PUT api/timesheet/EnableTSTrigger |
Enables the `cacheRateInsertTimesheet` trigger and populates the table with missing data. |
Groups
| API | Description |
|---|---|
| GET api/scim/v2/groups |
Retrieves a list of all user groups available in the system. |
| GET api/scim/v2/groups/{scimId} |
Retrieves a specific user group by its SCIM identifier. |
| POST api/scim/v2/groups |
Creates a new group using the provided SCIM-compliant group resource. |
| PUT api/scim/v2/groups/{scimId} |
Updates an existing group identified by its SCIM-compliant GUID. |
| DELETE api/scim/v2/groups/{scimId} |
Deletes a user group identified by its SCIM-compliant GUID. |
DataAPI
Data API allows interaction with the meta associated with assets or forms and also to edit values in attribute matrices
| API | Description |
|---|---|
| PUT api/bulkingest/{reportid}?dataFile={dataFile}&userid={userid} |
Initiates a bulk ingest process for a specified report using a provided data file and user ID. |
| PUT api/meta/runqueue/{mongoJobId} |
Queues up a metajob to be processed |
| GET api/roles?includeDisabled={includeDisabled}&includeVariants={includeVariants} |
Retrieves a list of roles based on the specified filtering options. |
| GET api/meta/{id}/tree?mode={mode} |
Retrieves a hierarchical metadata structure for a given asset or item. |
| GET api/meta/{itemId}?mode={mode} |
Retrieves flat metadata values for a specified item or user profile. |
| PUT api/meta/{id}?mode={mode}&clearGroup[0]={clearGroup[0]}&clearGroup[1]={clearGroup[1]}&addBodyToAudit={addBodyToAudit}&updateWFActivity={updateWFActivity}&clearPartialRows={clearPartialRows}&enforceMandatory={enforceMandatory}&queueRequest={queueRequest}&queueProjectUpdate={queueProjectUpdate} |
Updates metadata values for a specified item or user profile. |
| GET api/matrix?filter={filter} |
Retrieves a list of metadata attribute matrices, optionally filtered by title. |
| GET api/matrix/data/{id}?sheet={sheet}&version={version} |
Retrieves the full contents of a specific metadata matrix, including metadata (sheets, structure, versions) and row data, optionally filtered by sheet and version. |
| GET api/matrix/simple/{id}?sheet={sheet}&version={version} |
Retrieves simplified contents of a specific metadata matrix, optionally filtered by sheet and version. |
| GET api/matrix/{id} |
Retrieves the structure of a specific metadata matrix. |
| DELETE api/matrix/{id} |
Soft-deletes a metadata matrix by marking it as deleted and logs the deletion. |
| POST api/matrix/{id}/version?name={name}&parentVersion={parentVersion}&isDefault={isDefault} |
Creates a new version for a specified metadata matrix. |
| PUT api/attribute/bulk/{type} |
Performs a bulk update of attribute list values for a specified attribute type. |
| PUT api/attribute/row?type={type} |
Updates values in an attribute list identified by type name or ID. |
| PUT api/attribute/row |
Updates values in an attribute list identified by query string tags. |
| PUT api/matrix/{id}/row?sheet={sheet}&version={version}&enableRow={enableRow}&sortByColumnType={sortByColumnType}&useIdentifier={useIdentifier} |
Updates a specific row in a metadata matrix. |
| PUT api/matrix/row/{type}?sheet={sheet}&version={version} |
Updates a row in a metadata matrix identified by its type and optional tags. |
| DELETE api/matrix/{id}/row?sheet={sheet}&version={version}&useIdentifier={useIdentifier} |
Deletes a specific row from a metadata matrix. |
| POST api/matrix/clone/{source}?matrixTitle={matrixTitle}&cloneMatrixData={cloneMatrixData} |
Clones an existing metadata matrix, optionally including its data and structure. |
| PUT api/matrix/{id}?sheet={sheet}&version={version} |
Ingests a batch of data rows into a specified metadata matrix sheet. |
| GET api/layout/{id} |
Retrieves the layout metadata for a specified node ID. |
| DELETE api/attributetable/{id}?keyVal={keyVal} |
Deletes a row from an attribute table based on the provided table ID and key value. |
| POST api/attributetable/{id} |
Creates a new row in the specified attribute table using the provided values. |
| PUT api/attributetable/{id}?keyVal={keyVal} |
Updates a specific row in an attribute table based on its key column value. |
| GET api/attributetable |
Retrieves all non-deleted attribute tables and their associated column metadata. |
| GET api/CloneAttributeType?sourcetypeId={sourcetypeId}&parentId={parentId}&newname={newname}&matrixVersionGUID={matrixVersionGUID} |
Clones an existing attribute type and its associated matrix structure into a new type with a specified name and parent folder. |
| PUT api/cloneMatrix2?sourcetypeId={sourcetypeId}&tags={tags} |
Updates the tags of a matrix identified by its type ID and syncs the updated matrix to MongoDB. |
| PUT api/setMatrixAsDiscrete?matrixId={matrixId} |
Marks the specified matrix as having a discrete structure. |
| GET api/ListMatrixColumnsById?matrixID={matrixID} |
Retrieves all column definitions for a specific matrix by its ID. |
| GET api/getMatrixValues?matrixId={matrixId}&input0GUID={input0GUID}&input1GUID={input1GUID}&output0GUID={output0GUID}&defaultVersion={defaultVersion} |
Retrieves matrix values from a specified matrix using column GUIDs for two input columns and one output column. |
| PUT api/insertNewSheet?matrixId={matrixId}&typeID={typeID}&sheetGUID={sheetGUID} |
Inserts a new default sheet into a specified matrix. |
| GET api/getExistingMatrix?matrixName={matrixName} |
Retrieves an existing matrix and its associated metadata by matrix name. |
| PUT api/DisableAllRateCards?updatedIds={updatedIds}&withIds={withIds} |
Disables all rate card matrices except optionally specified active ones. |
| GET api/checkMatrixInputsIntegrity?matrixID={matrixID} |
Checks the integrity of matrix inputs by verifying that required localized values are not empty. |
| PUT api/enableMatrix?matrixId={matrixId} |
Enables a matrix by setting its deleted flag to false and returns the updated matrix metadata. |
| DELETE api/clearMatrixValues?matrixId={matrixId} |
Clears all matrix-related values for a specified matrix ID. |
| GET api/GetSortedIngestRows |
Retrieves a sorted list of ingest rows from the rate card import table. |
| GET api/GenerateNotification |
Generates a notification digest based on user-specific task and workflow rules. |
| GET api/UpdateStringWithFormChange?inode={inode} |
Retrieves the most recent form field changes for a specified item node. |
| GET api/GetNotifications?source={source} |
Retrieves notification center records based on the specified source type. |
| GET api/GetUserNotifications |
Retrieves a list of active users eligible for notifications based on the specified source and debug settings. |
| GET api/GetNotificationsFromDB |
Retrieves unsent workflow notifications scheduled for the current day. |
| GET api/GetWorkflowDetailsToProcess |
Retrieves detailed workflow information for a specific item. |
| GET api/ProcessWorkflowEmail |
Processes and retrieves email recipients for a workflow notification trigger. |
| GET api/processWorkflowScheduledActions?scheduleDate={scheduleDate} |
Retrieves pending workflow notifications scheduled for processing. |
| GET api/GetUsersGroup?usrID={usrID} |
Retrieves the group memberships for a specified user. |
| GET api/GatherNotificationSettings |
Retrieves all enabled notification digest settings. |
| GET api/resourceItemDataImport?guid={guid} |
Retrieves unimported resource item data for a specific GUID. |
| GET api/GetCISNotificationsFromTheDB |
Retrieves pending CIS email notifications from the database. |
| PUT api/runNotificationForUser?userId={userId} |
Executes the notification workflow for a specific user, identifying pending timesheet approvals and related actions. |
| GET api/IngestFileCheckParent?projectRoot={projectRoot}&uniqueValue={uniqueValue}&formGUID={formGUID} |
Checks for the existence of a parent project association based on a unique value and form GUID. |
| GET api/IngestFileCheckActivityKetchum?projectActivityNumber={projectActivityNumber}&projectRoot={projectRoot}&siteWideCheck={siteWideCheck}&formGUID={formGUID}&projectInode={projectInode} |
Checks for the existence of a project activity association in the system. |
| GET api/IngestFileCheckActivity?formGUID={formGUID}&uniqueValue={uniqueValue}&projectRoot={projectRoot}&siteWideCheck={siteWideCheck}&projectInode={projectInode} |
Checks for the existence of a metadata record with a specific value and form element within a project or site context. |
| GET api/IngestFileCheckMetadataKetchum?projectInode={projectInode} |
Retrieves metadata values for a specific form element associated with a given project. |
| GET api/IngestFileCheckUser?userSpecifier={userSpecifier}&idX={idX}&guid={guid} |
Checks for the existence of a user based on a specified identifier such as full name, username, or profile field value. |
UserAPI
Provides control for User Management in the system.
| API | Description |
|---|---|
| GET api/users?emailFilter={emailFilter}&nameFilter={nameFilter}&groupID={groupID}&active={active}&activeAndInactive={activeAndInactive}&filterText={filterText}&filterBy={filterBy}&filterExact={filterExact}&customFields={customFields}&includeCreateDate={includeCreateDate}&includeGroups={includeGroups} |
Retrieves a filtered and optionally enriched list of users based on provided query options. |
| GET api/users/{id} |
Retrieves detailed information about a specific user by ID. |
| GET api/users/UserDetails?username={username} |
Retrieves detailed information about a specific user by their username. |
| GET api/users/me |
Retrieves detailed information about the currently authenticated user. |
| GET api/users/GetUserFromDB?userIdentifier={userIdentifier}&userField={userField} |
No documentation available. |
| GET api/users/GetUserRole?usrID={usrID}&userRoleID={userRoleID}&byUserRoleID={byUserRoleID} |
Retrieves user role information based on user ID or user role ID. |
| PUT api/users/UpdateUserStartDate |
No documentation available. |
| POST api/users |
Creates a new user account with optional group assignments and SSO configuration. |
| PUT api/users/{id} |
Updates basic profile information for a specified user. |
| PUT api/users/details |
Updates user details in bulk based on the provided list of user detail objects. |
| PUT api/users/{id}/copytomongo |
Copies a specific user's data from SQL to MongoDB based on the provided user ID. |
| DELETE api/users/{id}?scheduledDate={scheduledDate}&assignUserID={assignUserID} |
Deletes or deactivates a user based on the provided user ID. |
| DELETE api/users |
Queues a bulk user deletion request for the specified list of user IDs. |
| PUT api/users/{id}/activate |
Reactivates a previously deleted user and restores their most recent inactive role. |
| GET api/users/{id}/role |
Retrieves the active role details for a specific user by their ID. |
| GET api/users/roles?userIds={userIds} |
Retrieves active roles for one or more users based on a comma-separated list of user IDs. |
| POST api/users/{id}/role?reassign={reassign}&autoAddRole={autoAddRole}&caseSensitiveRole={caseSensitiveRole} |
Assigns a new role to a user or schedules a role change, with optional automatic role creation. |
| GET api/users/GetUserByType?userIdentifierType={userIdentifierType}&idX={idX} |
Retrieves user details and their most recent role based on a user identifier type and value. |
| GET api/users/UserImportData?row1={row1} |
Placeholder endpoint for importing user data from a provided string input. |
| GET api/users/GetUserDetailsFTE?usrID={usrID}&start={start}&end={end} |
Retrieves the most relevant user role details for a given user within a specified date range. |
| GET api/users/GetUserDetailsFTEIngest?usrID={usrID}&start={start}&end={end} |
Retrieves the most relevant user role details for a given user within a specified date range (string format). |
| GET api/users/recalcAssignment?userRoleId={userRoleId} |
Retrieves assignment details (FTE and DaysAvailable) for a specific user role. |
| PUT api/users/scheduledUser?scheduleid={scheduleid} |
Executes a scheduled user role change based on the provided schedule ID. |
ResourceTypes
| API | Description |
|---|---|
| GET api/scim/v2/ResourceTypes |
Retrieves the SCIM-compliant resource types supported by the system. |
| GET api/scim/v2/ResourceTypes/{resourceType} |
Retrieves the SCIM resource type definition for a specified resource type name. |
Users
SCIM provisioning support.
| API | Description |
|---|---|
| GET api/scim/v2/users?filter={filter}&startIndex={startIndex}&count={count} |
Retrieves a list of all active users in the system. |
| GET api/scim/v2/users/{scimId} |
Retrieves a user by their SCIM (System for Cross-domain Identity Management) identifier. |
| POST api/scim/v2/users |
Creates a new user in the system using SCIM-compliant user data. |
| PUT api/scim/v2/users/{scimId} |
Updates an existing user identified by SCIM ID with the provided modifications. |
| DELETE api/scim/v2/users/{scimId} |
Deletes a user from the system based on their SCIM identifier. |
Workflow
Workflow API is for the sending items on workflows
SCIM
SCIM provisioning support.
| API | Description |
|---|---|
| GET api/scim/ServiceProviderConfig |
Retrieves the SCIM configuration from the `SCIMConfiguration.json` file located in the application's bin directory. |
| GET api/scim/Schemas |
Retrieves all available schema definitions from the SCIMSchemas.json configuration file. |
| GET api/scim/Schemas/{resourceType} |
Retrieves the SCIM schema definition for a specified resource type. |
| GET api/scim/ResourceTypes |
Retrieves all available SCIM resource type definitions. |
| GET api/scim/ResourceTypes/{resourceType} |
Retrieves the SCIM resource type definition for a specified resource type. |
| POST api/scim/users |
Creates a new SCIM user and stores associated metadata and group memberships. |
| GET api/scim/users?filter={filter}&startIndex={startIndex}&count={count} |
Retrieves a paginated list of SCIM users, optionally filtered by a SCIM-compliant filter expression. |
| GET api/scim/users/{id} |
Retrieves a SCIM user by their unique SCIM ID. |
| PATCH api/scim/users/{id} |
Updates an existing SCIM user using a SCIM Patch request. |
| DELETE api/scim/users/{id} |
Soft-deletes a SCIM user by marking their status as "deleted". |
GroupAPI
Works with the groups within the system
| API | Description |
|---|---|
| GET api/groups?nameFilter={nameFilter}&tag={tag}&active={active} |
Retrieves a list of user groups based on optional filters such as name, tag, and active status. |
| POST api/groups |
Creates a new user group with the specified name, description, and tags. |
| PUT api/groups/{id} |
Updates the details of an existing user group. |
| PUT api/groups/{id}/members?field={field}&clearGroup={clearGroup} |
Adds one or more users to a specified group, with optional clearing of existing members. |
| DELETE api/groups/{id}/members?field={field} |
Removes one or more users from a specified group. |
Schemas
| API | Description |
|---|---|
| GET api/scim/v2/schemas |
Retrieves the SCIM schema definitions for core resource types: User and Group. |
| GET api/scim/v2/schemas/{schema} |
Retrieves the SCIM schema definition for a specified resource type. |
EstimateAPI
Estiamte API allows interaction with the form/project estiamtes, it is accessed with the api prefix api/estimate
| API | Description |
|---|---|
| GET api/estimate/{id} |
Returns information of the estimate |
| POST api/estimate/{id} |
Create an estimate |
| PUT api/estimate/{id} |
Update details of an Estimate |
| DELETE api/estimate/{id} |
Deletes the contents of an Estimate from the system |
ResourceAPI
View and update timesheeting information
TaskAPI
Works with the tasks within the system
| API | Description |
|---|---|
| GET api/tasks?id={id}&showAssignedDetails={showAssignedDetails}&age={age}&assignedFilterType={assignedFilterType}&assignedFilterValue={assignedFilterValue}&projectMetaFields={projectMetaFields} |
Retrieves a list of structured tasks based on project association, user access, and optional filters. |
| GET api/tasks/{id} |
Retrieves all tasks associated with a specific node or project ID, including assignment details. |
| POST api/tasks/{projectid}?phase={phase} |
Creates a new task under a specified project and optional milestone phase. |
| PUT api/tasks/{id} |
Updates the details of an existing project task. |
| DELETE api/tasks/{id} |
Deletes a project task by marking it as deleted and removing related task links. |
| PUT api/tasks/AddTaskIngest |
Creates a new project task using external ingestion data. |
| PUT api/tasks/status/{id}?status={status} |
Updates the status of a specific project task. |
| PUT api/tasks/runqueue/{id}?projectID={projectID}&tmesheet={tmesheet}&template={template}&type={type}&fromWF={fromWF} |
Executes a queued resource management update for a specific task and project. |
| POST api/TaskAPI?parameterString={parameterString}&siteURL={siteURL}&function={function} |
No documentation available. |
FileAPI
Allows interaction with a file, upload, download and viewing file details
| API | Description |
|---|---|
| GET api/file/{id} |
Retrieves detailed metadata for a specific file by its node ID. |
| GET api/file/download/{id} |
Downloads a file by its internal node ID, enforcing access control and vault configuration. |
| POST api/file/upload/{id}?creator={creator}&description={description} |
Uploads a file to a specified folder or container within the system. |
| POST api/file/uploadsftp/{id}?connectionID={connectionID}&filename={filename}&creator={creator}&description={description} |
Uploads a file from an external SFTP server into the system under a specified destination node. |
| POST api/file/{FileId}/annotation |
Adds one or more annotations to a specified document file. |
| DELETE api/file/SystemAnnotations/{FileId} |
Search for all workflows that match the supplied search parameters |
ProjectAPI
Works with the projects within the system
FolderAPI
Folder API allows interaction with the folder structure, it is accessed with the api prefix api/folders
| API | Description |
|---|---|
| GET api/folders?name={name} |
Retrieves a list of workboxes accessible to the authenticated user. |
| GET api/folders/{id} |
Retrieves metadata for a specific folder or workbox by its internal node ID. |
| GET api/folders/{id}/contents |
Retrieves the contents of a specified folder or workbox. |
| PUT api/folders/{id}?name={name}&description={description} |
Updates the name and/or description of a specified folder or workbox. |
| POST api/folders/{id}?name={name}&description={description} |
Creates a new folder under a specified parent node. |
| DELETE api/folders/{id} |
Deletes a folder and all of its child items recursively. |
SearchAPI
Search API allows User to search the entire system
| API | Description |
|---|---|
| GET api/search?phrase={phrase}&limit={limit} |
Performs a keyword-based search across SCIM-associated items with access control filtering. |
ServiceProviderConfig
| API | Description |
|---|---|
| GET api/scim/v2/serviceproviderconfig |
Retrieves the SCIM service provider configuration settings. |