Projjex API

Project Methods
Overview

The project methods allow you to manage your projects, from creating or deleting your projects, updating information, adding or removing users, to archiving or unarchiving projects.

The standard XML and JSON representations of a project are shown below. This is returned by many of the methods below, except where otherwise indicated.

Sample XML Response
<Project ProjectID="117" Name="Hamilton Paving" IsAdministrator="true">
  <Owner>Alex Bubbagum</Owner>
  <Active>true</Active>
  <CreatedOn>2008-02-06</CreatedOn>
  <StartOn>2008-06-15</StartOn>
  <DueOn>2008-07-31</DueOn>
  <FinancialBudget>40,000.00</FinancialBudget>
  <ResourceBudget>50.00</ResourceBudget>
  <DefaultBillingRate>150.00</DefaultBillingRate>
  <DefaultCostingRate>45.00</DefaultCostingRate>
  <HoursPerDay>8</HoursPerDay>
  <DaysPerWeek>5</DaysPerWeek>
</Project>
Sample JSON Response
handleProjjexData({ "Project": {"Active": "true", "CreatedOn": "2008-02-06", "DaysPerWeek": "5", "DefaultBillingRate": "150.00", "DefaultCostingRate": "45.00", "DueOn": "2008-07-31", "FinancialBudget": "40,000.00", "HoursPerDay": "8", "IsAdministrator": "true", "Name": "Hamilton Paving", "Owner": "Alex Bubbagum", "ProjectID": "117", "ResourceBudget": "50.00", "StartOn": "2008-06-15" }});
Methods
List Projects
URL: http://api.projjex.com/projects/listprojects/
Overview
Returns a list of projects that you have access to with the API. This will include all of your projects, plus any other projects that you have been invited to join and whose owner has also enabled API access.
Parameters
Name Description Required
Session Session token received when logging in. Yes
Status Determines which projects to return. You can either specify one of the values below, or omit the parameter and it will default to Active.

Valid values are:

Active: All active projects.
Owner: All of my active projects.
Archive: All of my archived projects.
Completed: All active projects that are marked complete.
Incompleted: All active projects that are not marked complete
No
Example
http://api.projjex.com/projects/listprojects/?Session=UJ0X23LRZPR1AFX5YKF4&Status=Owner
Sample XML Response
<Projects>
    <Project ProjectID="117" Name="Hamilton Paving" IsAdministrator="true">
        [contents of the Project nodes are the 
        same as shown at the top of this page]
    </Project>
    <Project ProjectID="116" Name="Northstar Awnings" IsAdministrator="true">
        ...
    </Project>
</Projects>
Sample JSON Response
handleProjjexData({ "Projects": { "Project": [ { ... }, { ... } ] }});
Add Project
URL: http://api.projjex.com/projects/addproject/
Overview
Adds a new project to the logged in user's account.
Parameters
Name Description Required
Session Session token received when logging in. Yes
Name The name of the project. Maximum 200 characters. Yes
StartOn The scheduled start date for the project. No
DueOn The scheduled due date for the project. No
FinancialBudget The total financial budget for the project. No
ResourceBudget The total resource budget for the project. No
DefaultBillingRate The default billing rate for the project. When new users are added to the project they will use this billing rate unless otherwise specified. No
DefaultCostingRate The default costing rate for the project. When new users are added they will use this costing rate unless otherwise specified. No
DaysPerWeek The number of working days per week. This is used in calculations when time is entered in weekly intervals. If not specified this will default to 5. No
HoursPerDay The number of working hours per day. This is used in calculations when time is entered in daily or weekly intervals. If not specified this will default to 8. No
Example
http://api.projjex.com/projects/addproject/?Session=UJ0X23LRZPR1AFX5YKF4&Name=New+Project
Response
The server will respond with an XML or JSON representation of the project as shown at the top of this page.
Update Project
URL: http://api.projjex.com/projects/updateproject/
Overview
Updates the information for a project. You need to pass in the ProjectID, which you can find by calling the List Projects method. All other parameters are optional and you only need to pass in the values that have changed. To remove optional information include a blank value in the request.
Parameters
Name Description Required
Session Session token received when logging in. Yes
ProjectID The unique identifier of the project. The ProjectID can be found by calling ListProjects. Yes
Name The name of the project. Maximum 200 characters. No
StartOn The scheduled start date for the project. No
DueOn The scheduled due date for the project. No
FinancialBudget The total financial budget for the project. No
ResourceBudget The total resource budget for the project. No
DefaultBillingRate The default billing rate for the project. When new users are added to the project they will use this billing rate unless otherwise specified. No
DefaultCostingRate The default costing rate for the project. When new users are added they will use this costing rate unless otherwise specified. No
DaysPerWeek The number of working days per week. This is used in calculations when time is entered in weekly intervals. If not specified this will default to 5. No
HoursPerDay The number of working hours per day. This is used in calculations when time is entered in daily or weekly intervals. If not specified this will default to 8. No
Example
http://api.projjex.com/projects/addproject/?Session=UJ0X23LRZPR1AFX5YKF4&Name=New+Project
Response
The server will respond with an XML or JSON representation of the project as shown at the top of this page.
Delete Project
URL: http://api.projjex.com/projects/deleteproject/
Overview
Deletes the project. This action is permanent and cannot be undone.
Note: Only the project owner has permission to delete a project. All other users, even if they are a project administrator, cannot delete the project.
Parameters
Name Description Required
Session Session token received when logging in. Yes
ProjectID The unique identifier of the project. Yes
Example
http://api.projjex.com/projects/deleteproject/?Session=UJ0X23LRZPR1AFX5YKF4&ProjectID=1234
Sample XML Response
<Project ProjectID="1234" Name="Sample" Deleted="true"/>
Sample JSON Response
handleProjjexData({ "Project": {"Deleted": "true", "Name": "Sample", "ProjectID": "1234" }});
List Users
URL: http://api.projjex.com/projects/listusers/
Overview
Returns a list of users that a part of the specified project.
Parameters
Name Description Required
Session Session token received when logging in. Yes
ProjectID The unique identifier of the project. Yes
Example
http://api.projjex.com/projects/listusers/?Session=UJ0X23LRZPR1AFX5YKF4&ProjectID=1234
Sample XML Response
<Project ProjectID="117" Name="Hamilton Paving">
    <User Email="alex.bubbagum@gmail.com" Firstname="Alex" Lastname="Bubbagum"/>
    <User Email="bill.bubbagum@gmail.com" Firstname="Bill" Lastname="Bubbagum"/>
    <User Email="maura.bubbagum@gmail.com" Firstname="Maura" Lastname="Bubbagum"/>
