/projects GET

Provides the list of all projects that the current user can see as a manager or creator.

Note: Archived projects are excluded.

/projects POST

Allows you to create a new project entity.

Not all attributes may be set directly; these are:
:basecamp_id, :created_at, :creator_id, :id, :updated_at, :users

The only required field when creating a project is :name. Ability to add users to a project has not yet been exposed through the API.

To create a new project, you could use an XML document like this:

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <name>New Project</name>
</project>

/projects/new GET

Describes a new project, with defaults in place. Not particularly useful to the developer, but available for reference.

/projects/:id GET

Describes a particular project entity by ID, e.g. @/projects/1024@.

/projects/:id DELETE

Allows the user to delete a project.

Note: projects that have time logged to them will not be deleted and an error will be returned. See /projects/:id/archive POST to inactivate a project.

/projects/:id PUT

Allows the developer to update a project’s attributes. Not all attributes may be updated, and user assignments are not yet exposed through the API. To check attributes that may and may not be updated, see /projects POST.

/projects/:id/edit GET

Provides a document describing a project's attributes.

/projects/:id/archive POST

Causes a project to be archived.

/projects/:id/unarchive POST

Unarchives a project, changing its @is_active?@ status to @true@.

/projects/archived GET

Provides the list of archived (inactive) projects.