Overview
Statuses
Time Entries
Groups
Agendas
Memberships
Users
Harvest Credentials

Questions? support@harvestapp.com

Users

Show all users for group

GET /groups/#{group_id}/users

Retrieve all user records for a group.

HTTP Response: 200 OK

XML response

<users>
  <user>
    <id type="integer">21</id>
    <email>basil@fawltytowers.com</email>
    <first-name>Basil</first-name>
    <last-name>Fawlty</last-name>
    <avatar-thumb-url>
      http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995
    </avatar-thumb-url>
    <updated-at type="datetime">2008-12-02T16:00:34-05:00</updated-at>
  </user>
  <user>
    <id type="integer">22</id>
    <email>sybil@fawltytowers.com</email>
    <first-name>Sybil</first-name>
    <last-name>Fawlty</last-name>
    <avatar-thumb-url>
      http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995
    </avatar-thumb-url>
    <updated-at type="datetime">2008-12-02T19:00:28-05:00</updated-at>
  </user>
</users>

JSON response

[{"id": 21, "email": "basil@fawlty.com", "first_name": "Basil", "last_name": "Fawlty",
 "avatar_thumb_url": "http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995",
  "updated_at": "2008/12/02 16:00:34 -0500"},
 {"id": 22, "email": "sybil@fawlty.com", "first_name": "Sybil", "last_name": "Fawlty",
 "avatar_thumb_url": "http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995",
  "updated_at": "2008/12/02 19:00:28 -0500"}]

Show a user

GET /users/#{user_id}

May retrieve one's own user record.

HTTP Response: 200 OK

XML response

<user>
  <id type="integer">21</id>
  <email>basil@fawltytowers.com</email>
  <first-name>Basil</first-name>
  <last-name>Fawlty</last-name>
  <avatar-thumb-url>
    http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995
  </avatar-thumb-url>
  <has-harvest-credential type="boolean">true</has-harvest-credential>
  <updated-at type="datetime">2008-12-02T16:00:34-05:00</updated-at>
  <created-at type="datetime">2008-06-11T07:06:29-04:00</created-at>
</user>

JSON response

{"id": 21, "email": "basil@fawlty.com", "first_name": "Basil", "last_name": "Fawlty",
 "avatar_thumb_url": "http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995",
  "has_harvest_credential": true, "created_at": "2008/12/02 16:00:34 -0500",
  "updated_at": "2008/06/11 07:06:29 -0400"}

When retrieving a user record for a member of a group you belong to, a scaled back record is returned.

XML response

<user>
  <id type="integer">21</id>
  <email>basil@fawltytowers.com</email>
  <first-name>Basil</first-name>
  <last-name>Fawlty</last-name>
  <avatar-thumb-url>
    http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995
  </avatar-thumb-url>
  <updated-at type="datetime">2008-12-02T16:00:34-05:00</updated-at>
</user>

JSON response

{"id": 21, "email": "basil@fawlty.com", "first_name": "Basil", "last_name": "Fawlty",
 "avatar_thumb_url": "http://coopapp.com/uploads/avatars/21/thumb/smile.png?1233860995",
  "updated_at": "2008/06/11 07:06:29 -0400"}

Update user

PUT /users/#{user_id}

May only update the authenticating user.

HTTP Response: 200 OK
Location: /users/#{user_id}

Sample XML PUT:

<user>
  <email>basil@fawltytowers.com</email>
  <first_name>Basil</first_name>
  <last_name>Fawlty</last_name>
  <password>onthosetrays</password>
</user>

Sample JSON PUT:

{"user": {"email": "basil@fawltytowers.com", "first_name": "Basil",
 "last_name": "Fawlty", "password": "onthosetrays"}}