Sub-Project API

The Sub-Project API in XperienceHR provides an interface for managing sub projects, including creating, updating, deactivating, and listing sub-projects, ensuring seamless integration with external systems for detailed project management and tracking.


This API supports XML & JSON format for structured data exchange and requires authentication via an API key.


By integrating the Sub-Project API, organizations can efficiently manage sub project lifecycle data, ensuring accurate tracking and resource allocation within larger projects.


Overview


API Type: REST
Supported Formats: XML
API Key: Generated in the app configuration
Method: POST, GET


Sub-Project Management


Functionality:

  • Create New Sub-Project
  • Update Sub-Project
  • Deactivate Sub-Project
  • Get all Sub-Projects


Create New Sub-Project


Parameter

Min

Max

Required

Information

Description

name

1

100

✅


The sub-project name.

code

1

30

✅


The sub-project short name.

description

0

500

❌


The description of this sub-project.

projectType

FIXED

HOURLY

❌

Default value is HOURLY

The sub-project type.

inheritParentPermissions

TRUE

FALSE

❌


If TRUE, the sub-project inherits access and team assignments (e.g., ProjectManagers and ProjectTeam) from its parent project. Set to FALSE to manage the sub-project’s permissions independently.

startDate



❌


The date when the sub-project begins (format: YYYY-MM-DD).

finishDate



❌


The date when the sub-project ends (format: YYYY-MM-DD).

subprojectCode

0

30

❌


Optional secondary identifier (alias) for the sub-project; should be unique within the parent project.

ProjectStatus code



✅

Valid XPHR value

The value of the sub-project status.

ParentProject code



✅

Valid XPHR value

The code of parent project.

budget

0

Double_MAX_VALUE

❌


The amount of money expected to be spent on the sub-project ($).

duration

0

Integer_MAX_VALUE

❌


The number of hours expected to be spent on the sub-project.

billingType



❌

Valid values: employee, activity, project

The way in which the budgeted amount is calculated.

rate

0

Double_MAX_VALUE

❌

Only relevant for project rate type

The sub-project rate ($).

durationCorrection


Positive value

❌


The number of hours already tracked outside the application.

billable

TRUE

FALSE

❌


TRUE: all activities are billable; FALSE: only manually marked activities are billable

billableType



❌


Controls the default billable flag for time records

active

TRUE

FALSE

❌


Indicates whether the project is currently active.

lateMissingNotification

TRUE

FALSE

❌


TRUE: enabled; FALSE: disabled

lateMissingEmployeeSMSNotification

TRUE

FALSE

❌

Valid XPHR value

Indicates if employees will receive SMS notifications when late (paid service).

lateMissingEmailsString



❌

Valid email address

The email addresses that should receive Late and Missing Notifications (multiple addresses separated by commas).

projectManagerLogins



❌

Valid XPHR value

The logins for sub-project management.

ProjectTeamMember OU, User



❌

Valid XPHR value

Team assignments for the sub-project.

latitude

-90

90

❌


The latitude of the sub-project location.

longitude

-180

180

❌


The longitude of the sub-project location.

gpsRadius

0

Integer_MAX_VALUE

❌


The GPS radius in meters.

CostCenter code



❌

Valid XPHR value

The code of the cost center, only for creating a new sub-project (updating Cost Center is not supported).


Billable Type Options

Description

YES

All activities marked strictly as billable

DEFAULT_YES

All activities marked as billable but could be unmarked

NO

All activities marked strictly as non-billable

DEFAULT_NO

All activities marked as non-billable but could be unmarked

ACTIVITY

Billable flag is determined by activity setting


Multiple email addresses are separated with commas.


Endpoint


Update Sub-Project


To update sub-project's information, match its code in request body and provide value(s) for data to be updated.


Endpoint


Get All Sub-Projects


To filter the list of sub-projects, include the projectStatus parameter in the request and specify one of the supported values: ACTIVE, INACTIVE, or ARCHIVED.


Endpoint


Error Handling


Common errors help in debugging and correcting API usage issues.


Example 1: Missing Code


Example 2: User Not Found


Example 3: Parent Project Required


HTTP Response Codes

  • 2XX Success - Operation completed successfully.
  • 4XX Client Error - Likely an issue with the request, such as incorrect parameters or insufficient permissions. Returns an error message in text or XML format.
  • 5XX Server Error - Indicates a server issue. Report this error if encountered.

Updated on: 27/11/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!