update_project
Modify project details including name, description, dates, and status in Zoho Projects to keep project information current and accurate.
Instructions
Update an existing project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Project description | |
| end_date | No | End date (YYYY-MM-DD) | |
| name | No | Project name | |
| project_id | Yes | Project ID | |
| start_date | No | Start date (YYYY-MM-DD) | |
| status | No | Project status |
Implementation Reference
- src/index.ts:673-688 (handler)The main handler function for the 'update_project' tool. It extracts project_id and update data from params, makes a PATCH request to the Zoho API to update the project, and returns a success message with the response data.private async updateProject(params: any) { const { project_id, ...updateData } = params; const data = await this.makeRequest( `/portal/${this.config.portalId}/projects/${project_id}`, "PATCH", updateData ); return { content: [ { type: "text", text: `Project updated successfully:\n${JSON.stringify(data, null, 2)}`, }, ], }; }
- src/index.ts:249-271 (schema)The input schema definition for the 'update_project' tool, registered in the list_tools response. Defines parameters like project_id (required), name, description, dates, and status.{ name: "update_project", description: "Update an existing project", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "Project ID" }, name: { type: "string", description: "Project name" }, description: { type: "string", description: "Project description" }, start_date: { type: "string", description: "Start date (YYYY-MM-DD)", }, end_date: { type: "string", description: "End date (YYYY-MM-DD)" }, status: { type: "string", description: "Project status", enum: ["active", "template", "archived"], }, }, required: ["project_id"], }, },
- src/index.ts:566-567 (registration)The switch case in the CallToolRequestSchema handler that dispatches to the updateProject method.case "update_project": return await this.updateProject(params);
- src/http-server.ts:676-691 (handler)Identical handler function for the 'update_project' tool in the HTTP server implementation.private async updateProject(params: any) { const { project_id, ...updateData } = params; const data = await this.makeRequest( `/portal/${this.config.portalId}/projects/${project_id}`, "PATCH", updateData ); return { content: [ { type: "text", text: `Project updated successfully:\n${JSON.stringify(data, null, 2)}`, }, ], }; }
- src/http-server.ts:252-274 (schema)Identical input schema for the 'update_project' tool in the HTTP server version.{ name: "update_project", description: "Update an existing project", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "Project ID" }, name: { type: "string", description: "Project name" }, description: { type: "string", description: "Project description" }, start_date: { type: "string", description: "Start date (YYYY-MM-DD)", }, end_date: { type: "string", description: "End date (YYYY-MM-DD)" }, status: { type: "string", description: "Project status", enum: ["active", "template", "archived"], }, }, required: ["project_id"], }, },