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 |
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
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: 21/08/2025
Thank you!