Activities provide a secondary way of classifying your time entries independent of jobs.
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.
Activity Managers can view, create, update and delete activities. Other users can only view their assigned activities.
Show
Request
GET /activities/#{activity-id}.xml
Response
Status: 200 OK
<activity>
<id type="integer">14</id>
<name>Client interview</name>
<active type="boolean">true</active>
<code>INT</code>
<description>Non-billable introductory interview</description>
<url/>
<!-- if include=timestamps -->
<created-at type="datetime">2007-08-16T20:49:05Z</created-at>
<updated-at type="datetime">2008-07-12T13:30:38Z</updated-at>
<!-- end -->
</activity>
List
Request
All activities:
GET /activities.xml
All active activities:
GET /activities/active.xml
All inactive activities:
GET /activities/inactive.xml
Activities assigned to the current user:
GET /activities/my_assignments.xml
Active activities assigned to the current user:
GET /activities/my_active_assignments.xml
Inactive activities assigned to the current user:
GET /activities/my_inactive_assignments.xml
Optional parameters
Specify start and end to request a specific range of items. For example:
GET /activities.xml?start=1&end=4
Response
Status: 200 OK
<activities type="array">
<activity>
...
</activity>
...
</activities>
Create
Request
POST /activities.xml
Include the following data with your request:
<activity>
<!-- name (required, unique, max-length=50) -->
<name>Client interview</name>
<!-- active (optional boolean, default=true) -->
<active>true</active>
<!-- code (optional identifier, max-length=50) -->
<code>INT</code>
<!-- description (optional, max-length=255) -->
<description>Non-billable introductory interview</description>
<!-- url (optional external link, max-length=255) -->
<url></url>
</activity>
Response
Status: 201 Created
<activity>
<id type="integer">#{new-activity-id}</id>
<name>Client interview</name>
<active type="boolean">true</active>
<code>INT</code>
<description>Non-billable introductory interview</description>
<url></url>
</activity>
Update
Request
PUT /activities/#{activity-id}.xml
Include ANY of the following data with your request:
<activity>
<name>Client interview</name>
<active>true</active>
<code>INT</code>
<description>Non-billable introductory interview</description>
<url></url>
</activity>
Response
Status: 200 OK
Delete
Activities associated with time entries can not be deleted. Instead, deactivate them (update the activity, setting active to false).
Request
DELETE /activities/#{activity-id}.xml
Response
Status: 200 OK