The API described in this document is obsolete. It is documented here only for the support of legacy applications that might be using it. New applications are encouraged to use the newer, REST-based API. Older applications, too, are encouraged to switch to the newer API.
This will return information about the referenced message. If the id is given as a comma-delimited list, one record will be returned for each id. In this way you can query a set of messages in a single request. Note that you can only give up to 25 ids per request—more than that will return an error.
<posts>
<post>
...
</post>
<post>
...
</post>
...
</posts>
This will return a summary record for each message in a project. If you specify a category_id, only messages in that category will be returned. (Note that a summary record includes only a few bits of information about a post, not the complete record.)
<request>
<project-id>#{project_id}</project-id>
<!-- optional -->
<category-id>#{optional_category_id}</category-id>
</request>
<posts>
<post>
... <!-- abbreviated post -->
</post>
<post>
... <!-- abbreviated post -->
</post>
...
</posts>
This will return a summary record for each message in a particular category. (Note that a summary record includes only a few bits of information about a post, not the complete record.)
<posts>
<post>
... <!-- abbreviated post -->
</post>
<post>
... <!-- abbreviated post -->
</post>
...
</posts>
Creates a new message, optionally sending notifications to a selected list of people. Note that you can also upload files using this function, but you need to upload the files first and then attach them. See the description at the top of this document for more information.
<request>
<post>
<category-id>#{category_id}</category-id>
<title>#{title}</title>
<body>#{body}</body>
<use-textile>1</use_textile> <!-- omit to not use textile -->
<private>1</private> <!-- only for firm employees -->
</post>
<notify>#{person_id}</notify>
<notify>#{person_id}</notify>
...
<attachments>
<name>#{name}</name> <!-- optional -->
<file>
<file>#{temp_id}</file> <!-- the id of the previously uploaded file -->
<content-type>#{content_type}</content-type>
<original_filename>#{original_filename}</original-filename>
</file>
</attachments>
<attachments>...</attachments>
...
</request>
<post>
...
</post>
Updates an existing message, optionally sending notifications to a selected list of people. Note that you can also upload files using this function, but you have to format the request as multipart/form-data. (See the ruby Basecamp Classic API wrapper for an example of how to do this.)
<request>
<post>
<category-id>#{category_id}</category-id>
<title>#{title}</title>
<body>#{body}</body>
<use-textile>1</use-textile> <!-- omit to not use textile -->
<private>1</private> <!-- only for firm employees -->
</post>
<notify>#{person_id}</notify>
<notify>#{person_id}</notify>
...
</request>
<post>
...
</post>
Delete the specified message from the project.
<post>
...
</post>