{
  "name": "InviteUserToProject",
  "fully_qualified_name": "ZohoBooksApi.InviteUserToProject@0.1.0",
  "description": "Invite a user to a project in Zoho Books.\n\nUse this tool to send an invitation to a user to join a specific project in Zoho Books. This is helpful when you need to collaborate with others by adding them to project teams.",
  "toolkit": {
    "name": "ArcadeZohoBooksApi",
    "description": null,
    "version": "0.1.0"
  },
  "input": {
    "parameters": [
      {
        "name": "organization_id",
        "required": true,
        "description": "The unique identifier of the organization in Zoho Books where the project is located.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "ID of the organization"
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "organization_id"
      },
      {
        "name": "project_unique_identifier",
        "required": true,
        "description": "Unique identifier of the project in Zoho Books.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Unique identifier of the project."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "project_id"
      },
      {
        "name": "user_invitation_details",
        "required": false,
        "description": "JSON object with details to invite a user: user's name (max 200 chars), email (max 100 chars), role (staff, admin, or timesheetstaff), hourly rate, budget hours, and cost rate.",
        "value_schema": {
          "val_type": "json",
          "inner_val_type": null,
          "enum": null,
          "properties": {
            "user_name": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Name of the user. <code>Max-length [200]</code>"
            },
            "email": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Email of the user. <code>Max-length [100]</code>"
            },
            "user_role": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Role to be assigned. Allowed Values: <code>staff</code>, <code>admin</code> and <code>timesheetstaff</code>"
            },
            "rate": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Hourly rate for a task."
            },
            "budget_hours": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Task budget hours."
            },
            "cost_rate": {
              "val_type": "number",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": null
            }
          },
          "inner_properties": null,
          "description": ""
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "requestBody"
      }
    ]
  },
  "output": {
    "description": "Response from the API endpoint 'invite_project_user'.",
    "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-zoho",
      "provider_type": "oauth2",
      "id": null,
      "oauth2": {
        "scopes": [
          "ZohoBooks.projects.CREATE"
        ]
      }
    },
    "secrets": [
      {
        "key": "ZOHO_SERVER_URL"
      }
    ],
    "metadata": null
  },
  "deprecation_message": null,
  "metadata": {
    "object_type": "api_wrapper_tool",
    "version": "1.0.0",
    "description": "Tools that enable LLMs to interact directly with the zoho-books API."
  },
  "http_endpoint": {
    "metadata": {
      "object_type": "http_endpoint",
      "version": "1.1.0",
      "description": ""
    },
    "url": "{zoho_server_url}/books/v3/projects/{project_id}/users/invite",
    "http_method": "POST",
    "headers": {},
    "parameters": [
      {
        "name": "organization_id",
        "tool_parameter_name": "organization_id",
        "description": "ID of the organization",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "ID of the organization"
        },
        "accepted_as": "query",
        "required": true,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "project_id",
        "tool_parameter_name": "project_unique_identifier",
        "description": "Unique identifier of the project.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Unique identifier of the project."
        },
        "accepted_as": "path",
        "required": true,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "requestBody",
        "tool_parameter_name": "user_invitation_details",
        "description": "",
        "value_schema": {
          "val_type": "json",
          "inner_val_type": null,
          "enum": null,
          "properties": {
            "user_name": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Name of the user. <code>Max-length [200]</code>"
            },
            "email": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Email of the user. <code>Max-length [100]</code>"
            },
            "user_role": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Role to be assigned. Allowed Values: <code>staff</code>, <code>admin</code> and <code>timesheetstaff</code>"
            },
            "rate": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Hourly rate for a task."
            },
            "budget_hours": {
              "val_type": "string",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": "Task budget hours."
            },
            "cost_rate": {
              "val_type": "number",
              "inner_val_type": null,
              "enum": null,
              "properties": null,
              "inner_properties": null,
              "description": null
            }
          },
          "inner_properties": null,
          "description": ""
        },
        "accepted_as": "body",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      }
    ],
    "documentation_urls": [],
    "secrets": [
      {
        "arcade_key": "ZOHO_SERVER_URL",
        "parameter_name": "zoho_server_url",
        "accepted_as": "path",
        "formatted_value": null,
        "description": "",
        "is_auth_token": false
      },
      {
        "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  \"content\": {\n    \"application/json\": {\n      \"schema\": {\n        \"required\": [\n          \"user_name\",\n          \"email\"\n        ],\n        \"type\": \"object\",\n        \"properties\": {\n          \"user_name\": {\n            \"description\": \"Name of the user. <code>Max-length [200]</code>\",\n            \"type\": \"string\",\n            \"example\": \"John David\"\n          },\n          \"email\": {\n            \"description\": \"Email of the user. <code>Max-length [100]</code>\",\n            \"type\": \"string\",\n            \"example\": \"johndavid@zilliuminc.com\"\n          },\n          \"user_role\": {\n            \"description\": \"Role to be assigned. Allowed Values: <code>staff</code>, <code>admin</code> and <code>timesheetstaff</code>\",\n            \"type\": \"string\",\n            \"example\": \"admin\"\n          },\n          \"rate\": {\n            \"description\": \"Hourly rate for a task.\",\n            \"type\": \"string\",\n            \"example\": \" \"\n          },\n          \"budget_hours\": {\n            \"description\": \"Task budget hours.\",\n            \"type\": \"string\",\n            \"example\": \"0\"\n          },\n          \"cost_rate\": {\n            \"type\": \"number\",\n            \"format\": \"double\",\n            \"example\": \"10.00\"\n          }\n        }\n      }\n    }\n  }\n}",
    "use_request_body_schema_mode": true,
    "validate_request_body_schema": true
  }
}
