Highrise API

Data Reference

The following sections describe the different data types used by the Basecamp API.

Case

<kase>
  <id type="integer">1</id>
  <closed-at type="datetime"></closed-at>
  <name>A very important matter</name>
  <created-at type="datetime"></created-at>
  <updated-at type="datetime">2007-03-19T22:34:22Z</updated-at>
  <visible-to>#{Everyone || Owner || NamedGroup}</visible-to>
  <owner-id type="integer">#{ user_id -- requires visble-to is "Owner"}</owner-id>
  <group-id type="integer">#{ group_id -- requires visble-to is "NamedGroup"}</group-id>
  <author-id type="integer">3</author-id>
</kase>

Comment

<comment>
  <id type="integer">1</id>
  <parent-id type="integer">2</parent-id>
  <author-id type="integer">1</author-id>
  <created-at type="datetime">2006-05-19T20:26:00Z</created-at>
  <body>I agree, taxes are no fun</body>
</comment>

Company

<company>
  <id type="integer">1</id>
  <name>Doe Inc.</name>
  <background>A popular company for random data</background>
  <created-at type="datetime">2007-02-27T03:11:52Z</created-at>
  <updated-at type="datetime">2007-03-10T15:11:52Z</updated-at>
  <visible-to>#{Everyone || Owner || NamedGroup}</visible-to>
  <owner-id type="integer">#{ user_id -- requires visble-to is "Owner"}</owner-id>
  <group-id type="integer">#{ group_id -- requires visble-to is "NamedGroup"}</group-id>
  <author-id type="integer">3</author-id>
  <contact-data>
    ...
  </contact-data>
</company>

Contact data for person and company

<contact-data>
  <email-addresses>
    <email-address>
      <id type="integer">1</id>
      <address>john.doe@example.com</address>
      <location>#{ Work || Home || Other }</location>
    </email-address>
  </email-addresses>
  <phone-numbers>
    <phone-number>
      <id type="integer">2</id>
      <number>555-555-5555</number>
      <location>#{ Work || Mobile || Fax || Pager || Home || Other }</location>
    </phone-number>
    <phone-number>
      <id type="integer">3</id>
      <number>555-666-6666</number>
      <location>Home</location>
    </phone-number>
  </phone-numbers>
  <addresses>
    <address>
      <id type="integer">1</id>
      <city>Sampleville</city>
      <country>United States</country>
      <state>IL</state>
      <street>123 Example Ave</street>
      <zip>55555</zip>
      <location>#{ Work || Home || Other }</location>
    </address>
  </addresses>
  <instant-messengers>
    <instant-messenger>
      <id type="integer">1</id>
      <address>example</address>
      <protocol>#{ 
        AIM || MSN || ICQ || Jabber || Yahoo || Skype || QQ ||
        Sametime || Gadu-Gadu || Google Talk || other
      }</protocol>
      <location>#{ Work || Personal || Other }</location>
    </instant-messenger>
  </instant-messengers>
  <web-addresses>
    <web-address>
      <id type="integer">1</id>
      <address>http://www.example.com</address>
      <location>#{ Work || Personal || Other }</location>
    </web-address>
  </web-addresses>
</contact-data>

Email

<email>
  <id type="integer">1</id>
  <subject-id type="integer">1</subject-id>
  <subject-type>#{ Party || Kase }</subject-type>
  <title>This is the subject of the email</title>
  <body>This is the body</body>
  <kase-id type="integer">1</kase-id>
  <updated-at type="datetime">2007-02-27T18:42:28Z</updated-at>
  <created-at type="datetime">2006-05-16T17:26:00Z</created-at>
  <visible-to>#{Everyone || Owner || NamedGroup}</visible-to>
  <owner-id type="integer">#{ user_id -- requires visble-to is "Owner"}</owner-id>
  <group-id type="integer">#{ group_id -- requires visble-to is "NamedGroup"}</group-id>
  <author-id type="integer">3</author-id>
  <attachments>
    <attachment>
      <id type="integer">1</id>
      <url>http://example.highrisehq.com/.../picture.png</url>
    </attachment>
    <attachment>
      <id type="integer">2</id>
      <url>http://example.highrisehq.com/.../document.txt</url>
    </attachment>
  </attachments>
</email>

Group

<group>
  <id type="integer">1</id>
  <name>Partners</name>
  <users>
    <user>
      ...
    </user>
    <user>
      ...
    </user>
  </users>
</group>

Membership

<membership>
  <id type="integer">1</id>
  <group-id type="integer">1</group-id>
  <user-id type="integer">1</user-id>
  <created-at type="datetime">2007-04-23T20:25:29Z</created-at>
  <updated-at type="datetime">2007-04-23T20:25:29Z</updated-at>
</membership>

Note

<note>
  <id type="integer">1</id>
  <subject-id type="integer">1</subject-id>
  <subject-type>#{ Party || Kase }</subject-type>
  <body>Hello world!</body>
  <kase-id type="integer">1</kase-id>
  <updated-at type="datetime">2007-02-27T18:42:28Z</updated-at>
  <created-at type="datetime">2006-05-16T17:26:00Z</created-at>
  <visible-to>#{Everyone || Owner || NamedGroup}</visible-to>
  <owner-id type="integer">#{ user_id -- requires visble-to is "Owner"}</owner-id>
  <group-id type="integer">#{ group_id -- requires visble-to is "NamedGroup"}</group-id>
  <author-id type="integer">3</author-id>
  <attachments>
    <attachment>
      <id type="integer">1</id>
      <url>http://example.highrisehq.com/.../picture.png</url>
    </attachment>
    <attachment>
      <id type="integer">2</id>
      <url>http://example.highrisehq.com/.../document.txt</url>
    </attachment>
  </attachments>
</note>

Person

<person>
  <id type="integer">1</id>
  <first-name>John</first-name>
  <last-name>Doe</last-name>
  <title>Stand-in</title>
  <background>A popular guy for random data</background>
  <company-id type="integer">2</company-id>
  <created-at type="datetime">2007-02-27T03:11:52Z</created-at>
  <updated-at type="datetime">2007-03-10T15:11:52Z</updated-at>
  <visible-to>#{Everyone || Owner || NamedGroup}</visible-to>
  <owner-id type="integer">#{ user_id -- requires visble-to is "Owner"}</owner-id>
  <group-id type="integer">#{ group_id -- requires visble-to is "NamedGroup"}</group-id>
  <author-id type="integer">3</author-id>
  <contact-data>
    ...
  </contact-data>
</person>

Task

<task>
  <id type="integer">1</id>
  <author-id type="integer">1</author-id>
  <owner-id type="integer">1</owner-id>
  <recording-id type="integer"></recording-id>
  <subject-id type="integer"></subject-id>
  <subject-type></subject-type>
  <body>Remember to do something important</body>
  <frame>#{ today || tomorrow || this_week || next_week || later }</frame>
  <alert-at type="datetime"></alert-at>
  <done-at type="datetime"></done-at>
  <category-id type="integer"></category-id>
  <created-at type="datetime"></created-at>
  <updated-at type="datetime">2007-04-26T02:04:03Z</updated-at>
</task>

User

<user>
  <id type="integer">1</id>
  <person-id type="integer">2</person-id>
  <name>david</name>
  <created-at type="datetime">2007-04-23T20:25:29Z</created-at>
  <updated-at type="datetime">2007-04-23T20:25:29Z</updated-at>
</user>