Highrise API

Notes

Show

GET /notes/#{id}.xml

Returns a single note. Attachments are included, but comments are kept separate at /notes/#{id}/comments.xml.

Response

Status: 200 OK

<note>
  <id type="integer">7</id>
  <subject-id type="integer">4</subject-id>
  <subject-type>Party</subject-type>
  <body>Hello world!</body>
  <kase-id type="integer"></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>NamedGroup</visible-to>
  <group-id type="integer">1</group-id>
  <owner-id type="integer"></owner-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>

List All From Person

GET /people/#{person-id}/notes.xml

Returns a collection of notes that are visible to the authenticated user associated with the person specified in the URL. The list is paginated using offsets. If 50 elements are returned (the page limit), use ?n=50 to check for the next 50 and so on.

Response

Status: 200 OK

<notes>
  <note>
    ...
  </note>
  <note>
    ...
  </note>
</notes>

List All From Company

GET /companies/#{company-id}/notes.xml

Returns a collection of notes like List All From Person, but from a company instead. This includes all notes that are associated with employees of the company.

Response

Status: 200 OK

<notes>
  <note>
    ...
  </note>
  <note>
    ...
  </note>
</notes>

List All From Case

GET /kases/#{kase-id}/notes.xml

Returns a collection of notes like List All From Person, but from a case instead. This includes all notes that are associated specifically with the case or with a party and the case.

Response

Status: 200 OK

<notes>
  <note>
    ...
  </note>
  <note>
    ...
  </note>
</notes>

Create

POST /notes.xml (or like: /people/#{person-id}/notes.xml)

Creates a new note with the currently authenticated user as the author. The XML for the new note is returned on a successful request with the timestamps recorded and ids for the contact data associated. The subject of the note (who it belongs to) can either be set through the url or through the subject-type and subject-id tags. Using /companies/5/notes.xml as the target for the POST is the same as using /notes.xml with subject-type "Party" and subject-id "5". By default, a new note is assumed to be visible to Everyone. You can also chose to make the note only visible to the creator using "Owner" as the value for the visible-to tag. Or "NamedGroup" and pass in a group-id tag too. Note: Adding attachments to a note is not yet supported. As always, the URL for the newly-created note is passed back in the Location header.

Request

<note>
  <body>Hello world!</body>
  <subject-id type="integer">4</subject-id>
  <subject-type>Party</subject-type>
</note>

Response

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

<note>
  ...
</note>

Update

PUT /notes/#{id}.xml

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

Request

<note>
  <body>Hello world is now part of a case!</body>
  <kase-id type="integer">1</kase-id>
</note>

Response

Status: 200 OK

Destroy

DELETE /notes/#{id}.xml

Destroys the note at the referenced URL.

Response

Status: 200 OK