{ "name": "UpdateProjectDetails", "fully_qualified_name": "AsanaApi.UpdateProjectDetails@0.1.0", "description": "Update specific fields of an existing project.\n\nUse this tool to update specific fields of an existing project in Asana. Specify only the fields you wish to change to avoid overwriting changes made by others. Returns the fully updated project record.", "toolkit": { "name": "AsanaApi", "description": null, "version": "0.1.0" }, "input": { "parameters": [ { "name": "project_global_id", "required": true, "description": "Globally unique identifier for the project to be updated.", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Globally unique identifier for the project." }, "inferrable": true, "http_endpoint_parameter_name": "project_gid" }, { "name": "updated_project_fields", "required": true, "description": "The JSON object containing specific fields to update within the project. Only include fields you want to change to avoid overwriting others' changes.", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "data": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "The updated fields for the project." }, "inferrable": true, "http_endpoint_parameter_name": "requestBody" }, { "name": "include_optional_properties", "required": false, "description": "Comma-separated list of properties to include in the response, showing optional fields by default excluded.", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include." }, "inferrable": true, "http_endpoint_parameter_name": "opt_fields" }, { "name": "enable_pretty_output", "required": false, "description": "Enable pretty formatting for the response output, making it more readable with line breaks and indentation. Use this primarily for debugging as it increases response size and processing time.", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Provides \u201cpretty\u201d output.\nProvides the response in a \u201cpretty\u201d format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging." }, "inferrable": true, "http_endpoint_parameter_name": "opt_pretty" } ] }, "output": { "description": "Response from the API endpoint 'updateProject'.", "available_modes": [ "value", "error", "null" ], "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "requirements": { "authorization": { "provider_id": "arcade-asana", "provider_type": "oauth2", "id": null, "oauth2": { "scopes": [ "projects:write" ] } }, "secrets": null, "metadata": null }, "deprecation_message": null, "metadata": { "object_type": "api_wrapper_tool", "version": "1.1.0", "description": "Tools that enable LLMs to interact directly with the asana API." }, "http_endpoint": { "metadata": { "object_type": "http_endpoint", "version": "1.2.0", "description": "" }, "url": "https://app.asana.com/api/1.0/projects/{project_gid}", "http_method": "PUT", "headers": {}, "parameters": [ { "name": "opt_pretty", "tool_parameter_name": "enable_pretty_output", "description": "Provides \u201cpretty\u201d output.\nProvides the response in a \u201cpretty\u201d format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.", "value_schema": { "val_type": "boolean", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Provides \u201cpretty\u201d output.\nProvides the response in a \u201cpretty\u201d format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging." }, "accepted_as": "query", "required": false, "deprecated": false, "default": null, "documentation_urls": [] }, { "name": "opt_fields", "tool_parameter_name": "include_optional_properties", "description": "This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include.", "value_schema": { "val_type": "array", "inner_val_type": "string", "enum": null, "properties": null, "inner_properties": null, "description": "This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include." }, "accepted_as": "query", "required": false, "deprecated": false, "default": null, "documentation_urls": [] }, { "name": "project_gid", "tool_parameter_name": "project_global_id", "description": "Globally unique identifier for the project.", "value_schema": { "val_type": "string", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": "Globally unique identifier for the project." }, "accepted_as": "path", "required": true, "deprecated": false, "default": null, "documentation_urls": [] }, { "name": "requestBody", "tool_parameter_name": "updated_project_fields", "description": "The updated fields for the project.", "value_schema": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": { "data": { "val_type": "json", "inner_val_type": null, "enum": null, "properties": null, "inner_properties": null, "description": null } }, "inner_properties": null, "description": "The updated fields for the project." }, "accepted_as": "body", "required": true, "deprecated": false, "default": null, "documentation_urls": [] } ], "documentation_urls": [], "secrets": [ { "arcade_key": "auth_token", "parameter_name": "Authorization", "accepted_as": "header", "formatted_value": "Bearer {authorization}", "description": "The OAuth token to use for authentication.", "is_auth_token": true } ], "request_body_spec": "{\n \"description\": \"The updated fields for the project.\",\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"data\": {\n \"allOf\": [\n {\n \"allOf\": [\n {\n \"description\": \"A *project* represents a prioritized list of tasks in Asana or a board with columns of tasks represented as cards. It exists in a single workspace or organization and is accessible to a subset of users in that workspace or organization, depending on its permissions.\",\n \"type\": \"object\",\n \"properties\": {\n \"gid\": {\n \"description\": \"Globally unique identifier of the resource, as a string.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"12345\",\n \"x-insert-after\": false\n },\n \"resource_type\": {\n \"description\": \"The base type of this resource.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"project\",\n \"x-insert-after\": \"gid\"\n },\n \"name\": {\n \"description\": \"Name of the project. This is generally a short sentence fragment that fits on a line in the UI for maximum readability. However, it can be longer.\",\n \"type\": \"string\",\n \"example\": \"Stuff to buy\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"archived\": {\n \"description\": \"True if the project is archived, false if not. Archived projects do not show in the UI by default and may be treated differently for queries.\",\n \"type\": \"boolean\",\n \"example\": false\n },\n \"color\": {\n \"description\": \"Color of the project.\",\n \"type\": \"string\",\n \"nullable\": true,\n \"enum\": [\n \"dark-pink\",\n \"dark-green\",\n \"dark-blue\",\n \"dark-red\",\n \"dark-teal\",\n \"dark-brown\",\n \"dark-orange\",\n \"dark-purple\",\n \"dark-warm-gray\",\n \"light-pink\",\n \"light-green\",\n \"light-blue\",\n \"light-red\",\n \"light-teal\",\n \"light-brown\",\n \"light-orange\",\n \"light-purple\",\n \"light-warm-gray\",\n \"none\",\n null\n ],\n \"example\": \"light-green\"\n },\n \"created_at\": {\n \"description\": \"The time at which this resource was created.\",\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"readOnly\": true,\n \"example\": \"2012-02-22T02:06:58.147Z\"\n },\n \"current_status\": {\n \"allOf\": [\n {\n \"allOf\": [\n {\n \"allOf\": [\n {\n \"description\": \"*Deprecated: new integrations should prefer the `status_update` resource.*\\nA *project status* is an update on the progress of a particular project, and is sent out to all project followers when created. These updates include both text describing the update and a color code intended to represent the overall state of the project: \\\"green\\\" for projects that are on track, \\\"yellow\\\" for projects at risk, and \\\"red\\\" for projects that are behind.\",\n \"type\": \"object\",\n \"properties\": {\n \"gid\": {\n \"description\": \"Globally unique identifier of the resource, as a string.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"12345\",\n \"x-insert-after\": false\n },\n \"resource_type\": {\n \"description\": \"The base type of this resource.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"project_status\",\n \"x-insert-after\": \"gid\"\n },\n \"title\": {\n \"description\": \"The title of the project status update.\",\n \"type\": \"string\",\n \"example\": \"Status Update - Jun 15\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"description\": \"The text content of the status update.\",\n \"type\": \"string\",\n \"example\": \"The project is moving forward according to plan...\"\n },\n \"html_text\": {\n \"description\": \"[Opt In](/docs/inputoutput-options). The text content of the status update with formatting as HTML.\",\n \"type\": \"string\",\n \"example\": \"
The project is moving forward according to plan...\"\n },\n \"color\": {\n \"description\": \"The color associated with the status update.\",\n \"type\": \"string\",\n \"enum\": [\n \"green\",\n \"yellow\",\n \"red\",\n \"blue\",\n \"complete\"\n ]\n }\n }\n }\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"author\": {\n \"description\": \"A *user* object represents an account in Asana that can be given access to various workspaces, projects, and tasks.\",\n \"type\": \"object\",\n \"properties\": {\n \"gid\": {\n \"description\": \"Globally unique identifier of the resource, as a string.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"12345\",\n \"x-insert-after\": false\n },\n \"resource_type\": {\n \"description\": \"The base type of this resource.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"user\",\n \"x-insert-after\": \"gid\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"*Read-only except when same user as requester*. The user's name.\",\n \"example\": \"Greg Sanchez\"\n }\n }\n },\n \"created_at\": {\n \"description\": \"The time at which this resource was created.\",\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"readOnly\": true,\n \"example\": \"2012-02-22T02:06:58.147Z\"\n },\n \"created_by\": {\n \"description\": \"A *user* object represents an account in Asana that can be given access to various workspaces, projects, and tasks.\",\n \"type\": \"object\",\n \"properties\": {\n \"gid\": {\n \"description\": \"Globally unique identifier of the resource, as a string.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"12345\",\n \"x-insert-after\": false\n },\n \"resource_type\": {\n \"description\": \"The base type of this resource.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"user\",\n \"x-insert-after\": \"gid\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"*Read-only except when same user as requester*. The user's name.\",\n \"example\": \"Greg Sanchez\"\n }\n }\n },\n \"modified_at\": {\n \"description\": \"The time at which this project status was last modified.\\n*Note: This does not currently reflect any changes in associations such as comments that may have been added or removed from the project status.*\",\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"readOnly\": true,\n \"example\": \"2012-02-22T02:06:58.147Z\"\n }\n }\n }\n ]\n },\n {\n \"type\": \"object\",\n \"nullable\": true,\n \"description\": \"*Deprecated: new integrations should prefer the `current_status_update` resource.*\"\n }\n ]\n },\n \"current_status_update\": {\n \"allOf\": [\n {\n \"description\": \"A *status update* is an update on the progress of a particular project, portfolio, or goal, and is sent out to all of its parent's followers when created. These updates include both text describing the update and a `status_type` intended to represent the overall state of the project.\",\n \"type\": \"object\",\n \"properties\": {\n \"gid\": {\n \"description\": \"Globally unique identifier of the resource, as a string.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"12345\",\n \"x-insert-after\": false\n },\n \"resource_type\": {\n \"description\": \"The base type of this resource.\",\n \"type\": \"string\",\n \"readOnly\": true,\n \"example\": \"status_update\",\n \"x-insert-after\": \"gid\"\n },\n \"title\": {\n \"description\": \"The title of the status update.\",\n \"type\": \"string\",\n \"example\": \"Status Update - Jun 15\"\n },\n \"resource_subtype\": {\n \"type\": \"string\",\n \"description\": \"The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning.\\nThe `resource_subtype`s for `status` objects represent the type of their parent.\",\n \"enum\": [\n \"project_status_update\",\n \"portfolio_status_update\",\n \"goal_status_update\"\n ],\n \"example\": \"project_status_update\",\n \"readOnly\": true\n }\n }\n },\n {\n \"type\": \"object\",\n \"nullable\": true,\n \"description\": \"The latest `status_update` posted to this project.\"\n }\n ]\n },\n \"custom_field_settings\": {\n \"description\": \"Full object requires scope: custom_fields:read