The following sections describe the different data types used by the Basecamp API.
<post>
<id type="integer">#{id}</id>
<title>#{title}</title>
<posted-on type="datetime">#{posted_on}</posted-on>
<attachments-count type="integer">#{attachments_count}</attachments-count>
<category>
<id type="integer">#{id}</id>
<name>#{name}</name>
</category>
</post>
<comment id="#{id}">
<post_id>#{post_id}</post_id>
<creator_name>#{creator_name}</creator_name>
<creator_id>#{creator_id}</creator_id>
<body>#{body}</body>
<posted_on>#{posted_on}</posted_on>
</comment>
<company>
<id type="integer">#{id}</id>
<name>#{name}</name>
<address-one>#{address_one}</address-one>
<address-two>#{address_two}</address-two>
<city>#{city}</city>
<state>#{state}</state>
<zip>#{zip}</zip>
<country>#{country}</country>
<web-address>#{web_address}</web-address>
<phone-number-office>#{phone_number_office></phone-number-office>
<phone-number-fax>#{phone_number_fax}</phone-number-fax>
<time-zone-id>#{time_zone_id}</time-zone-id>
<can-see-private type="boolean">#{can_see_private}</can-see-private>
<!-- for non-client companies -->
<url-name>#{url_name}</url-name>
</company>
<attachment-category>
<id type="integer">#{id}</id>
<name>#{name}</name>
<project-id type="integer">#{project_id}</project-id>
<elements-count type="integer">#{elements_count}</elements-count>
</attachment-category>
<post-category>
<id type="integer">#{id}</id>
<name>#{name}</name>
<project-id type="integer">#{project_id}</project-id>
<elements-count type="integer">#{elements_count}</elements-count>
</post-category>
<milestone>
<id type="integer">#{id}</id>
<title>#{title}</title>
<deadline type="date">#{deadline}</deadline>
<completed type="boolean">#{true|false}</completed>
<project-id type="integer">#{project_id}</project-id>
<created-on type="datetime">#{created_on}</created-on>
<creator-id type="integer">#{creator_id}</creator-id>
<responsible-party-id type="integer">#{responsible_party_id}</responsible-party-id>
<responsible-party-type>#{responsible_party_type}</responsible-party-type>
<!-- if the milestone has been completed -->
<completed-on type="datetime">#{completed_on}</completed-on>
<completer-id type="integer">#{completer_id}</completer-id>
</milestone>
<person>
<id type="integer">#{id}</id>
<first-name>#{first_name}</first-name>
<last-name>#{last_name}</last-name>
<title>#{title}</title>
<email-address>#{email_address}</email-address}
<im-handle>#{im_handle}</im-handle>
<im-service>#{im_service}</im-service>
<phone-number-office>#{phone_number_office}</phone-number-office>
<phone-number-office-ext>#{phone_number_office_ext}</phone-number-office-ext>
<phone-number-mobile>#{phone_number_mobile}</phone-number-mobile>
<phone-number-home>#{phone_number_home}</phone-number-home>
<phone-number-fax>#{phone_number_fax}</phone-number-fax>
<last-login type="datetime">#{last_login}</last-login>
<client-id type="integer">#{client_id}</client-id>
<!-- if user is an administrator, or is self -->
<user-name>#{user_name}</user-name>
<!-- if user is self -->
<password>#{password}</password>
<token>#{token}</token>
<!-- if user is an administrator -->
<administrator type="boolean">#{administrator}</administrator>
<deleted type="boolean">#{deleted}</deleted>
<has-access-to-new-projects type="boolean">#{has_access_to_new_projects}</has-access-to-new-projects>
</person>
<post>
<id type="integer">#{id}</id>
<title>#{title}</title>
<body>#{body}</body>
<posted-on type="datetime">#{posted_on}</posted-on>
<project-id type="integer">#{project_id}</project-id>
<category-id type="integer">#{category_id}</category-id>
<author-id type="integer">#{author_id}</author-id>
<milestone-id type="integer">#{milestone_id}</milestone-id>
<comments-count type="integer">#{comments_count}</comments-count>
<attachments-count type="integer">#{attachments_count}</attachments-count>
<use-textile type="boolean">#{use_textile}</use-textile>
<extended-body>#{extended_body}</extended-body>
<display-body>#{display_body}</display-body>
<display-extended-body>#{display_extended_body}</display-extended-body>
<!-- if user can see private posts -->
<private type="boolean">#{private}</private>
</post>
<project>
<id type="integer">#{id}</id>
<name>#{name}</name>
<created-on type="datetime">#{created_on}</created-on>
<status>#{status}</status>
<last-changed-on type="datetiem">#{last_changed_on}</last-changed-on>
<company>
<id type="integer">#{id}</id>
<name>#{name}</name>
</company>
<!-- if user is administrator, or show_announcement is true -->
<announcement>#{announcement}</announcement>
<!-- if user is administrator -->
<start-page>#{start_page}</start-page>
<show-writeboards type="boolean">#{show_writeboards}</show-writeboards>
<show-announcement type="boolean">#{show_announcement}</show-announcement>
</project>
<time-entry>
<id type="integer">#{id}</id>
<project-id type="integer">#{project-id}</project-id>
<person-id type="integer">#{person-id}</person-id>
<date type="date">#{date}</date>
<hours>#{hours}</hours>
<description>#{description}</description>
<todo-item-id type="integer">#{todo-item-id}</todo-item-id>
</time-entry>
<todo-item>
<id type="integer">#{id}</id>
<content>#{content}</content>
<position type="integer">#{position}</position>
<created-on type="datetime">#{created_on}</created-on>
<creator-id type="integer">#{creator_id}</creator-id>
<completed type="boolean">#{completed}</completed>
<!-- if the item has a responsible party -->
<responsible-party-type>#{responsible_party_type}</responsible-party-type>
<responsible-party-id type="integer">#{responsible_party_id}</responsible-party-id>
<!-- if the item has been completed -->
<completed-on type="datetime">#{completed_on}</completed-on>
<completer-id type="integer">#{completer_id}</completer-id>
</todo-item>
<todo-list>
<id type="integer">#{id}</id>
<name>#{name}</name>
<description>#{description}</description>
<project-id type="integer">#{project_id}</project-id>
<milestone-id type="integer">#{milestone_id}</milestone-id>
<position type="integer">#{position}</position>
<!-- if user can see private lists -->
<private type="boolean">#{private}</private>
<!-- if todo-items are included in the response -->
<todo-items>
<todo-item>
...
</todo-item>
<todo-item>
...
</todo-item>
...
</todo-items>
</todo-list>