Table of Contents

Unlink Project Custom API (sensei_unlinkproject)

Purpose

Dataverse Custom API that decouples an Altus/Project Desktop project from its externally synced source, such as a Microsoft Project schedule.

Depending on deleteFlag, it either severs the sync relationship non-destructively or performs a cascade delete of integration-originated child records, including tasks, dependencies, buckets, financial transactions and items, assignments, baselines, and external project and task records.

Invocation

sensei_unlinkproject is an unbound Dataverse Custom API.

It can be invoked using IOrganizationService.Execute(OrganizationRequest) or through the Dataverse Web API using a POST request to:

/api/data/v9.x/sensei_unlinkproject

It can be called from a plugin, Power Automate flow, client-side script, or other Dataverse SDK or tooling context that supports Custom APIs.

Request parameters

Parameter Type Required Description
projectId Guid Yes Target Altus project record to unlink.
deleteFlag bool Yes true — hard delete: removes integration-linked child entities and resets sync fields on the project. false — soft unlink: clears ExternalProjectID, IsExternal, and FieldLock on tasks while leaving task and financial data intact.

No other inputs are required.

Server-side privilege validation is handled internally. The caller requires write access to the project, together with any additional Project Desktop entity privileges that apply. If the caller does not have the required permissions, the API throws an InvalidPluginExecutionException with a 403 response.

Response and execution behaviour

The message output parameter returns the status of the unlink operation, including:

  • {"status":"InProgress"} — processing is still in progress.
  • {"status":"Success"} — the unlink operation completed successfully.

The API has a maximum amount of project data it can process. Projects that exceed this processing limit may fail to unlink or delete successfully.

Repeatedly calling sensei_unlinkproject is not a workaround for a project that exceeds this limit. If a large project consistently fails because it is beyond the supported processing capacity, additional investigation or an alternative approach is required.