Activity assignments link a user or group (including "all users") to an activity or all activities.

You can check if activities are enabled using the Account Information interface (account / time-settings / show-activities). Administrators can enable activities from Syncd's web interface via Settings / Time Tracking.

Only Activity Managers can view, create and delete activity assignments. If you'd like to view assigned activities instead of activity assignments, use the Activities interface.

Show

Request

GET /activity_assignments/#{activity-assignment-id}.xml

Optional parameters

The following optional parameters can be used to include extra data:

include=[users,
         user_groups,
         activities]

Response

Status: 200 OK

<activity-assignment>
  <id type="integer">#{activity-assignment-id}</id>
  <!-- if assigned to all users --->
  <users>all</users>
  <!-- else if assigned to a user -->
  <!--   if include=users -->
  <user>
    ...
  </user>
  <!--   else -->
  <user-id type="integer">#{user-id}</user-id>
  <!--   end -->
  <!-- else if assigned to a user group --->
  <!--   if include=user_groups -->
  <user-group>
    ...
  </user-group>
  <!--   else -->
  <user-group-id type="integer">#{user-group-id}</user-group-id>
  <!--   end -->
  <!-- end -->
  <!-- if assigned to all activities --->
  <activities>all</activities>
  <!-- else if include=activities -->
  <activity>
    ...
  </activity>
  <!-- else -->
  <activity-id type="integer">#{activity-id}</activity-id>
  <!-- end -->
  <!-- if include=timestamps -->
  <created-at type="datetime">2008-01-08T03:47:52Z</created-at>
  <updated-at type="datetime">2008-01-08T03:47:52Z</updated-at>
  <!-- end -->
</activity-assignment>

List

Request

All activity assignments:

GET /activity_assignments.xml

Assignments related to a particular activity (includes assignments to all activities):

GET /activities/#{activity-id}/assignments.xml

Direct assignments to a particular activity (excludes assignments to all activities):

GET /activities/#{activity-id}/assignments/direct.xml

Assignments related to a particular user (includes assignments to the user's groups and all users):

GET /users/#{user-id}/activity_assignments.xml

Direct assignments to a particular user (excludes assignments to the user's groups and all users):

GET /users/#{user-id}/activity_assignments/direct.xml

Assignments for a particular user group:

GET /user_groups/#{user-group-id}/activity_assignments.xml

Since all assignments to user groups are direct, there's no separate method for requesting only direct assignments.

Optional parameters

Specify start and end to request a specific range of items. For example:

GET /activity_assignments.xml?start=1&end=4

The following optional parameters can be used to include extra data:

include=[users,
         user_groups,
         activities]

For example:

GET /activity_assignments.xml?include=users,user_groups,activities

Response

Status: 200 OK

<activity-assignments type="array">
  <activity-assignment>
    ...
  </activity-assignment>
  ...
</activity-assignments>

Create

Request

POST /activity_assignments.xml

Include the following data with your request:

<activity-assignment>
  <!-- A user, user group, or all users must be included -->
  <!--   To specify a user: -->
  <user-id>#{user-id}</user-id>
  <!--   To specify a user group: -->
  <user-group-id>#{user-group-id}</user-group-id>
  <!--   To specify all users: -->
  <users>all</users>
  <!-- An activity or all activities must be included -->
  <!--   To specify an activity: -->
  <activity-id>#{activity-id}</activity-id>
  <!--   To specify all activities: -->
  <activities>all</activities>
</activity-assignment>

For example, to assign a user to a specific activity:

<activity-assignment>
  <user-id>25</user-id>
  <activity-id>14</activity-id>
</activity-assignment>

Response

Status: 201 Created

<activity-assignment>
  <id type="integer">#{new-activity-assignment-id}</id>
  <user-id type="integer">25</user-id>
  <activity-id type="integer">14</activity-id>
  <!-- if include=timestamps -->
  <created-at type="datetime">2008-01-08T03:47:52Z</created-at>
  <updated-at type="datetime">2008-01-08T03:47:52Z</updated-at>
  <!-- end -->
</activity-assignment>

Delete

Request

DELETE /activity_assignments/#{activity-assignment-id}.xml

Response

Status: 200 OK

Continue to Time Entries