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
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
Thank you!
