> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Update project

> Update selected fields on an Asana project.

`updateProject` changes project metadata, dates, visibility, or archive state.

```ts automations/archive-asana-project.automation.ts theme={null}
import { automation, onHttpRequest } from "automate.ax"
import { updateProject } from "automate.ax/asana"

export default automation("Archive Asana project", () => {
  onHttpRequest({ scope: "automation" })
  updateProject({ projectId: "project-gid", archived: true })
})
```

`projectId` is required. Optional mutation fields are `name`, `archived`, `color`, `dueOn`, `startOn`, `htmlNotes`, `notes`, and `public`; `account` defaults to the project binding. Dates use `YYYY-MM-DD` or `null`. Do not supply both `htmlNotes` and `notes`.

Returns the updated `AsanaProject`. Omitted fields remain unchanged.
