Project Managers can view, create and delete any project assignments. Other users can only view their own assignments.
Show
Request
GET /project_assignments/#{project-assignment-id}.xml
Optional parameters
Specify include=users to include user details, and include=projects to include project details. Specify include=clients,projects,tasks to include client, project and task details. For example:
GET /project_assignments/#{project-assignment-id}.xml?include=users,clients,projects,tasks
Response
Status: 200 OK <project-assignment> <id type="integer">77</id> <created-at type="datetime">2007-03-30T01:37:15Z</created-at> <updated-at type="datetime">2007-12-20T06:55:23Z</updated-at> <!-- if include=users --> <user> ... </user> <!-- else --> <user-id type="integer">25</user-id> <!-- if include=projects --> <project> ... </project> <!-- else --> <project-id type="integer">28</project-id> </project-assignment>
List
Request
All project assignments:
GET /project_assignments.xml
All active project assignments:
GET /project_assignments/active.xml
All inactive project assignments:
GET /project_assignments/inactive.xml
Project assignments for the current user:
GET /project_assignments/my_assignments.xml
Active project assignments for the current user:
GET /project_assignments/my_active_assignments.xml
Inactive project assignments for the current user:
GET /project_assignments/my_inactive_assignments.xml
Assignments for a particular project:
GET /projects/#{project-id}/assignments.xml
Assignments for a particular user:
GET /users/#{user-id}/project_assignments.xml
Optional parameters
Specify start and end to request a specific range of items. For example:
GET /project_assignments.xml?start=1&end=4
Specify include=users to include user details, and include=projects to include project details. For example:
GET /project_assignments.xml?include=users,projects
Response
Status: 200 OK <project-assignments total="11" end="11" start="1"> <project-assignment> ... </project-assignment> ... </project-assignments>
Create
Request
POST /project_assignments.xml
Include the following data with your request:
<project-assignment> <!-- user-id (REQUIRED) --> <user-id>#{user-id}</user-id> <!-- project-id (REQUIRED) --> <project-id>#{project-id}</project-id> </project-assignment>
Response
Status: 201 Created <project-assignment> <id type="integer">#{new-project-assignment-id}</id> <user-id type="integer">25</user-id> <project-id type="integer">28</project-id> <created-at type="datetime">2008-01-08T03:47:52Z</created-at> <updated-at type="datetime">2008-01-08T03:47:52Z</updated-at> </project-assignment>
Delete
Request
DELETE /project_assignments/#{project-assignment-id}.xml
Response
Status: 200 OK


