Project API
The Project API in XperienceHR provides an interface for managing projects, including creating, updating, deactivating, and listing projects, ensuring seamless integration with external systems for project management and tracking.
This API supports XML & JSON format for structured data exchange and requires authentication via an API key.
By integrating the Project API, organizations can efficiently manage project lifecycle data, ensuring accurate project tracking and resource allocation.
Overview
API Type: REST
Supported Formats: XML
API Key: Generated in the app configuration
Method: POST, GET
Project Management
Functionality:
- Create New Project
- Update Project
- Deactivate Project
- Get All Projects
Create New Project
Parameter | Min | Max | Required | Information | Description |
---|---|---|---|---|---|
name | 1 | 100 | ✅ |
| The project name. |
code | 1 | 30 | ✅ |
| The project short name. |
description | 0 | 500 | ❌ |
| The description of this project. |
projectType | FIXED | HOURLY | ❌ | Default value is HOURLY | The project type. |
startDate |
|
| ❌ |
| The date when the project begins (format: YYYY-MM-DD). |
finishDate |
|
| ❌ |
| The date when the project ends (format: YYYY-MM-DD). |
ProjectStatus code |
|
| ✅ | Valid XPHR value | The value of the project status. |
budget | 0 | Double_MAX_VALUE | ❌ |
| The amount of money expected to be spent on the project ($). |
duration | 0 | Integer_MAX_VALUE | ❌ |
| The number of hours expected to be spent on the 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 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 project management. |
ProjectTeamMember OU, User |
|
| ❌ | Valid XPHR value | Team assignments for the project. |
latitude | -90 | 90 | ❌ |
| The latitude of the project location. |
longitude | -180 | 180 | ❌ |
| The longitude of the 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 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 Project
To update project's information, match its code in request body and provide value(s) for data to be updated. Only Project code is a required value for update.
Endpoint
Get All Projects
Endpoint
Error Handling
Common errors help in debugging and correcting API usage issues.
Example 1: Missing Code
Example 2: Name Length Exceeded Error
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!