{
  "name": "GetCommunicationById",
  "fully_qualified_name": "HubspotCrmApi.GetCommunicationById@0.1.0",
  "description": "Retrieve details of a communication by its ID.\n\nUse this tool to obtain the details of a communication object by specifying its unique ID. The ID can be the internal object ID or any unique property value. You can control the returned data using query parameters.",
  "toolkit": {
    "name": "ArcadeHubspotCrmApi",
    "description": null,
    "version": "0.1.0"
  },
  "input": {
    "parameters": [
      {
        "name": "communication_identifier",
        "required": true,
        "description": "Specify the unique ID or property value for the communication object to retrieve.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": ""
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "communicationId"
      },
      {
        "name": "properties_to_return",
        "required": false,
        "description": "Comma-separated list of properties to include in the response. Missing properties are ignored.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "properties"
      },
      {
        "name": "properties_with_history",
        "required": false,
        "description": "List the properties whose history of values should be returned. Comma-separated values are expected.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "propertiesWithHistory"
      },
      {
        "name": "retrieve_associated_object_types",
        "required": false,
        "description": "A list of object types for retrieving associated IDs. Non-existing associations will be ignored.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "associations"
      },
      {
        "name": "unique_property_name",
        "required": false,
        "description": "The property name used to uniquely identify the communication object. Allows retrieval by non-default identifiers.",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "The name of a property whose values are unique for this object"
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "idProperty"
      },
      {
        "name": "return_only_archived",
        "required": false,
        "description": "Set to true to return only results that have been archived. Defaults to false to include non-archived results.",
        "value_schema": {
          "val_type": "boolean",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Whether to return only results that have been archived."
        },
        "inferrable": true,
        "http_endpoint_parameter_name": "archived"
      }
    ]
  },
  "output": {
    "description": "Response from the API endpoint 'get-/crm/v3/objects/communications/{communicationId}_getById'.",
    "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-hubspot",
      "provider_type": "oauth2",
      "id": null,
      "oauth2": {
        "scopes": [
          "crm.objects.contacts.read"
        ]
      }
    },
    "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 hubspot_crm API."
  },
  "http_endpoint": {
    "metadata": {
      "object_type": "http_endpoint",
      "version": "1.2.0",
      "description": ""
    },
    "url": "https://api.hubapi.com/crm/v3/objects/communications/{communicationId}",
    "http_method": "GET",
    "headers": {},
    "parameters": [
      {
        "name": "properties",
        "tool_parameter_name": "properties_to_return",
        "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored."
        },
        "accepted_as": "query",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "propertiesWithHistory",
        "tool_parameter_name": "properties_with_history",
        "description": "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored."
        },
        "accepted_as": "query",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "associations",
        "tool_parameter_name": "retrieve_associated_object_types",
        "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored.",
        "value_schema": {
          "val_type": "array",
          "inner_val_type": "string",
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored."
        },
        "accepted_as": "query",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "archived",
        "tool_parameter_name": "return_only_archived",
        "description": "Whether to return only results that have been archived.",
        "value_schema": {
          "val_type": "boolean",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "Whether to return only results that have been archived."
        },
        "accepted_as": "query",
        "required": false,
        "deprecated": false,
        "default": false,
        "documentation_urls": []
      },
      {
        "name": "idProperty",
        "tool_parameter_name": "unique_property_name",
        "description": "The name of a property whose values are unique for this object",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": "The name of a property whose values are unique for this object"
        },
        "accepted_as": "query",
        "required": false,
        "deprecated": false,
        "default": null,
        "documentation_urls": []
      },
      {
        "name": "communicationId",
        "tool_parameter_name": "communication_identifier",
        "description": "",
        "value_schema": {
          "val_type": "string",
          "inner_val_type": null,
          "enum": null,
          "properties": null,
          "inner_properties": null,
          "description": ""
        },
        "accepted_as": "path",
        "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": null,
    "use_request_body_schema_mode": false,
    "validate_request_body_schema": false
  }
}
