Skip to main content

Planning

The Planning entity set provides endpoints for managing project schedules, work packages, milestones, and their publications. Planning elements form a hierarchical task breakdown structure within a project.


Planning

A planning element represents a single task, milestone, or grouping within a project schedule. Elements can be nested to form a work breakdown structure (WBS).

Properties

PropertyTypeDescription
PlanningIdGuidPrimary key. Unique identifier for the planning element.
ProjectIdGuid?Foreign key to the associated project.
DisplayNamestringDisplay name of the planning element.
ParentPlanningIdGuid?Foreign key to the parent element. Null for top-level elements.
PlanningTypeIdint?Type discriminator for the planning element.
PositionNumberstringHierarchical position number (e.g., 1.2.3).
CustomColorstringHex color code for Gantt chart rendering.
Progressdouble?Completion percentage (0.0 – 1.0).
StartDateTimeDateTimeOffset?Scheduled start date and time.
EndDateTimeDateTimeOffset?Scheduled end date and time.
DurationTickslong?Duration in ticks (100-nanosecond intervals).
IsMilestoneboolWhether the element is a milestone (zero duration).
IsGroupingboolWhether the element is a summary group.
IsProjectGroupingboolWhether the element is the top-level project summary.
IsCollapsedboolWhether child elements are collapsed in the UI.
DescriptionHTMLstringHTML-formatted description.
PSPCodestringWork breakdown structure (WBS) code.
LocationstringLocation associated with the planning element.
CalendarIdGuid?Foreign key to the calendar used for scheduling.
ConstraintTypeint?Scheduling constraint type (e.g., As Soon As Possible, Must Start On).
ConstraintDateDateTimeOffset?Date for the scheduling constraint.
WorkAmountSumdouble?Total work amount across all assigned resources.

Endpoints

List Planning Elements

GET/odata/Planning

Returns all planning elements. Supports OData query options.

GET /odata/Planning?$filter=ProjectId eq {projectId}&$orderby=PositionNumber

Create Planning Element

POST/odata/Planning

Creates a new planning element.

{
"ProjectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"DisplayName": "Design Phase",
"StartDateTime": "2024-03-01T08:00:00Z",
"EndDateTime": "2024-03-15T17:00:00Z",
"IsMilestone": false,
"IsGrouping": false
}

Get Planning Element

GET/odata/Planning({key})

Returns a single planning element by its ID.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

Update Planning Element

PATCH/odata/Planning({key})

Partially updates an existing planning element.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

Delete Planning Element

DELETE/odata/Planning({key})

Deletes a planning element.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

Count Planning Elements

GET/odata/Planning/$count

Returns the total number of planning elements.

Actions

Add Document to Planning

POST/odata/Planning({key})/AddDocumentToPlanning

Links a document to the planning element.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

Remove Document from Planning

POST/odata/Planning({key})/RemoveDocumentFromPlanning

Removes a document link from the planning element.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

Add Relation

POST/odata/Planning({key})/AddRelation

Creates a relation between the planning element and another entity.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

Remove Relation

POST/odata/Planning({key})/RemoveRelation

Removes a relation from the planning element.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

Convert Backward Scheduling

POST/odata/Planning({key})/ConvertBackwardScheduling

Converts the planning element from backward scheduling to forward scheduling.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.
info

Backward scheduling calculates start dates from a fixed end date. This action converts the element to forward scheduling, preserving the computed dates.

Notification Followers

Manage contacts who receive notifications when a planning element changes.

POST/odata/Planning({key})/AddNotificationFollowers

Adds one or more contacts as notification followers.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.
POST/odata/Planning({key})/RemoveNotificationFollower

Removes a contact from the notification followers list.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.
GET/odata/Planning({key})/GetNotificationFollowerContacts()

Returns all contacts following the planning element for notifications.

ParameterTypeRequiredDescription
keyGuidThe PlanningId.

PlanningPublication

Planning publications represent snapshots of a project schedule shared with stakeholders. Publications capture the state of the plan at a point in time.

Properties

PropertyTypeDescription
PlanningPublicationIdguidUnique identifier of the publication.
SourcePlanningIdguidSource planning element.
SourceProjectIdguidSource project.
SourceProjectNamestring?Name of the source project (read-only).
SourceProjectNumberstring?Number of the source project (read-only).
SourceProjectImageIdguid?Image ID of the source project (read-only).
DisplayNamestring?Display name of the publication.
TargetProjectIdguidTarget project.
TargetProjectNumberstring?Number of the target project (read-only).
TargetProjectNamestring?Name of the target project (read-only).
TargetProjectImageIdguid?Image ID of the target project (read-only).

Endpoints

GET/odata/PlanningPublication

Returns all planning publications.

POST/odata/PlanningPublication

Creates a new planning publication (snapshot).

GET/odata/PlanningPublication({key})

Returns a single publication by its ID.

DELETE/odata/PlanningPublication({key})

Deletes a planning publication.

GET/odata/PlanningPublication/$count

Returns the total number of planning publications.

note

Planning publications are immutable snapshots. Use PATCH on the original planning elements to update the schedule, then create a new publication.


PlanningTemplate

Planning templates store reusable project schedule structures. Templates can be exported, imported, and applied to projects.

Properties

PropertyTypeDescription
PlanningTemplateIdguidUnique identifier of the template.
NamestringName of the template.

Endpoints

GET/odata/PlanningTemplate

Returns all planning templates.

POST/odata/PlanningTemplate

Creates a new planning template.

GET/odata/PlanningTemplate({key})

Returns a single planning template by its ID.

PATCH/odata/PlanningTemplate({key})

Updates an existing planning template.

DELETE/odata/PlanningTemplate({key})

Deletes a planning template.

GET/odata/PlanningTemplate/$count

Returns the total number of planning templates.

Actions

Save Template for Project

POST/odata/PlanningTemplate/SaveTemplateForProject

Saves the current project schedule as a reusable template.

Load Template for Project

POST/odata/PlanningTemplate({key})/LoadTemplateForProject

Applies a planning template to a project, creating the defined schedule structure.

The import settings (ApiPlanningTemplateImportSettings) include:

PropertyTypeDescription
CalculationModestring?Calculation mode for scheduling (e.g., automatic or manual).
StartDateForManualCalculationdatetime?Start date when using manual calculation mode.
LoadResourceDatabooleanWhether to import resource assignments from the template.
LoadCompletionDatabooleanWhether to import completion/progress data from the template.
Existing Data

Loading a template into a project may overwrite existing planning elements. Verify the target project's schedule before applying.

Download Template

GET/odata/PlanningTemplate({key})/DownloadTemplate()

Downloads the template as an InLoox template file.

ParameterTypeRequiredDescription
keyGuidThe PlanningTemplate ID.

Download Planning Template

GET/odata/PlanningTemplate({key})/DownloadPlanningTemplate()

Downloads the planning template in InLoox planning format.

ParameterTypeRequiredDescription
keyGuidThe PlanningTemplate ID.

Download MS Project XML

GET/odata/PlanningTemplate({key})/DownloadMSProjectXML()

Exports the planning template as Microsoft Project XML.

ParameterTypeRequiredDescription
keyGuidThe PlanningTemplate ID.
tip

The MS Project XML export enables interoperability with Microsoft Project and other tools that support the .xml project format.