</Project>
            
Sample JSON Response
handleProjjexData({ "Project": {"Name": "Hamilton Paving", "ProjectID": "117", "User": [ {"Email": "alex.bubbagum@gmail.com", "Firstname": "Alex", "Lastname": "Bubbagum" }, {"Email": "bill.bubbagum@gmail.com", "Firstname": "Bill", "Lastname": "Bubbagum" }, {"Email": "maura.bubbagum@gmail.com", "Firstname": "Maura", "Lastname": "Bubbagum" } ] }});
Add User
URL: http://api.projjex.com/projects/adduser/
Overview
Adds a user to the specified project. You must be the project owner or a project administrator to add a user to a project.
If the user already has a Projject account, the first and last names are not updated. If the user does not have a Projjex account, a new account will be created and they will be sent an invitation email to setup their account.
Parameters
Name Description Required
Session Session token received when logging in. Yes
ProjectID The unique identifier of the project. Yes
Email The email address of the person you are adding. If this is a new Projjex user, this will be the email address they will need to use to login. Yes
Firstame The first name of the user. Yes
Lastame The last name of the user. Yes
BillingRate The default billing rate for this user's time. If not specified, they will be given the default billing rate for the project. No
CostingRate The default costing rate for this user's time. If not specified, they will be given the default costing rate for the project. No
AccessLevel One of the following single character values:
A: The user will be an administrator within this project.
C: The user is part of the company or organization.
O: The user is outside of the company or organization.

If not specified, this will default to 'O'.
No
Example
http://api.projjex.com/projects/adduser/?Session=UJ0X23LRZPR1AFX5YKF4&ProjectID=1234&Email=alex.bubbagum@gmail.com&Firstname=Alex&Lastname=Bubbagum
Response
The server will respond with the complete list of users that now belong to the project. See the List Users method for an example.
Remove User
URL: http://api.projjex.com/projects/removeuser/
Overview
Removes the user from the specified project. You must be the project owner or a project administrator to remove a user from a project.
Note that there is no other effect to the person's account other than removing their access to the project. Their account will still exist and they will continue to have access to all other projects they are a part of.
Parameters
Name Description Required
Session Session token received when logging in. Yes
ProjectID The unique identifier of the project. Yes
Email The email address of the person you are removing. Yes
Example
http://api.projjex.com/projects/removeuser/?Session=UJ0X23LRZPR1AFX5YKF4&ProjectID=1234&Email=bill.bubbagum@gmail.com
Response
The server will respond with the complete list of users that now belong to the project. See the List Users method for an example.
Archive
URL: http://api.projjex.com/projects/archive/
Overview
Archives the specified project. Archived projects are not deleted, but cannot be accessed until they are unarchived. While archived they do not count towards any limit on the number of projects an account my have.
You must be the owner or a project administrator to archive a project.
Parameters
Name Description Required
Session Session token received when logging in. Yes
ProjectID The unique identifier of the project. Yes
Example
http://api.projjex.com/projects/archive/?Session=UJ0X23LRZPR1AFX5YKF4&ProjectID=1234
Response
The server will respond with an XML or JSON representation of the project as shown at the top of this page. Note that archived projects will have an Active value of 'false'.
Unarchive
URL: http://api.projjex.com/projects/unarchive/
Overview
Re-activates the specified archived project.
You must be the owner or a project administrator to un-archive a project.
Parameters
Name Description Required
Session Session token received when logging in. Yes
ProjectID The unique identifier of the project. Yes
Example
http://api.projjex.com/projects/unarchive/?Session=UJ0X23LRZPR1AFX5YKF4&ProjectID=1234
Response
The server will respond with an XML or JSON representation of the project as shown at the top of this page. When a project is un-archived its Active Active value will be 'true'.
Quick Links
Support

.NET developers can download our .NET API Wrapper. The wrapper simplifies using the Projjex™ API by returning .NET objects.

API Methods