Highrise API

Tasks

Tasks either use the general frame tag, like the example below with "today", or they'll use the specific due-at tag if they have a set time and specific day as well.

Show

GET /tasks/#{id}.xml

Returns a single task.

Response

Status: 200 OK

<task>
  <id type="integer">1</id>
  <recording-id type="integer"></recording-id>
  <subject-id type="integer"></subject-id>
  <subject-type></subject-type>
  <category-id type="integer"></category-id>
  <body>A task for today</body>
  <frame>today</frame>
  <due-at type="datetime"></due-at>
  <alert-at type="datetime"></alert-at>
  <created-at type="datetime"></created-at>
  <author-id type="integer">1</author-id>
  <updated-at type="datetime"></updated-at>
  <public type="boolean">false</public>
</task>

List Upcoming

GET /tasks/upcoming.xml

Returns a collection of upcoming tasks (tasks that have not yet been completed, regardless of whether they're overdue) for the authenticated user.

Response

Status: 200 OK

<tasks>
  <task>
    ...
  </task>
  <task>
    ...
  </task>
</tasks>

List Upcoming For Subject

GET /#{ people || companies || kases}/#{subject-id}/tasks.xml

Returns a collection of upcoming tasks for the authenticated user that are related to either a person, a company, or a case.

Response

Status: 200 OK

<tasks>
  <task>
    ...
  </task>
  <task>
    ...
  </task>
</tasks>

List Assigned

GET /tasks/assigned.xml

Returns a collection of upcoming tasks (tasks that have not yet been completed, regardless of whether they're overdue) that were created by the authenticated user, but assigned to somebody else.

Response

Status: 200 OK

<tasks>
  <task>
    ...
  </task>
  <task>
    ...
  </task>
</tasks>

List Completed

GET /tasks/completed.xml

Returns a collection of completed tasks.

Response

Status: 200 OK

<tasks>
  <task>
    ...
  </task>
  <task>
    ...
  </task>
</tasks>

Create for frame

POST /tasks.xml

Creates a new task for a generic frame like today or next week. The possible frames are: today, tomorrow, this_week, next_week, and later. If this task relates to a specific subject, like a person, company or case, you should set the subject-id and subject-type (use Party for person/company and Kase for case). You can also set a recording-id, which will bind the task to that recording and to the subject of that recording. If you do that, you don't need to specifically set subject-id and subject-type. You can assign this task to someone else by setting the owner-id tag to the id of that user. You can let other users see this task by setting the public tag to true.

Request

<task>
  <body>A task for today</body>
  <frame>today</frame>
</task>

Response

Status: 201 Created
Location: http://example.highrisehq.com/tasks/#{new-task-id}.xml

<task>
  ...
</task>

Create for specific time

POST /tasks.xml

Creates a new task for a specific time, like April 9th at 7:30pm.

Request

<task>
  <body>A timed task for the future</body>
  <frame>specific</frame>
  <due-at type="datetime">2007-03-10T15:11:52Z</due-at>
  <category-id>1</category-id>
</task>

Response

Status: 201 Created
Location: http://example.highrisehq.com/comments/#{new-comment-id}.xml

<task>
  ...
</task>

Complete

POST /tasks/#{id}/complete.xml

Completes an upcoming task and records the fact in the log.

Response

Status: 200 OK

<task>
  ...
  <done-at>2007-03-10T15:11:52Z</done-at>
</task>

Update

PUT /tasks/#{id}.xml

Updates an existing task with new details from the submitted XML.

Request

<task>
  <body>An untimed task for later</body>
  <frame>later</frame>
  <category-id type="integer">1</category-id>
  <owner-id type="integer">2</author-id>
</task>

Response

Status: 200 OK

Destroy

DELETE /tasks/#{id}.xml

Destroys the task at the referenced URL.

Response

Status: 200 OK