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!
