{
  "name": "AddTaskDependencies",
  "fully_qualified_name": "AsanaApi.AddTaskDependencies@0.1.0",
  "description": "Add dependencies to an Asana task.\n\nMarks specified tasks as dependencies for a given task in Asana, ensuring they aren't already marked. Suitable for managing task workflows where completion order is essential.",
  "toolkit": {
    "name": "AsanaApi",
    "description": null,
    "version": "0.1.0"
  },
  "input": {
    "parameters": [
      {
        "name": "task_id_to_modify",
        "required": true,
        "description": "The unique identifier of the task to which dependencies will be added.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "The task to operate on."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "task_gid"
      },
      {
        "name": "task_dependency_ids",
        "required": false,
        "description": "An array of task GIDs that the current task depends on. These are required to establish dependencies between tasks in Asana.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "An array of task gids that a task depends on."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "data.dependencies"
      },
      {
        "name": "enable_pretty_output",
        "required": false,
        "description": "Enable pretty formatting for the response output. Provides improved readability with line breaking and indentation, recommended for debugging only.",
        "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 'addDependenciesForTask'.",
    "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": [
          "tasks: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/tasks/{task_gid}/addDependencies",
    "http_method": "POST",
    "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": "task_gid",
        "tool_parameter_name": "task_id_to_modify",
        "description": "The task to operate on.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "The task to operate on."
        },
        "accepted_as": "path",
        "required": true,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "data.dependencies",
        "tool_parameter_name": "task_dependency_ids",
        "description": "An array of task gids that a task depends on.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "An array of task gids that a task depends on."
        },
        "accepted_as": "body",
        "required": false,
        "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 list of tasks to set as dependencies.\",\n  \"required\": true,\n  \"content\": {\n    \"application/json\": {\n      \"schema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"data\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"dependencies\": {\n                \"description\": \"An array of task gids that a task depends on.\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"example\": {\n              \"dependencies\": [\n                \"133713\",\n                \"184253\"\n              ]\n            }\n          }\n        }\n      }\n    }\n  }\n}",
    "use_request_body_schema_mode": false,
    "validate_request_body_schema": false
  }
}
