arcade-mcp/toolkits/pylon_api/arcade_pylon_api/moar/pylon.json
jottakka 18d3341e6e
[MOAR] Rename wrong named packages (#659)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-28 16:52:31 -03:00

12264 lines
590 KiB
JSON

{
"name": "Pylon",
"spec_source": "openapi_spec",
"token_for_http_testing": "",
"package_name": "pylon_api",
"package_dir_path": "/Users/franciscojuniodelimaliberal/git/Team/arcade-mcp/toolkits/pylon_api/pylon_api",
"project_dir_path": "/Users/franciscojuniodelimaliberal/git/Team/arcade-mcp/toolkits/pylon_api",
"arcade_new_cmd_executed": true,
"api_endpoint_selection_customized": false,
"api_endpoint_for_http_testing": "",
"authorization_type": "basic",
"auth_provider_id": "",
"where_to_provide_token": "header",
"token_key_name": "Authorization",
"token_value": "Bearer {authorization}",
"secrets": [
{
"arcade_key_name": "PYLON_SECRET_TOKEN",
"service_key_name": "Authorization",
"where_to_provide": "header",
"formatted_value": "Bearer {authorization}"
}
],
"global_base_url": "https://api.usepylon.com",
"global_headers": {},
"edit_operations": [],
"uuid": "c4116cf8-4e4e-4062-885e-2527037ca02c",
"api_endpoints": [
{
"name": "GetAccounts",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_account_list",
"description": {
"tagline": "Retrieve a list of accounts from the service.",
"detailed": "This tool fetches a complete list of accounts from the Pylon service. It should be called when you need to obtain account information."
},
"return_annotation": "List of accounts with their details.",
"arguments": [
{
"name": "account_fetch_limit",
"alternative_names": [
"accounts_limit",
"fetch_limit"
],
"description": "Specify the number of accounts to fetch, from 1 to 999. Defaults to 100 if not specified.",
"endpoint_argument_name": "limit"
},
{
"name": "pagination_cursor",
"alternative_names": [
"pagination_token",
"page_cursor"
],
"description": "A string representing the cursor for pagination. Use this to fetch the next set of accounts.",
"endpoint_argument_name": "cursor"
}
]
},
"method": "GET",
"path": "/accounts",
"tags": [
"accounts"
],
"summary": "",
"description": "Get a list of accounts",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "cursor",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"description": "The cursor to use for pagination.",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "limit",
"value_schema": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
},
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "integer",
"format": "int64"
},
"schema_required": false
}
],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateAccounts",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_multiple_accounts",
"description": {
"tagline": "Update multiple accounts simultaneously.",
"detailed": "Use this tool to update details for multiple accounts in one request. It is helpful for batch processing of account modifications."
},
"return_annotation": "Confirmation of accounts update.",
"arguments": [
{
"name": "update_accounts_request_body",
"alternative_names": [
"accounts_update_payload",
"batch_accounts_update_request"
],
"description": "JSON object containing account IDs, custom fields, owner ID, tags, and tags apply mode for updating multiple accounts.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "PATCH",
"path": "/accounts",
"tags": [
"accounts"
],
"summary": "",
"description": "Update multiple accounts",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_ids": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account IDs to update. The number of accounts to update must be between 1 and 100."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be updated on the accounts."
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the new owner. If empty string is passed in, the owner will be removed."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of tags to be updated on the accounts."
},
"tags_apply_mode": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The mode for applying tags. Valid values: \"append_only\", \"remove_only\", \"replace\". Defaults to \"replace\"."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"account_ids": {
"type": "array",
"description": "The account IDs to update. The number of accounts to update must be between 1 and 100.",
"items": {
"type": "string"
}
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be updated on the accounts.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"owner_id": {
"type": "string",
"description": "The ID of the new owner. If empty string is passed in, the owner will be removed."
},
"tags": {
"type": "array",
"description": "An array of tags to be updated on the accounts.",
"items": {
"type": "string"
}
},
"tags_apply_mode": {
"type": "string",
"description": "The mode for applying tags. Valid values: \"append_only\", \"remove_only\", \"replace\". Defaults to \"replace\"."
}
},
"required": [
"account_ids"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_ids\": {\n \"description\": \"The account IDs to update. The number of accounts to update must be between 1 and 100.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AccountIDs\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be updated on the accounts.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"owner_id\": {\n \"description\": \"The ID of the new owner. If empty string is passed in, the owner will be removed.\",\n \"type\": \"string\",\n \"x-go-name\": \"OwnerID\"\n },\n \"tags\": {\n \"description\": \"An array of tags to be updated on the accounts.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n },\n \"tags_apply_mode\": {\n \"description\": \"The mode for applying tags. Valid values: \\\"append_only\\\", \\\"remove_only\\\", \\\"replace\\\". Defaults to \\\"replace\\\".\",\n \"type\": \"string\",\n \"x-go-name\": \"TagsApplyMode\"\n }\n },\n \"required\": [\n \"account_ids\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "CreateAccount",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_new_account",
"description": {
"tagline": "Creates a new user account.",
"detailed": "This tool should be called to create a new user account when registration or account opening is requested."
},
"return_annotation": "Confirmation of new account creation.",
"arguments": [
{
"name": "account_details",
"alternative_names": [
"account_information",
"user_profile_data"
],
"description": "JSON object containing account details like channels, custom fields, domains, external IDs, etc. for the new account.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/accounts",
"tags": [
"accounts"
],
"summary": "",
"description": "Create a new account",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"channels": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"channel_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"is_primary": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether this channel is the primary channel for the account."
},
"mirror_to": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"channel_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
},
"inner_properties": null,
"description": null
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
},
"description": "An array of channels to be linked to this account."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be used on this account."
},
"domain": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Deprecated. Please use Domains and PrimaryDomain instead."
},
"domains": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The domains of the account, without any leading scheme, for example stripe.com. Must specify one domain as primary."
},
"external_ids": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID. Must be unique per object type (ex. account)."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the external ID. Must be unique per object."
}
},
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs."
},
"logo_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The logo URL of the account. Must be a square .png, .jpg or .jpeg."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the account."
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the owner of the account."
},
"primary_domain": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"channels": {
"type": "array",
"description": "An array of channels to be linked to this account.",
"items": {
"type": "object",
"properties": {
"channel_id": {
"type": "string",
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"is_primary": {
"type": "boolean",
"description": "Whether this channel is the primary channel for the account."
},
"mirror_to": {
"type": "object",
"properties": {
"channel_id": {
"type": "string",
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"source": {
"type": "string",
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
}
},
"source": {
"type": "string",
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
}
}
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be used on this account.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"domain": {
"type": "string",
"description": "Deprecated. Please use Domains and PrimaryDomain instead."
},
"domains": {
"type": "array",
"description": "The domains of the account, without any leading scheme, for example stripe.com. Must specify one domain as primary.",
"items": {
"type": "string"
}
},
"external_ids": {
"type": "array",
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.",
"items": {
"type": "object",
"properties": {
"external_id": {
"type": "string",
"description": "The external ID. Must be unique per object type (ex. account)."
},
"label": {
"type": "string",
"description": "The label of the external ID. Must be unique per object."
}
}
}
},
"logo_url": {
"type": "string",
"description": "The logo URL of the account. Must be a square .png, .jpg or .jpeg."
},
"name": {
"type": "string",
"description": "The name of the account."
},
"owner_id": {
"type": "string",
"description": "The ID of the owner of the account."
},
"primary_domain": {
"type": "string",
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain."
},
"tags": {
"type": "array",
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.",
"items": {
"type": "string"
}
}
},
"required": [
"name"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"channels\": {\n \"description\": \"An array of channels to be linked to this account.\",\n \"items\": {\n \"properties\": {\n \"channel_id\": {\n \"description\": \"The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.\",\n \"type\": \"string\",\n \"x-go-name\": \"ChannelID\"\n },\n \"is_primary\": {\n \"description\": \"Whether this channel is the primary channel for the account.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsPrimary\"\n },\n \"mirror_to\": {\n \"properties\": {\n \"channel_id\": {\n \"description\": \"The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.\",\n \"type\": \"string\",\n \"x-go-name\": \"ChannelID\"\n },\n \"source\": {\n \"description\": \"The source, which can be one of `[\\\"slack\\\", \\\"microsoft_teams\\\", \\\"discord\\\"]`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Source\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"source\": {\n \"description\": \"The source, which can be one of `[\\\"slack\\\", \\\"microsoft_teams\\\", \\\"discord\\\"]`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Source\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Channels\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be used on this account.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"domain\": {\n \"description\": \"Deprecated. Please use Domains and PrimaryDomain instead.\",\n \"type\": \"string\",\n \"x-go-name\": \"Domain\"\n },\n \"domains\": {\n \"description\": \"The domains of the account, without any leading scheme, for example stripe.com. Must specify one domain as primary.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Domains\"\n },\n \"external_ids\": {\n \"description\": \"An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.\",\n \"items\": {\n \"properties\": {\n \"external_id\": {\n \"description\": \"The external ID. Must be unique per object type (ex. account).\",\n \"type\": \"string\",\n \"x-go-name\": \"ExternalID\"\n },\n \"label\": {\n \"description\": \"The label of the external ID. Must be unique per object.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"ExternalIDs\"\n },\n \"logo_url\": {\n \"description\": \"The logo URL of the account. Must be a square .png, .jpg or .jpeg.\",\n \"type\": \"string\",\n \"x-go-name\": \"LogoURL\"\n },\n \"name\": {\n \"description\": \"The name of the account.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"owner_id\": {\n \"description\": \"The ID of the owner of the account.\",\n \"type\": \"string\",\n \"x-go-name\": \"OwnerID\"\n },\n \"primary_domain\": {\n \"description\": \"Must be in the list of domains. If there are any domains, there must be exactly one primary domain.\",\n \"type\": \"string\",\n \"x-go-name\": \"PrimaryDomain\"\n },\n \"tags\": {\n \"description\": \"An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "SearchAccounts",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "search_accounts",
"description": {
"tagline": "Search and filter accounts using various criteria.",
"detailed": "This tool allows searching and filtering of accounts with specific criteria such as domains, tags, name, external IDs, and custom fields. It supports operators like 'contains', 'equals', 'in', 'not_in', and others, enabling detailed account queries."
},
"return_annotation": "A list of filtered accounts based on specified criteria.",
"arguments": [
{
"name": "account_search_criteria",
"alternative_names": [
"account_filter_conditions",
"account_query_parameters"
],
"description": "JSON object specifying pagination, filters, and limit. Includes cursor, filter details like field, operator, value(s), and limit for number of accounts.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/accounts/search",
"tags": [
"accounts"
],
"summary": "Search for accounts by a given filter",
"description": "Currently, the following fields are filterable for accounts:\n\n* domains. Allowed operators: `contains`, `does_not_contain`, `in`, `not_in`\n\n* tags. Allowed operators: `contains`, `does_not_contain`, `in`, `not_in`\n\n* name. Allowed operators: `equals`, `in`, `not_in`\n\n* external_ids. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* custom fields (pass in the slug of the custom field)",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"cursor": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"filter": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"field": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
],
"properties": null,
"inner_properties": null,
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset."
},
"subfilters": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {},
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\")."
}
},
"inner_properties": null,
"description": null
},
"limit": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"cursor": {
"type": "string",
"description": "The cursor to use for pagination."
},
"filter": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"type": "string",
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
]
},
"subfilters": {
"type": "array",
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
"items": {
"type": "object",
"properties": {}
}
},
"value": {
"type": "string",
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"type": "array",
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
"items": {
"type": "string"
}
}
},
"required": [
"field",
"operator"
]
},
"limit": {
"type": "integer",
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"format": "int64"
}
},
"required": [
"filter"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"cursor\": {\n \"description\": \"The cursor to use for pagination.\",\n \"type\": \"string\",\n \"x-go-name\": \"Cursor\"\n },\n \"filter\": {\n \"properties\": {\n \"field\": {\n \"description\": \"The field for this filter. For allowed fields, see the documentation for\\n\\nthe specific endpoint you are using.\\n\\nFor non-compound filters (any operators other than \\\"and\\\" or \\\"or\\\"),\\n\\nField must be set, along with either Value or Values, depending on the operator.\",\n \"type\": \"string\",\n \"x-go-name\": \"Field\"\n },\n \"operator\": {\n \"description\": \"The operator for this filter.\\n\\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\n\\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\n\\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\n\\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\n\\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\n\\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\n\\n* and FilterOperatorAnd Matches objects only if all subfilters match.\\n\\n* or FilterOperatorOr Matches objects if any subfilter matches.\\n\\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\n\\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\n\\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\n\\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\n\\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\n\\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\n\\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"enum\": [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"does_not_contain\",\n \"in\",\n \"not_in\",\n \"and\",\n \"or\",\n \"time_is_after\",\n \"time_is_before\",\n \"time_range\",\n \"string_contains\",\n \"string_does_not_contain\",\n \"is_set\",\n \"is_unset\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\nand FilterOperatorAnd Matches objects only if all subfilters match.\\nor FilterOperatorOr Matches objects if any subfilter matches.\\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"x-go-name\": \"Operator\"\n },\n \"subfilters\": {\n \"description\": \"Sub-filters for this filter. Valid only when operator is \\\"and\\\" or \\\"or\\\".\\n\\nThe maximum allowed depth for a tree of filters is 3.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Filter\",\n \"has_circular_reference\": true\n },\n \"type\": \"array\",\n \"x-go-name\": \"Subfilters\"\n },\n \"value\": {\n \"description\": \"The value for this filter. Only used for single-valued operators\\n\\n(\\\"equals\\\", \\\"not_equals\\\", \\\"contains\\\", \\\"does_not_contain\\\")\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values for this filter. Only used for multi-valued operators (\\\"in\\\", \\\"not_in\\\").\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"required\": [\n \"field\",\n \"operator\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"limit\": {\n \"description\": \"The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.\",\n \"format\": \"int64\",\n \"type\": \"integer\",\n \"x-go-name\": \"Limit\"\n }\n },\n \"required\": [\n \"filter\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateAccountHighlight",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_account_highlight",
"description": {
"tagline": "Create a highlight for a specified account.",
"detailed": "This tool is used to create a highlight for an account, using either an internal account ID in UUID format or an external ID in string format. It should be called when there is a need to add or update a highlight for an account."
},
"return_annotation": "A confirmation of the account highlight creation.",
"arguments": [
{
"name": "account_identifier",
"alternative_names": [
"account_id_string",
"account_external_id"
],
"description": "The ID (UUID) or external ID (string) of the account for the highlight.",
"endpoint_argument_name": "account_id"
},
{
"name": "highlight_details",
"alternative_names": [
"highlight_content",
"highlight_data"
],
"description": "A JSON object containing 'content_html' for the highlight's HTML content, and 'expires_at' for the expiration timestamp (optional, RFC3339 format).",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/accounts/{account_id}/highlights",
"tags": [
"account-highlights"
],
"summary": "Creates a new account highlight.",
"description": "The {account_id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "account_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"description": "The ID or external ID of the account that the highlight belongs to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"content_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content for this highlight."
},
"expires_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional RFC3339 timestamp of when this highlight will expire."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"content_html": {
"type": "string",
"description": "The HTML content for this highlight."
},
"expires_at": {
"type": "string",
"description": "Optional RFC3339 timestamp of when this highlight will expire."
}
},
"required": [
"content_html"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"content_html\": {\n \"description\": \"The HTML content for this highlight.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContentHTML\"\n },\n \"expires_at\": {\n \"description\": \"Optional RFC3339 timestamp of when this highlight will expire.\",\n \"type\": \"string\",\n \"x-go-name\": \"ExpiresAt\"\n }\n },\n \"required\": [\n \"content_html\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "DeleteAccountHighlight",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_account_highlight",
"description": {
"tagline": "Delete a specific highlight from an account.",
"detailed": "Use this tool to delete a specific highlight by providing the account ID and highlight ID. It should be called when a user wants to remove a highlight linked to an account."
},
"return_annotation": "Confirmation of account highlight deletion.",
"arguments": [
{
"name": "account_identifier",
"alternative_names": [
"account_id_value",
"external_account_id"
],
"description": "The ID or external ID of the account that the highlight belongs to. Can be a UUID or any string.",
"endpoint_argument_name": "account_id"
},
{
"name": "highlight_id",
"alternative_names": [
"highlight_identifier",
"highlight_key"
],
"description": "The unique ID of the highlight you intend to delete.",
"endpoint_argument_name": "highlight_id"
}
]
},
"method": "DELETE",
"path": "/accounts/{account_id}/highlights/{highlight_id}",
"tags": [
"account-highlights"
],
"summary": "Deletes an account highlight.",
"description": "The {account_id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "account_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"description": "The ID or external ID of the account that the highlight belongs to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "highlight_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the highlight to delete."
},
"description": "The ID of the highlight to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateAccountHighlight",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_account_highlight",
"description": {
"tagline": "Updates the highlight for a specified account.",
"detailed": "Use this tool to update the highlight information for a given account by specifying either the internal account ID or an external ID. Appropriate when modifications to account highlights are needed."
},
"return_annotation": "Confirmation of account highlight update.",
"arguments": [
{
"name": "highlight_id",
"alternative_names": [
"highlight_identifier",
"highlight_reference_id"
],
"description": "The unique identifier of the highlight you wish to update. Ensure this accurately corresponds to the highlight needing modification.",
"endpoint_argument_name": "highlight_id"
},
{
"name": "account_identifier",
"alternative_names": [
"account_id_value",
"account_reference"
],
"description": "The internal account ID (UUID) or external ID (any string) of the account associated with the highlight.",
"endpoint_argument_name": "account_id"
},
{
"name": "updated_html_content",
"alternative_names": [
"html_content_update",
"highlight_html_content"
],
"description": "The updated HTML content for the account highlight.",
"endpoint_argument_name": "content_html"
},
{
"name": "updated_expiration_timestamp",
"alternative_names": [
"new_expiry_timestamp",
"expiry_timestamp_update"
],
"description": "The new expiration timestamp for the highlight in RFC3339 format.",
"endpoint_argument_name": "expires_at"
}
]
},
"method": "PATCH",
"path": "/accounts/{account_id}/highlights/{highlight_id}",
"tags": [
"account-highlights"
],
"summary": "Updates an account highlight.",
"description": "The {account_id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "highlight_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the highlight to update."
},
"description": "The ID of the highlight to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "account_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account that the highlight belongs to."
},
"description": "The ID or external ID of the account that the highlight belongs to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "content_html",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The updated HTML content for this highlight."
},
"description": "The updated HTML content for this highlight.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The updated HTML content for this highlight."
},
"schema_required": false
},
{
"name": "expires_at",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The updated expires at timestamp (RFC3339)."
},
"description": "The updated expires at timestamp (RFC3339).",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The updated expires at timestamp (RFC3339)."
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"content_html\": {\n \"description\": \"The updated HTML content for this highlight.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContentHTML\"\n },\n \"expires_at\": {\n \"description\": \"The updated expires at timestamp (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"ExpiresAt\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "DeleteAccount",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_account",
"description": {
"tagline": "Delete an existing account.",
"detailed": "This tool deletes an existing account based on the provided account ID. Call this tool when you need to permanently remove an account."
},
"return_annotation": "Confirmation of account deletion.",
"arguments": [
{
"name": "account_id",
"alternative_names": [
"account_identifier",
"user_account_id"
],
"description": "The ID or external ID of the account to delete.",
"endpoint_argument_name": "id"
}
]
},
"method": "DELETE",
"path": "/accounts/{id}",
"tags": [
"accounts"
],
"summary": "",
"description": "Delete an existing account",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to delete."
},
"description": "The ID or external ID of the account to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetAccount",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_account_info",
"description": {
"tagline": "Retrieve an account's details using its ID or external ID.",
"detailed": "Call this tool to obtain detailed information about an account by providing either the account ID or external ID."
},
"return_annotation": "Returns account details by ID or external ID.",
"arguments": [
{
"name": "account_id",
"alternative_names": [
"id",
"external_account_id"
],
"description": "The ID or external ID of the account to fetch.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/accounts/{id}",
"tags": [
"accounts"
],
"summary": "",
"description": "Get an account by its ID or external ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to fetch."
},
"description": "The ID or external ID of the account to fetch.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateAccount",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_account",
"description": {
"tagline": "Update details of an existing account.",
"detailed": "Use this tool to modify the information of an existing account by providing the account ID and new details. It should be called when account information needs to be updated."
},
"return_annotation": "Confirmation of account update.",
"arguments": [
{
"name": "account_id",
"alternative_names": [
"account_identifier",
"external_id"
],
"description": "The ID or external ID of the account to update.",
"endpoint_argument_name": "id"
},
{
"name": "account_update_details",
"alternative_names": [
"update_payload",
"account_modification_data"
],
"description": "JSON containing details to update an account like channels, custom fields, domains, etc.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "PATCH",
"path": "/accounts/{id}",
"tags": [
"accounts"
],
"summary": "",
"description": "Update an existing account",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to update."
},
"description": "The ID or external ID of the account to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"channels": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"channel_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"is_primary": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether this channel is the primary channel for the account."
},
"mirror_to": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"channel_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
},
"inner_properties": null,
"description": null
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
},
"description": "An array of channels to be linked to this account."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be used on this account."
},
"domains": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Domains of the account. Must specify one domain as primary."
},
"external_ids": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID. Must be unique per object type (ex. account)."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the external ID. Must be unique per object."
}
},
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs."
},
"logo_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Logo URL of the account."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the account."
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the owner of the account."
},
"primary_domain": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"channels": {
"type": "array",
"description": "An array of channels to be linked to this account.",
"items": {
"type": "object",
"properties": {
"channel_id": {
"type": "string",
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"is_primary": {
"type": "boolean",
"description": "Whether this channel is the primary channel for the account."
},
"mirror_to": {
"type": "object",
"properties": {
"channel_id": {
"type": "string",
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`."
},
"source": {
"type": "string",
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
}
},
"source": {
"type": "string",
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`."
}
}
}
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be used on this account.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"domains": {
"type": "array",
"description": "Domains of the account. Must specify one domain as primary.",
"items": {
"type": "string"
}
},
"external_ids": {
"type": "array",
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.",
"items": {
"type": "object",
"properties": {
"external_id": {
"type": "string",
"description": "The external ID. Must be unique per object type (ex. account)."
},
"label": {
"type": "string",
"description": "The label of the external ID. Must be unique per object."
}
}
}
},
"logo_url": {
"type": "string",
"description": "Logo URL of the account."
},
"name": {
"type": "string",
"description": "The name of the account."
},
"owner_id": {
"type": "string",
"description": "The ID of the owner of the account."
},
"primary_domain": {
"type": "string",
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain."
},
"tags": {
"type": "array",
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.",
"items": {
"type": "string"
}
}
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"channels\": {\n \"description\": \"An array of channels to be linked to this account.\",\n \"items\": {\n \"properties\": {\n \"channel_id\": {\n \"description\": \"The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.\",\n \"type\": \"string\",\n \"x-go-name\": \"ChannelID\"\n },\n \"is_primary\": {\n \"description\": \"Whether this channel is the primary channel for the account.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsPrimary\"\n },\n \"mirror_to\": {\n \"properties\": {\n \"channel_id\": {\n \"description\": \"The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.\",\n \"type\": \"string\",\n \"x-go-name\": \"ChannelID\"\n },\n \"source\": {\n \"description\": \"The source, which can be one of `[\\\"slack\\\", \\\"microsoft_teams\\\", \\\"discord\\\"]`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Source\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"source\": {\n \"description\": \"The source, which can be one of `[\\\"slack\\\", \\\"microsoft_teams\\\", \\\"discord\\\"]`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Source\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Channels\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be used on this account.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"domains\": {\n \"description\": \"Domains of the account. Must specify one domain as primary.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Domains\"\n },\n \"external_ids\": {\n \"description\": \"An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.\",\n \"items\": {\n \"properties\": {\n \"external_id\": {\n \"description\": \"The external ID. Must be unique per object type (ex. account).\",\n \"type\": \"string\",\n \"x-go-name\": \"ExternalID\"\n },\n \"label\": {\n \"description\": \"The label of the external ID. Must be unique per object.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"ExternalIDs\"\n },\n \"logo_url\": {\n \"description\": \"Logo URL of the account.\",\n \"type\": \"string\",\n \"x-go-name\": \"LogoURL\"\n },\n \"name\": {\n \"description\": \"The name of the account.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"owner_id\": {\n \"description\": \"The ID of the owner of the account.\",\n \"type\": \"string\",\n \"x-go-name\": \"OwnerID\"\n },\n \"primary_domain\": {\n \"description\": \"Must be in the list of domains. If there are any domains, there must be exactly one primary domain.\",\n \"type\": \"string\",\n \"x-go-name\": \"PrimaryDomain\"\n },\n \"tags\": {\n \"description\": \"An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "CreateActivity",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_account_activity",
"description": {
"tagline": "Creates a new activity for a specified account.",
"detailed": "Use this tool to add a new activity to an account by providing the account's internal or external ID. It will confirm the creation of the activity."
},
"return_annotation": "Confirmation of the created activity for the account.",
"arguments": [
{
"name": "account_id_for_activity",
"alternative_names": [
"activity_account_id",
"account_identifier_for_activity"
],
"description": "The internal or external ID of the account to create the activity for. Accepts a UUID or any string format.",
"endpoint_argument_name": "id"
},
{
"name": "activity_details",
"alternative_names": [
"activity_info",
"activity_data"
],
"description": "JSON object containing details about the activity, including optional fields like body_html, contact_id, happened_at, link, link_text, slug, and user_id.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/accounts/{id}/activities",
"tags": [
"accounts"
],
"summary": "",
"description": "Create a new activity for an account\n\nThe {id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to create the activity for."
},
"description": "The ID or external ID of the account to create the activity for.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional HTML content to display in the activity."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional contact ID of the actor of the activity."
},
"happened_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty."
},
"link": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional link to add to the activity."
},
"link_text": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional link text to display on the activity. Defaults to \"Open link\" if not provided. Applies only if a link is provided."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the activity to create."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID of the actor of the activity."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"body_html": {
"type": "string",
"description": "Optional HTML content to display in the activity."
},
"contact_id": {
"type": "string",
"description": "Optional contact ID of the actor of the activity."
},
"happened_at": {
"type": "string",
"description": "Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty."
},
"link": {
"type": "string",
"description": "Optional link to add to the activity."
},
"link_text": {
"type": "string",
"description": "Optional link text to display on the activity. Defaults to \"Open link\" if not provided. Applies only if a link is provided."
},
"slug": {
"type": "string",
"description": "The slug of the activity to create."
},
"user_id": {
"type": "string",
"description": "Optional user ID of the actor of the activity."
}
},
"required": [
"slug"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"body_html\": {\n \"description\": \"Optional HTML content to display in the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"Optional contact ID of the actor of the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"happened_at\": {\n \"description\": \"Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty.\",\n \"type\": \"string\",\n \"x-go-name\": \"HappenedAt\"\n },\n \"link\": {\n \"description\": \"Optional link to add to the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"Link\"\n },\n \"link_text\": {\n \"description\": \"Optional link text to display on the activity. Defaults to \\\"Open link\\\" if not provided. Applies only if a link is provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"LinkText\"\n },\n \"slug\": {\n \"description\": \"The slug of the activity to create.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"user_id\": {\n \"description\": \"Optional user ID of the actor of the activity.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"slug\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "UploadAccountFile",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": false,
"should_skip": true,
"skip_reason": "Only file-related content types available: multipart/form-data",
"wrapper_tool": null,
"method": "POST",
"path": "/accounts/{id}/files",
"tags": [
"accounts"
],
"summary": "",
"description": "Upload files to an account",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or external ID of the account to upload files to."
},
"description": "The ID or external ID of the account to upload files to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetActivityTypes",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_custom_activity_types",
"description": {
"tagline": "Retrieve a list of custom activity types.",
"detailed": "Use this tool to get a list of custom activity types that are available. It should be called when there's a need to know what custom activity types exist."
},
"return_annotation": "List of custom activity types available.",
"arguments": []
},
"method": "GET",
"path": "/activity-types",
"tags": [
"activity-types"
],
"summary": "",
"description": "Get custom activity types",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateAttachment",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": false,
"should_skip": true,
"skip_reason": "Only file-related content types available: multipart/form-data",
"wrapper_tool": null,
"method": "POST",
"path": "/attachments",
"tags": [
"attachments"
],
"summary": "",
"description": "Create an attachment",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetContacts",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_all_contacts",
"description": {
"tagline": "Retrieve all contacts from the service.",
"detailed": "This tool retrieves all contacts using the Pylon service. It should be called when there's a need to fetch a complete list of contacts from the service."
},
"return_annotation": "List of all contacts from the service.",
"arguments": []
},
"method": "GET",
"path": "/contacts",
"tags": [
"contacts"
],
"summary": "",
"description": "Get all contacts",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateContact",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_new_contact",
"description": {
"tagline": "Create a new contact in the system.",
"detailed": "This tool creates a new contact by sending the necessary details to the endpoint. Use it when you need to add a new person's contact information to the database."
},
"return_annotation": "Details of the newly created contact.",
"arguments": [
{
"name": "contact_details",
"alternative_names": [
"contact_info",
"new_contact_data"
],
"description": "A JSON object containing the details of the contact to be created, such as name, email, account details, avatar URL, custom fields, and portal role.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/contacts",
"tags": [
"contacts"
],
"summary": "",
"description": "Create a new contact",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID of the account that this contact belongs to. Cannot be used together with account_id."
},
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account that this contact belongs to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"account_external_id": {
"type": "string",
"description": "The external ID of the account that this contact belongs to. Cannot be used together with account_id."
},
"account_id": {
"type": "string",
"description": "The account that this contact belongs to."
},
"avatar_url": {
"type": "string",
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be applied to this contact.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"email": {
"type": "string",
"description": "The email of the contact."
},
"name": {
"type": "string",
"description": "The name of the contact."
},
"portal_role": {
"type": "string",
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
"enum": [
"no_access",
"member",
"admin"
]
}
},
"required": [
"name"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_external_id\": {\n \"description\": \"The external ID of the account that this contact belongs to. Cannot be used together with account_id.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountExternalID\"\n },\n \"account_id\": {\n \"description\": \"The account that this contact belongs to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"avatar_url\": {\n \"description\": \"The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.\",\n \"type\": \"string\",\n \"x-go-name\": \"AvatarUrl\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be applied to this contact.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"email\": {\n \"description\": \"The email of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Email\"\n },\n \"name\": {\n \"description\": \"The name of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"portal_role\": {\n \"description\": \"The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\\n\\n* no_access PortalRoleNoAccess\\n\\n* member PortalRoleMember\\n\\n* admin PortalRoleAdmin\",\n \"enum\": [\n \"no_access\",\n \"member\",\n \"admin\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"no_access PortalRoleNoAccess\\nmember PortalRoleMember\\nadmin PortalRoleAdmin\",\n \"x-go-name\": \"PortalRole\"\n }\n },\n \"required\": [\n \"name\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "SearchContacts",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "search_contacts",
"description": {
"tagline": "Search for contacts using various filter criteria.",
"detailed": "This tool allows you to search for contacts by applying filters on fields such as id, email, custom fields, and account_id. Use it to find specific contacts based on these criteria."
},
"return_annotation": "Filtered search results of contacts.",
"arguments": [
{
"name": "contact_search_filters",
"alternative_names": [
"contact_filters",
"search_criteria"
],
"description": "A JSON object specifying the search filters for contacts, including pagination, filtering fields, operator types, and limits.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/contacts/search",
"tags": [
"contacts"
],
"summary": "Search for contacts by a given filter",
"description": "Currently, the following fields are filterable for contacts:\n\n* id. Allowed operators: `equals`, `in`, `not_in`\n\n* email. Allowed operators: `equals`, `in`, `not_in`, `string_contains`\n\n* custom fields (pass in the slug of the custom field)\n\n* account_id. Allowed operators: `equals`, `in`, `not_in`",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"cursor": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"filter": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"field": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
],
"properties": null,
"inner_properties": null,
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset."
},
"subfilters": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {},
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\")."
}
},
"inner_properties": null,
"description": null
},
"limit": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of contacts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"cursor": {
"type": "string",
"description": "The cursor to use for pagination."
},
"filter": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"type": "string",
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
]
},
"subfilters": {
"type": "array",
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
"items": {
"type": "object",
"properties": {}
}
},
"value": {
"type": "string",
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"type": "array",
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
"items": {
"type": "string"
}
}
},
"required": [
"field",
"operator"
]
},
"limit": {
"type": "integer",
"description": "The number of contacts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"format": "int64"
}
},
"required": [
"filter"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"cursor\": {\n \"description\": \"The cursor to use for pagination.\",\n \"type\": \"string\",\n \"x-go-name\": \"Cursor\"\n },\n \"filter\": {\n \"properties\": {\n \"field\": {\n \"description\": \"The field for this filter. For allowed fields, see the documentation for\\n\\nthe specific endpoint you are using.\\n\\nFor non-compound filters (any operators other than \\\"and\\\" or \\\"or\\\"),\\n\\nField must be set, along with either Value or Values, depending on the operator.\",\n \"type\": \"string\",\n \"x-go-name\": \"Field\"\n },\n \"operator\": {\n \"description\": \"The operator for this filter.\\n\\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\n\\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\n\\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\n\\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\n\\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\n\\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\n\\n* and FilterOperatorAnd Matches objects only if all subfilters match.\\n\\n* or FilterOperatorOr Matches objects if any subfilter matches.\\n\\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\n\\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\n\\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\n\\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\n\\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\n\\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\n\\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"enum\": [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"does_not_contain\",\n \"in\",\n \"not_in\",\n \"and\",\n \"or\",\n \"time_is_after\",\n \"time_is_before\",\n \"time_range\",\n \"string_contains\",\n \"string_does_not_contain\",\n \"is_set\",\n \"is_unset\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\nand FilterOperatorAnd Matches objects only if all subfilters match.\\nor FilterOperatorOr Matches objects if any subfilter matches.\\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"x-go-name\": \"Operator\"\n },\n \"subfilters\": {\n \"description\": \"Sub-filters for this filter. Valid only when operator is \\\"and\\\" or \\\"or\\\".\\n\\nThe maximum allowed depth for a tree of filters is 3.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Filter\",\n \"has_circular_reference\": true\n },\n \"type\": \"array\",\n \"x-go-name\": \"Subfilters\"\n },\n \"value\": {\n \"description\": \"The value for this filter. Only used for single-valued operators\\n\\n(\\\"equals\\\", \\\"not_equals\\\", \\\"contains\\\", \\\"does_not_contain\\\")\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values for this filter. Only used for multi-valued operators (\\\"in\\\", \\\"not_in\\\").\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"required\": [\n \"field\",\n \"operator\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"limit\": {\n \"description\": \"The number of contacts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.\",\n \"format\": \"int64\",\n \"type\": \"integer\",\n \"x-go-name\": \"Limit\"\n }\n },\n \"required\": [\n \"filter\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "DeleteContact",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_contact",
"description": {
"tagline": "Delete an existing contact by ID.",
"detailed": "This tool deletes a contact by its ID. It should be called when a user needs to remove a contact from the system."
},
"return_annotation": "Confirmation of contact deletion.",
"arguments": [
{
"name": "contact_id",
"alternative_names": [
"contact_identifier",
"id_of_contact"
],
"description": "The ID of the contact to be deleted.",
"endpoint_argument_name": "id"
}
]
},
"method": "DELETE",
"path": "/contacts/{id}",
"tags": [
"contacts"
],
"summary": "",
"description": "Delete an existing contact",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact to delete."
},
"description": "The ID of the contact to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetContact",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_contact_by_id",
"description": {
"tagline": "Retrieve contact details using the contact ID.",
"detailed": "This tool fetches and returns contact details by querying with a specified contact ID. Use it when you need to obtain specific contact information."
},
"return_annotation": "Returns contact details based on the provided ID.",
"arguments": [
{
"name": "number_of_accounts_to_fetch",
"alternative_names": [
"fetch_limit",
"accounts_fetch_limit"
],
"description": "Specifies the number of accounts to fetch. Must be between 1 and 999. Defaults to 100 if not provided.",
"endpoint_argument_name": "limit"
},
{
"name": "contact_id",
"alternative_names": [
"id_of_contact",
"contact_identifier"
],
"description": "The unique identifier for the contact to fetch details.",
"endpoint_argument_name": "id"
},
{
"name": "pagination_cursor",
"alternative_names": [
"page_cursor",
"navigation_cursor"
],
"description": "A string representing the cursor for pagination purposes, used to fetch the next set of results in a paginated response.",
"endpoint_argument_name": "cursor"
}
]
},
"method": "GET",
"path": "/contacts/{id}",
"tags": [
"contacts"
],
"summary": "",
"description": "Get a contact by its ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "cursor",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"description": "The cursor to use for pagination.",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "limit",
"value_schema": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
},
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "integer",
"format": "int64"
},
"schema_required": false
}
],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact."
},
"description": "The ID of the contact.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateContact",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_contact_info",
"description": {
"tagline": "Updates an existing contact's information.",
"detailed": "Use this tool to update the details of an existing contact when modifications are needed."
},
"return_annotation": "Confirmation of contact update.",
"arguments": [
{
"name": "contact_id",
"alternative_names": [
"contact_identifier",
"contact_number"
],
"description": "The unique identifier of the contact to be updated. This should match the existing contact's ID in the system.",
"endpoint_argument_name": "id"
},
{
"name": "contact_update_details",
"alternative_names": [
"contact_modification_payload",
"updated_contact_data"
],
"description": "JSON object with updated contact details, including account ID, avatar URL, custom fields, email, name, and portal role. Use either 'account_id' or 'account_external_id', not both.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "PATCH",
"path": "/contacts/{id}",
"tags": [
"contacts"
],
"summary": "",
"description": "Update an existing contact",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the contact to update."
},
"description": "The ID of the contact to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_external_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The external ID of the account to move the contact to. Cannot be used together with account_id."
},
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account to move the contact to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "in: body\n\nThe name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"account_external_id": {
"type": "string",
"description": "The external ID of the account to move the contact to. Cannot be used together with account_id."
},
"account_id": {
"type": "string",
"description": "The account to move the contact to."
},
"avatar_url": {
"type": "string",
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be applied to this contact.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"email": {
"type": "string",
"description": "The email of the contact."
},
"name": {
"type": "string",
"description": "in: body\n\nThe name of the contact."
},
"portal_role": {
"type": "string",
"description": "The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
"enum": [
"no_access",
"member",
"admin"
]
}
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_external_id\": {\n \"description\": \"The external ID of the account to move the contact to. Cannot be used together with account_id.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountExternalID\"\n },\n \"account_id\": {\n \"description\": \"The account to move the contact to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"avatar_url\": {\n \"description\": \"The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.\",\n \"type\": \"string\",\n \"x-go-name\": \"AvatarUrl\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be applied to this contact.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"email\": {\n \"description\": \"The email of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Email\"\n },\n \"name\": {\n \"description\": \"in: body\\n\\nThe name of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"portal_role\": {\n \"description\": \"The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\\n\\n* no_access PortalRoleNoAccess\\n\\n* member PortalRoleMember\\n\\n* admin PortalRoleAdmin\",\n \"enum\": [\n \"no_access\",\n \"member\",\n \"admin\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"no_access PortalRoleNoAccess\\nmember PortalRoleMember\\nadmin PortalRoleAdmin\",\n \"x-go-name\": \"PortalRole\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetCustomFields",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_all_custom_fields",
"description": {
"tagline": "Retrieve all custom fields from the system.",
"detailed": "This tool is used to get a complete list of custom fields. It should be called when you need information about available custom fields."
},
"return_annotation": "List of all custom fields available.",
"arguments": [
{
"name": "custom_field_object_type",
"alternative_names": [
"field_object_type",
"custom_field_category"
],
"description": "Specify the object type for custom fields. Options: \"account\", \"issue\", or \"contact\".",
"endpoint_argument_name": "object_type"
}
]
},
"method": "GET",
"path": "/custom-fields",
"tags": [
"custom-fields"
],
"summary": "",
"description": "Get all custom fields",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "object_type",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the custom fields. Can be \"account\", \"issue\", or \"contact\"."
},
"description": "The object type of the custom fields. Can be \"account\", \"issue\", or \"contact\".",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateCustomField",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_custom_field",
"description": {
"tagline": "Create a new custom field in the system.",
"detailed": "Use this tool to add a custom field to your database or application configuration. It allows for extending the available data fields to include additional, personalized information."
},
"return_annotation": "Information about the newly created custom field.",
"arguments": [
{
"name": "custom_field_details",
"alternative_names": [
"field_specifications",
"field_attributes"
],
"description": "JSON object containing details such as label, type, object type, default values, and selection options for the custom field.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/custom-fields",
"tags": [
"custom-fields"
],
"summary": "",
"description": "Create a custom field",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"default_value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default value for single-valued custom fields."
},
"default_values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default values for multi-valued custom fields."
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The description of the custom field."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the custom field."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the custom field. Can be \"account\", \"issue\", or \"contact\""
},
"select_options": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the option."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the option."
}
},
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"default_value": {
"type": "string",
"description": "The default value for single-valued custom fields."
},
"default_values": {
"type": "array",
"description": "The default values for multi-valued custom fields.",
"items": {
"type": "string"
}
},
"description": {
"type": "string",
"description": "The description of the custom field."
},
"label": {
"type": "string",
"description": "The label of the custom field."
},
"object_type": {
"type": "string",
"description": "The object type of the custom field. Can be \"account\", \"issue\", or \"contact\""
},
"select_options": {
"type": "array",
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The label of the option."
},
"slug": {
"type": "string",
"description": "The slug of the option."
}
}
}
},
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"type": {
"type": "string",
"description": "The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`."
}
},
"required": [
"label",
"object_type",
"type"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"default_value\": {\n \"description\": \"The default value for single-valued custom fields.\",\n \"type\": \"string\",\n \"x-go-name\": \"DefaultValue\"\n },\n \"default_values\": {\n \"description\": \"The default values for multi-valued custom fields.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"DefaultValues\"\n },\n \"description\": {\n \"description\": \"The description of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Description\"\n },\n \"label\": {\n \"description\": \"The label of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"object_type\": {\n \"description\": \"The object type of the custom field. Can be \\\"account\\\", \\\"issue\\\", or \\\"contact\\\"\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectType\"\n },\n \"select_options\": {\n \"description\": \"The list options of the select custom field. This is only present for select and multiselect custom fields.\",\n \"items\": {\n \"properties\": {\n \"label\": {\n \"description\": \"The label of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"slug\": {\n \"description\": \"The slug of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"SelectOptions\"\n },\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"type\": {\n \"description\": \"The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Type\"\n }\n },\n \"required\": [\n \"label\",\n \"object_type\",\n \"type\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetCustomField",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_custom_field",
"description": {
"tagline": "Retrieve a custom field by its ID.",
"detailed": "Use this tool to obtain details of a specific custom field using its unique identifier."
},
"return_annotation": "Custom field details by its ID.",
"arguments": [
{
"name": "custom_field_id",
"alternative_names": [
"field_id",
"custom_id"
],
"description": "The unique identifier of the custom field to retrieve.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/custom-fields/{id}",
"tags": [
"custom-fields"
],
"summary": "",
"description": "Get a custom field by its ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the custom field."
},
"description": "The ID of the custom field.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateCustomField",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_custom_field",
"description": {
"tagline": "Update a custom field in a record.",
"detailed": ""
},
"return_annotation": "Confirmation of custom field update.",
"arguments": [
{
"name": "custom_field_id",
"alternative_names": [
"field_id",
"identifier"
],
"description": "The unique identifier for the custom field to be updated.",
"endpoint_argument_name": "id"
},
{
"name": "custom_field_update_data",
"alternative_names": [
"custom_field_data",
"field_update_data"
],
"description": "JSON object containing details for updating the custom field, including 'default_value', 'default_values', 'description', 'label', 'select_options', and 'slug'.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "PATCH",
"path": "/custom-fields/{id}",
"tags": [
"custom-fields"
],
"summary": "",
"description": "Update a custom field",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the custom field."
},
"description": "The ID of the custom field.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"default_value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default value for single-valued custom fields."
},
"default_values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The default values for multi-valued custom fields."
},
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The description of the custom field."
},
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the custom field."
},
"select_options": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"label": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The label of the option."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the option."
}
},
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"default_value": {
"type": "string",
"description": "The default value for single-valued custom fields."
},
"default_values": {
"type": "array",
"description": "The default values for multi-valued custom fields.",
"items": {
"type": "string"
}
},
"description": {
"type": "string",
"description": "The description of the custom field."
},
"label": {
"type": "string",
"description": "The label of the custom field."
},
"select_options": {
"type": "array",
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "The label of the option."
},
"slug": {
"type": "string",
"description": "The slug of the option."
}
}
}
},
"slug": {
"type": "string",
"description": "The slug of the custom field."
}
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"default_value\": {\n \"description\": \"The default value for single-valued custom fields.\",\n \"type\": \"string\",\n \"x-go-name\": \"DefaultValue\"\n },\n \"default_values\": {\n \"description\": \"The default values for multi-valued custom fields.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"DefaultValues\"\n },\n \"description\": {\n \"description\": \"The description of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Description\"\n },\n \"label\": {\n \"description\": \"The label of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"select_options\": {\n \"description\": \"The list options of the select custom field. This is only present for select and multiselect custom fields.\",\n \"items\": {\n \"properties\": {\n \"label\": {\n \"description\": \"The label of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Label\"\n },\n \"slug\": {\n \"description\": \"The slug of the option.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"SelectOptions\"\n },\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "ImportContact",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "import_new_contact",
"description": {
"tagline": "Import a new contact into the system.",
"detailed": "Use this tool to import a new contact into the system whenever you need to add contact information."
},
"return_annotation": "Confirmation of contact import status.",
"arguments": [
{
"name": "contact_details",
"alternative_names": [
"contact_information",
"contact_data"
],
"description": "A JSON object containing the contact's details, such as account ID, avatar URL, custom fields, email, name, and portal role.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/import/contacts",
"tags": [
"import"
],
"summary": "",
"description": "Import a new contact",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account that this contact belongs to."
},
"avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be applied to this contact."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the contact."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the contact."
},
"portal_role": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"no_access",
"member",
"admin"
],
"properties": null,
"inner_properties": null,
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin"
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"account_id": {
"type": "string",
"description": "The account that this contact belongs to."
},
"avatar_url": {
"type": "string",
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg."
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be applied to this contact.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"email": {
"type": "string",
"description": "The email of the contact."
},
"name": {
"type": "string",
"description": "The name of the contact."
},
"portal_role": {
"type": "string",
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
"enum": [
"no_access",
"member",
"admin"
]
}
},
"required": [
"email",
"name"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_id\": {\n \"description\": \"The account that this contact belongs to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"avatar_url\": {\n \"description\": \"The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.\",\n \"type\": \"string\",\n \"x-go-name\": \"AvatarUrl\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be applied to this contact.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"email\": {\n \"description\": \"The email of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Email\"\n },\n \"name\": {\n \"description\": \"The name of the contact.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"portal_role\": {\n \"description\": \"The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\\n\\n* no_access PortalRoleNoAccess\\n\\n* member PortalRoleMember\\n\\n* admin PortalRoleAdmin\",\n \"enum\": [\n \"no_access\",\n \"member\",\n \"admin\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"no_access PortalRoleNoAccess\\nmember PortalRoleMember\\nadmin PortalRoleAdmin\",\n \"x-go-name\": \"PortalRole\"\n }\n },\n \"required\": [\n \"email\",\n \"name\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "ImportIssue",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "import_issue",
"description": {
"tagline": "Import an issue into the system.",
"detailed": "This tool is used to import an issue into the Pylon system. Use it when you need to add new issues by importing them through a specified format or integration."
},
"return_annotation": "Details of the imported issue.",
"arguments": [
{
"name": "issue_import_request",
"alternative_names": [
"issue_request_body",
"import_issue_data"
],
"description": "A JSON object with details for the issue import, including account ID, assignee, attachments, created time, and more.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/import/issues",
"tags": [
"import"
],
"summary": "",
"description": "Import an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "AccountID that the issue should belong to."
},
"assignee_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "UserID that the issue should be assigned to."
},
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"created_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "CreatedAt is the time the issue was created (RFC3339)."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be used on this issue."
},
"external_issues": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"external_issue_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the external issue in the source system."
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\")."
}
},
"description": "External issues to link to this issue."
},
"external_refs": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"intercom_conversation_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The Intercom conversation ID associated with this issue, if any."
},
"zendesk_ticket_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The Zendesk ticket ID associated with this issue, if any."
}
},
"inner_properties": null,
"description": null
},
"first_response_time": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "FirstResponseTime is the time the issue was first responded to (RFC3339)."
},
"messages": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this message."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content of the message."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified."
},
"created_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "CreatedAt is the time the message was created (RFC3339)."
},
"is_private": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the message is private."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The user that sent the message. Only one of user_id or contact_id can be specified."
}
},
"description": "Messages to be imported for this issue. At least one message is required."
},
"requester_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ContactID that the issue should be on behalf of."
},
"resolution_time": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "ResolutionTime is the time the issue was resolved (RFC3339)."
},
"state": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The state of the issue. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of strings to use as tags on this issue."
},
"team_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "TeamID that the issue should be assigned to."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The title of the issue."
},
"updated_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "UpdatedAt is the time the issue was last updated (RFC3339)."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"account_id": {
"type": "string",
"description": "AccountID that the issue should belong to."
},
"assignee_id": {
"type": "string",
"description": "UserID that the issue should be assigned to."
},
"attachment_urls": {
"type": "array",
"description": "An array of attachment URLs to attach to this issue.",
"items": {
"type": "string"
}
},
"created_at": {
"type": "string",
"description": "CreatedAt is the time the issue was created (RFC3339)."
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be used on this issue.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"external_issues": {
"type": "array",
"description": "External issues to link to this issue.",
"items": {
"type": "object",
"properties": {
"external_issue_id": {
"type": "string",
"description": "The ID of the external issue in the source system."
},
"source": {
"type": "string",
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\")."
}
},
"required": [
"external_issue_id",
"source"
]
}
},
"external_refs": {
"type": "object",
"properties": {
"intercom_conversation_id": {
"type": "string",
"description": "The Intercom conversation ID associated with this issue, if any."
},
"zendesk_ticket_id": {
"type": "string",
"description": "The Zendesk ticket ID associated with this issue, if any."
}
}
},
"first_response_time": {
"type": "string",
"description": "FirstResponseTime is the time the issue was first responded to (RFC3339)."
},
"messages": {
"type": "array",
"description": "Messages to be imported for this issue. At least one message is required.",
"items": {
"type": "object",
"properties": {
"attachment_urls": {
"type": "array",
"description": "An array of attachment URLs to attach to this message.",
"items": {
"type": "string"
}
},
"body_html": {
"type": "string",
"description": "The HTML content of the message."
},
"contact_id": {
"type": "string",
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified."
},
"created_at": {
"type": "string",
"description": "CreatedAt is the time the message was created (RFC3339)."
},
"is_private": {
"type": "boolean",
"description": "Whether the message is private."
},
"user_id": {
"type": "string",
"description": "The user that sent the message. Only one of user_id or contact_id can be specified."
}
},
"required": [
"body_html",
"is_private"
]
}
},
"requester_id": {
"type": "string",
"description": "ContactID that the issue should be on behalf of."
},
"resolution_time": {
"type": "string",
"description": "ResolutionTime is the time the issue was resolved (RFC3339)."
},
"state": {
"type": "string",
"description": "The state of the issue. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status."
},
"tags": {
"type": "array",
"description": "An array of strings to use as tags on this issue.",
"items": {
"type": "string"
}
},
"team_id": {
"type": "string",
"description": "TeamID that the issue should be assigned to."
},
"title": {
"type": "string",
"description": "The title of the issue."
},
"updated_at": {
"type": "string",
"description": "UpdatedAt is the time the issue was last updated (RFC3339)."
}
},
"required": [
"messages",
"state",
"title"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_id\": {\n \"description\": \"AccountID that the issue should belong to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"assignee_id\": {\n \"description\": \"UserID that the issue should be assigned to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AssigneeID\"\n },\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this issue.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"created_at\": {\n \"description\": \"CreatedAt is the time the issue was created (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"CreatedAt\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be used on this issue.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"external_issues\": {\n \"description\": \"External issues to link to this issue.\",\n \"items\": {\n \"properties\": {\n \"external_issue_id\": {\n \"description\": \"The ID of the external issue in the source system.\",\n \"type\": \"string\",\n \"x-go-name\": \"ExternalIssueID\"\n },\n \"source\": {\n \"description\": \"The source system of the external issue (e.g., \\\"linear\\\", \\\"asana\\\", \\\"jira\\\", \\\"github\\\").\",\n \"type\": \"string\",\n \"x-go-name\": \"Source\"\n }\n },\n \"required\": [\n \"external_issue_id\",\n \"source\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"ExternalIssues\"\n },\n \"external_refs\": {\n \"properties\": {\n \"intercom_conversation_id\": {\n \"description\": \"The Intercom conversation ID associated with this issue, if any.\",\n \"type\": \"string\",\n \"x-go-name\": \"IntercomConversationID\"\n },\n \"zendesk_ticket_id\": {\n \"description\": \"The Zendesk ticket ID associated with this issue, if any.\",\n \"type\": \"string\",\n \"x-go-name\": \"ZendeskTicketID\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"first_response_time\": {\n \"description\": \"FirstResponseTime is the time the issue was first responded to (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"FirstResponseTime\"\n },\n \"messages\": {\n \"description\": \"Messages to be imported for this issue. At least one message is required.\",\n \"items\": {\n \"properties\": {\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this message.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The HTML content of the message.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"The contact that sent the message. Only one of user_id or contact_id can be specified.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"created_at\": {\n \"description\": \"CreatedAt is the time the message was created (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"CreatedAt\"\n },\n \"is_private\": {\n \"description\": \"Whether the message is private.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsPrivate\"\n },\n \"user_id\": {\n \"description\": \"The user that sent the message. Only one of user_id or contact_id can be specified.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\",\n \"is_private\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Messages\"\n },\n \"requester_id\": {\n \"description\": \"ContactID that the issue should be on behalf of.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequesterID\"\n },\n \"resolution_time\": {\n \"description\": \"ResolutionTime is the time the issue was resolved (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"ResolutionTime\"\n },\n \"state\": {\n \"description\": \"The state of the issue. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.\",\n \"type\": \"string\",\n \"x-go-name\": \"State\"\n },\n \"tags\": {\n \"description\": \"An array of strings to use as tags on this issue.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n },\n \"team_id\": {\n \"description\": \"TeamID that the issue should be assigned to.\",\n \"type\": \"string\",\n \"x-go-name\": \"TeamID\"\n },\n \"title\": {\n \"description\": \"The title of the issue.\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n },\n \"updated_at\": {\n \"description\": \"UpdatedAt is the time the issue was last updated (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"UpdatedAt\"\n }\n },\n \"required\": [\n \"messages\",\n \"state\",\n \"title\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "ImportMessages",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "import_messages_to_issue",
"description": {
"tagline": "Import messages into an existing issue.",
"detailed": "Use this tool to import new messages onto an existing issue, facilitating better organization and tracking within issue management systems."
},
"return_annotation": "Confirmation of messages imported to the issue.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"issue_key"
],
"description": "The unique ID of the existing issue to which messages will be imported.",
"endpoint_argument_name": "id"
},
{
"name": "imported_messages",
"alternative_names": [
"messages_to_import",
"issue_messages"
],
"description": "A JSON array of messages to import, each containing fields like body_html, contact_id or user_id (one is required), created_at, is_private, and optional attachment_urls.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/import/issues/{id}/messages",
"tags": [
"import"
],
"summary": "",
"description": "Import messages onto an existing issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"description": "The ID of the issue.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"messages": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this message."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content of the message."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified."
},
"created_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "CreatedAt is the time the message was created (RFC3339)."
},
"is_private": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the message is private."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The user that sent the message. Only one of user_id or contact_id can be specified."
}
},
"description": "Messages to be imported for this issue. At least one message is required."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"messages": {
"type": "array",
"description": "Messages to be imported for this issue. At least one message is required.",
"items": {
"type": "object",
"properties": {
"attachment_urls": {
"type": "array",
"description": "An array of attachment URLs to attach to this message.",
"items": {
"type": "string"
}
},
"body_html": {
"type": "string",
"description": "The HTML content of the message."
},
"contact_id": {
"type": "string",
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified."
},
"created_at": {
"type": "string",
"description": "CreatedAt is the time the message was created (RFC3339)."
},
"is_private": {
"type": "boolean",
"description": "Whether the message is private."
},
"user_id": {
"type": "string",
"description": "The user that sent the message. Only one of user_id or contact_id can be specified."
}
},
"required": [
"body_html",
"is_private"
]
}
}
},
"required": [
"messages"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"messages\": {\n \"description\": \"Messages to be imported for this issue. At least one message is required.\",\n \"items\": {\n \"properties\": {\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this message.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The HTML content of the message.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"The contact that sent the message. Only one of user_id or contact_id can be specified.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"created_at\": {\n \"description\": \"CreatedAt is the time the message was created (RFC3339).\",\n \"type\": \"string\",\n \"x-go-name\": \"CreatedAt\"\n },\n \"is_private\": {\n \"description\": \"Whether the message is private.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsPrivate\"\n },\n \"user_id\": {\n \"description\": \"The user that sent the message. Only one of user_id or contact_id can be specified.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\",\n \"is_private\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Messages\"\n }\n },\n \"required\": [\n \"messages\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetIssueStatuses",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_issue_statuses",
"description": {
"tagline": "Retrieve all issue statuses from the system.",
"detailed": "Use this tool to get a complete list of issue statuses available in the project management system. This can help with tracking and managing project workflows efficiently."
},
"return_annotation": "List of all issue statuses.",
"arguments": []
},
"method": "GET",
"path": "/issue-statuses",
"tags": [
"issue-statuses"
],
"summary": "",
"description": "Get all issue statuses",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetIssues",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_issues_list",
"description": {
"tagline": "Retrieve a list of issues.",
"detailed": "Call this tool to get a list of issues from the Pylon service, useful for tracking or managing tasks and bugs."
},
"return_annotation": "A list of issues.",
"arguments": [
{
"name": "start_time_for_issue_range",
"alternative_names": [
"issue_range_start_time",
"issue_start_time"
],
"description": "The start time in RFC3339 format to query issues. Duration with end_time must be <= 30 days.",
"endpoint_argument_name": "start_time"
},
{
"name": "end_time_rfc3339",
"alternative_names": [
"end_time_str",
"end_time_parameter"
],
"description": "The end time in RFC3339 format for the issue retrieval range, must be within 30 days of the start time.",
"endpoint_argument_name": "end_time"
}
]
},
"method": "GET",
"path": "/issues",
"tags": [
"issues"
],
"summary": "",
"description": "Get a list of issues",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "start_time",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The start time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days."
},
"description": "The start time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "end_time",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The end time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days."
},
"description": "The end time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateIssue",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_new_issue",
"description": {
"tagline": "Create a new issue in the system.",
"detailed": "This tool is used to create a new issue in the system. It should be called whenever there's a need to log or track a new issue or task."
},
"return_annotation": "Details of the newly created issue.",
"arguments": [
{
"name": "issue_details",
"alternative_names": [
"issue_information",
"issue_data"
],
"description": "A JSON object containing issue details including account_id, assignee_id, attachment_urls, body_html, contact_id, and other optional fields. This data structures the issue to be created, indicating ownership, assignment, and any additional contextual information like attachments or destination preferences.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/issues",
"tags": [
"issues"
],
"summary": "",
"description": "Create a new issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The account that this issue belongs to."
},
"assignee_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The user the issue should be assigned to."
},
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML content of the body of the issue."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided."
},
"created_at": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Timestamp of when the issue was created. If not specified, the current time will be used. (RFC3339)"
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be used on this issue."
},
"destination_metadata": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"chat_widget_app_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the chat widget app to use for in-app chat."
},
"destination": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"slack",
"email",
"in_app_chat",
"internal"
],
"properties": null,
"inner_properties": null,
"description": "The destination type of the issue. Can be \"email\", \"slack\", \"in_app_chat\", or \"internal\". Defaults to \"internal\".\n\n* slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\n\n* email APIIssueDestinationEmail Deliver messages to the issue requester via email.\n\n* in_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\n\n* internal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all."
},
"email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email that emails to the requester will be sent from. You must configure an email app in Pylon with this address."
},
"email_bccs": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Emails that will be BCCed on emails to the requester."
},
"email_ccs": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Emails that will be CCed on emails to the requester."
}
},
"inner_properties": null,
"description": "You can configure the issue to contact the requester via email, Slack, in-app chat, or not at all.\n\nIf a destination other than `internal` is specified, a message with the issue's BodyHTML will be delivered to the requester. If you don't wish to immediately contact the requester, you can specify the `internal` destination."
},
"priority": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The priority of the issue. Can be one of: urgent, high, medium, or low."
},
"requester_avatar_url": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The URL of an avatar of the requester."
},
"requester_email": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The email of the user that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester."
},
"requester_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The requester that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester."
},
"requester_name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The full name of the user that this issue is on behalf of."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to the given tags."
},
"team_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team this issue should be assigned to."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The title of the issue."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"account_id": {
"type": "string",
"description": "The account that this issue belongs to."
},
"assignee_id": {
"type": "string",
"description": "The user the issue should be assigned to."
},
"attachment_urls": {
"type": "array",
"description": "An array of attachment URLs to attach to this issue.",
"items": {
"type": "string"
}
},
"body_html": {
"type": "string",
"description": "The HTML content of the body of the issue."
},
"contact_id": {
"type": "string",
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided."
},
"created_at": {
"type": "string",
"description": "Timestamp of when the issue was created. If not specified, the current time will be used. (RFC3339)"
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be used on this issue.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"destination_metadata": {
"type": "object",
"title": "DestinationMetadata specifies if/how communication will be delivered to the customer.",
"description": "You can configure the issue to contact the requester via email, Slack, in-app chat, or not at all.\n\nIf a destination other than `internal` is specified, a message with the issue's BodyHTML will be delivered to the requester. If you don't wish to immediately contact the requester, you can specify the `internal` destination.",
"properties": {
"chat_widget_app_id": {
"type": "string",
"description": "The ID of the chat widget app to use for in-app chat."
},
"destination": {
"type": "string",
"description": "The destination type of the issue. Can be \"email\", \"slack\", \"in_app_chat\", or \"internal\". Defaults to \"internal\".\n\n* slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\n\n* email APIIssueDestinationEmail Deliver messages to the issue requester via email.\n\n* in_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\n\n* internal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all.",
"enum": [
"slack",
"email",
"in_app_chat",
"internal"
]
},
"email": {
"type": "string",
"description": "The email that emails to the requester will be sent from. You must configure an email app in Pylon with this address."
},
"email_bccs": {
"type": "array",
"description": "Emails that will be BCCed on emails to the requester.",
"items": {
"type": "string"
}
},
"email_ccs": {
"type": "array",
"description": "Emails that will be CCed on emails to the requester.",
"items": {
"type": "string"
}
}
}
},
"priority": {
"type": "string",
"description": "The priority of the issue. Can be one of: urgent, high, medium, or low."
},
"requester_avatar_url": {
"type": "string",
"description": "The URL of an avatar of the requester."
},
"requester_email": {
"type": "string",
"description": "The email of the user that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester."
},
"requester_id": {
"type": "string",
"description": "The requester that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester."
},
"requester_name": {
"type": "string",
"description": "The full name of the user that this issue is on behalf of."
},
"tags": {
"type": "array",
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to the given tags.",
"items": {
"type": "string"
}
},
"team_id": {
"type": "string",
"description": "The ID of the team this issue should be assigned to."
},
"title": {
"type": "string",
"description": "The title of the issue."
},
"user_id": {
"type": "string",
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided."
}
},
"required": [
"body_html",
"title"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_id\": {\n \"description\": \"The account that this issue belongs to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"assignee_id\": {\n \"description\": \"The user the issue should be assigned to.\",\n \"type\": \"string\",\n \"x-go-name\": \"AssigneeID\"\n },\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this issue.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The HTML content of the body of the issue.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"created_at\": {\n \"description\": \"Timestamp of when the issue was created. If not specified, the current time will be used. (RFC3339)\",\n \"type\": \"string\",\n \"x-go-name\": \"CreatedAt\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be used on this issue.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"destination_metadata\": {\n \"description\": \"You can configure the issue to contact the requester via email, Slack, in-app chat, or not at all.\\n\\nIf a destination other than `internal` is specified, a message with the issue's BodyHTML will be delivered to the requester. If you don't wish to immediately contact the requester, you can specify the `internal` destination.\",\n \"properties\": {\n \"chat_widget_app_id\": {\n \"description\": \"The ID of the chat widget app to use for in-app chat.\",\n \"type\": \"string\",\n \"x-go-name\": \"ChatWidgetAppID\"\n },\n \"destination\": {\n \"description\": \"The destination type of the issue. Can be \\\"email\\\", \\\"slack\\\", \\\"in_app_chat\\\", or \\\"internal\\\". Defaults to \\\"internal\\\".\\n\\n* slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\\n\\n* email APIIssueDestinationEmail Deliver messages to the issue requester via email.\\n\\n* in_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\\n\\n* internal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all.\",\n \"enum\": [\n \"slack\",\n \"email\",\n \"in_app_chat\",\n \"internal\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\\nemail APIIssueDestinationEmail Deliver messages to the issue requester via email.\\nin_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\\ninternal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all.\",\n \"x-go-name\": \"Destination\"\n },\n \"email\": {\n \"description\": \"The email that emails to the requester will be sent from. You must configure an email app in Pylon with this address.\",\n \"type\": \"string\",\n \"x-go-name\": \"Email\"\n },\n \"email_bccs\": {\n \"description\": \"Emails that will be BCCed on emails to the requester.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"EmailBCCs\"\n },\n \"email_ccs\": {\n \"description\": \"Emails that will be CCed on emails to the requester.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"EmailCCs\"\n }\n },\n \"title\": \"DestinationMetadata specifies if/how communication will be delivered to the customer.\",\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"priority\": {\n \"description\": \"The priority of the issue. Can be one of: urgent, high, medium, or low.\",\n \"type\": \"string\",\n \"x-go-name\": \"Priority\"\n },\n \"requester_avatar_url\": {\n \"description\": \"The URL of an avatar of the requester.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequesterAvatarUrl\"\n },\n \"requester_email\": {\n \"description\": \"The email of the user that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequesterEmail\"\n },\n \"requester_id\": {\n \"description\": \"The requester that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequesterID\"\n },\n \"requester_name\": {\n \"description\": \"The full name of the user that this issue is on behalf of.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequesterName\"\n },\n \"tags\": {\n \"description\": \"An array of strings to use as tags on this issue. If provided, the issue tags will be updated to the given tags.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n },\n \"team_id\": {\n \"description\": \"The ID of the team this issue should be assigned to.\",\n \"type\": \"string\",\n \"x-go-name\": \"TeamID\"\n },\n \"title\": {\n \"description\": \"The title of the issue.\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n },\n \"user_id\": {\n \"description\": \"Optional user ID to post the message as. Only one of user_id or contact_id can be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\",\n \"title\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "SearchIssues",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "search_issues_by_filters",
"description": {
"tagline": "Search for issues using various filters and criteria.",
"detailed": "Use this tool to search for issues by applying filters such as creation date, account ID, requester ID, status, tags, title, and more. Suitable for retrieving specific issues according to predefined criteria and operators."
},
"return_annotation": "Returns filtered issues based on given criteria.",
"arguments": [
{
"name": "filter_parameters",
"alternative_names": [
"search_criteria",
"issue_filters"
],
"description": "JSON object containing filter criteria such as field, operator, and value to search issues. Includes pagination cursor and limit.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/issues/search",
"tags": [
"issues"
],
"summary": "Search for issues by a given filter",
"description": "Currently, the following fields are filterable for issues:\n\n* created_at (in RFC3339 format). Allowed operators: `time_is_after`, `time_is_before`, `time_range`\n\n* account_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* ticket_form_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* requester_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* follower_user_id. Allowed operators: `equals`, `in`, `not_in`\n\n* follower_contact_id. Allowed operators: `equals`, `in`, `not_in`\n\n* state. Valid values are `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"]` or a custom status slug. Allowed operators: `equals`, `in`, `not_in`\n\n* custom fields (pass in the slug of the custom field)\n\n* tags (pass in the tag name). Allowed operators: `contains`, `does_not_contain`, `in`, `not_in`\n\n* title. Allowed operators: `string_contains`, `string_does_not_contain`\n\n* body_html. Allowed operators: `string_contains`, `string_does_not_contain`\n\n* assignee_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* team_id. Allowed operators: `equals`, `in`, `not_in`",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"cursor": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"filter": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"field": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
],
"properties": null,
"inner_properties": null,
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset."
},
"subfilters": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {},
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\")."
}
},
"inner_properties": null,
"description": null
},
"limit": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of issues to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"cursor": {
"type": "string",
"description": "The cursor to use for pagination."
},
"filter": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"type": "string",
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
]
},
"subfilters": {
"type": "array",
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
"items": {
"type": "object",
"properties": {}
}
},
"value": {
"type": "string",
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"type": "array",
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
"items": {
"type": "string"
}
}
},
"required": [
"field",
"operator"
]
},
"limit": {
"type": "integer",
"description": "The number of issues to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"format": "int64"
}
},
"required": [
"filter"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"cursor\": {\n \"description\": \"The cursor to use for pagination.\",\n \"type\": \"string\",\n \"x-go-name\": \"Cursor\"\n },\n \"filter\": {\n \"properties\": {\n \"field\": {\n \"description\": \"The field for this filter. For allowed fields, see the documentation for\\n\\nthe specific endpoint you are using.\\n\\nFor non-compound filters (any operators other than \\\"and\\\" or \\\"or\\\"),\\n\\nField must be set, along with either Value or Values, depending on the operator.\",\n \"type\": \"string\",\n \"x-go-name\": \"Field\"\n },\n \"operator\": {\n \"description\": \"The operator for this filter.\\n\\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\n\\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\n\\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\n\\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\n\\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\n\\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\n\\n* and FilterOperatorAnd Matches objects only if all subfilters match.\\n\\n* or FilterOperatorOr Matches objects if any subfilter matches.\\n\\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\n\\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\n\\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\n\\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\n\\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\n\\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\n\\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"enum\": [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"does_not_contain\",\n \"in\",\n \"not_in\",\n \"and\",\n \"or\",\n \"time_is_after\",\n \"time_is_before\",\n \"time_range\",\n \"string_contains\",\n \"string_does_not_contain\",\n \"is_set\",\n \"is_unset\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\nand FilterOperatorAnd Matches objects only if all subfilters match.\\nor FilterOperatorOr Matches objects if any subfilter matches.\\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"x-go-name\": \"Operator\"\n },\n \"subfilters\": {\n \"description\": \"Sub-filters for this filter. Valid only when operator is \\\"and\\\" or \\\"or\\\".\\n\\nThe maximum allowed depth for a tree of filters is 3.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Filter\",\n \"has_circular_reference\": true\n },\n \"type\": \"array\",\n \"x-go-name\": \"Subfilters\"\n },\n \"value\": {\n \"description\": \"The value for this filter. Only used for single-valued operators\\n\\n(\\\"equals\\\", \\\"not_equals\\\", \\\"contains\\\", \\\"does_not_contain\\\")\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values for this filter. Only used for multi-valued operators (\\\"in\\\", \\\"not_in\\\").\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"required\": [\n \"field\",\n \"operator\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"limit\": {\n \"description\": \"The number of issues to fetch. Defaults to 100. Must be greater than 0 and less than 1000.\",\n \"format\": \"int64\",\n \"type\": \"integer\",\n \"x-go-name\": \"Limit\"\n }\n },\n \"required\": [\n \"filter\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "DeleteIssue",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_issue",
"description": {
"tagline": "Delete an existing issue by ID.",
"detailed": "Use this tool to delete an issue from the system by providing its ID. It is ideal for scenarios where issues need to be managed or cleaned up."
},
"return_annotation": "Confirmation of issue deletion.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"issue_key"
],
"description": "The unique identifier of the issue to delete.",
"endpoint_argument_name": "id"
}
]
},
"method": "DELETE",
"path": "/issues/{id}",
"tags": [
"issues"
],
"summary": "",
"description": "Delete an existing issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to delete."
},
"description": "The ID of the issue to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetIssue",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_issue_by_id",
"description": {
"tagline": "Retrieve issue details using its ID or number.",
"detailed": "Use this tool to access details of an issue by providing its specific ID or number. Ideal for tasks requiring detailed issue information retrieval in issue tracking systems."
},
"return_annotation": "Information about the specific issue requested.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_number",
"issue_identifier"
],
"description": "The unique ID or number of the issue you want to retrieve.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/issues/{id}",
"tags": [
"issues"
],
"summary": "",
"description": "Get an issue by its ID/number",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to fetch."
},
"description": "The ID or number of the issue to fetch.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateIssue",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_issue",
"description": {
"tagline": "Update details of an existing issue.",
"detailed": "Use this tool to modify information for an already existing issue when changes or corrections are needed."
},
"return_annotation": "Confirmation of the issue update.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"ticket_id"
],
"description": "The ID of the issue to update. This should be a string representing the unique identifier for the issue.",
"endpoint_argument_name": "id"
},
{
"name": "issue_update_details",
"alternative_names": [
"update_issue_data",
"alter_issue_content"
],
"description": "JSON object containing details to update an issue such as account_id, assignee_id, custom_fields, customer_portal_visible, requester_id, state, tags, and team_id.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "PATCH",
"path": "/issues/{id}",
"tags": [
"issues"
],
"summary": "",
"description": "Update an existing issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to update."
},
"description": "The ID of the issue to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"account_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the account that this issue belongs to. Only supported on issues with source: [\"manual\", \"form\", \"email\"]."
},
"assignee_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed."
},
"custom_fields": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the custom field."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint."
}
},
"description": "An array of custom fields to be used on this issue. Only passed in fields will be modified."
},
"customer_portal_visible": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the issue should be visible in the customer portal."
},
"requester_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the requester that this issue is on behalf of."
},
"requestor_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Deprecated: Use requester_id instead."
},
"state": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status."
},
"tags": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags."
},
"team_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"account_id": {
"type": "string",
"description": "The ID of the account that this issue belongs to. Only supported on issues with source: [\"manual\", \"form\", \"email\"]."
},
"assignee_id": {
"type": "string",
"description": "The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed."
},
"custom_fields": {
"type": "array",
"description": "An array of custom fields to be used on this issue. Only passed in fields will be modified.",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the custom field."
},
"value": {
"type": "string",
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint."
},
"values": {
"type": "array",
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
"items": {
"type": "string"
}
}
}
}
},
"customer_portal_visible": {
"type": "boolean",
"description": "Whether the issue should be visible in the customer portal."
},
"requester_id": {
"type": "string",
"description": "The ID of the requester that this issue is on behalf of."
},
"requestor_id": {
"type": "string",
"description": "Deprecated: Use requester_id instead."
},
"state": {
"type": "string",
"description": "The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status."
},
"tags": {
"type": "array",
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags.",
"items": {
"type": "string"
}
},
"team_id": {
"type": "string",
"description": "The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed."
}
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"account_id\": {\n \"description\": \"The ID of the account that this issue belongs to. Only supported on issues with source: [\\\"manual\\\", \\\"form\\\", \\\"email\\\"].\",\n \"type\": \"string\",\n \"x-go-name\": \"AccountID\"\n },\n \"assignee_id\": {\n \"description\": \"The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed.\",\n \"type\": \"string\",\n \"x-go-name\": \"AssigneeID\"\n },\n \"custom_fields\": {\n \"description\": \"An array of custom fields to be used on this issue. Only passed in fields will be modified.\",\n \"items\": {\n \"properties\": {\n \"slug\": {\n \"description\": \"The slug of the custom field.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"value\": {\n \"description\": \"The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CustomFields\"\n },\n \"customer_portal_visible\": {\n \"description\": \"Whether the issue should be visible in the customer portal.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"CustomerPortalVisible\"\n },\n \"requester_id\": {\n \"description\": \"The ID of the requester that this issue is on behalf of.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequesterID\"\n },\n \"requestor_id\": {\n \"description\": \"Deprecated: Use requester_id instead.\",\n \"type\": \"string\",\n \"x-go-name\": \"RequestorID\"\n },\n \"state\": {\n \"description\": \"The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.\",\n \"type\": \"string\",\n \"x-go-name\": \"State\"\n },\n \"tags\": {\n \"description\": \"An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Tags\"\n },\n \"team_id\": {\n \"description\": \"The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed.\",\n \"type\": \"string\",\n \"x-go-name\": \"TeamID\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "CreateIssueAIResponse",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_ai_response_for_issue",
"description": {
"tagline": "Generate an AI response for a specific issue.",
"detailed": "This tool creates an AI-generated response for a given issue by specifying the issue ID. It should be called when an automated response is required for issue resolution or documentation."
},
"return_annotation": "AI-generated response for a specified issue.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_number",
"ticket_id"
],
"description": "The unique ID or number of the issue for which an AI response is required.",
"endpoint_argument_name": "id"
},
{
"name": "ai_response_request_body",
"alternative_names": [
"response_creation_payload",
"issue_response_details"
],
"description": "JSON object containing the AI agent ID and a flag to post the response as an internal note. Includes `ai_agent_id` (string) and `post_as_internal_note` (boolean).",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/issues/{id}/ai-response",
"tags": [
"issues"
],
"summary": "",
"description": "Create an AI response for an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to create an AI response for."
},
"description": "The ID or number of the issue to create an AI response for.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"ai_agent_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the AI agent to use to create the AI response."
},
"post_as_internal_note": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether to post the AI response as an internal note on the issue."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"ai_agent_id": {
"type": "string",
"description": "The ID of the AI agent to use to create the AI response."
},
"post_as_internal_note": {
"type": "boolean",
"description": "Whether to post the AI response as an internal note on the issue."
}
},
"required": [
"ai_agent_id"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"ai_agent_id\": {\n \"description\": \"The ID of the AI agent to use to create the AI response.\",\n \"type\": \"string\",\n \"x-go-name\": \"AIAgentID\"\n },\n \"post_as_internal_note\": {\n \"description\": \"Whether to post the AI response as an internal note on the issue.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"PostAsInternalNote\"\n }\n },\n \"required\": [\n \"ai_agent_id\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "LinkExternalIssue",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "link_external_issue",
"description": {
"tagline": "Link or unlink external issues to an internal issue.",
"detailed": "Use this tool to link external issues to an internal issue or unlink them by specifying the operation type. Ideal for managing issue relationships between different systems."
},
"return_annotation": "Status of linking or unlinking external issues.",
"arguments": [
{
"name": "issue_identifier",
"alternative_names": [
"issue_id",
"issue_number"
],
"description": "The unique ID or number of the internal issue to which external issues should be linked or unlinked.",
"endpoint_argument_name": "id"
},
{
"name": "external_issue_details",
"alternative_names": [
"issue_link_data",
"external_issue_info"
],
"description": "JSON object containing details of the external issue, including `external_issue_id`, `operation` (link/unlink), and `source` system.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/issues/{id}/external-issues",
"tags": [
"issues"
],
"summary": "Link or unlink external issues to/from an issue.",
"description": "By default, links external issues. To unlink issues, set the operation field to \"unlink\".",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to link external issues to."
},
"description": "The ID or number of the issue to link external issues to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"external_issue_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the external issue in the source system."
},
"operation": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Operation to perform. Use \"link\" to link issues (default) or \"unlink\" to unlink issues."
},
"source": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\")."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"external_issue_id": {
"type": "string",
"description": "The ID of the external issue in the source system."
},
"operation": {
"type": "string",
"description": "Operation to perform. Use \"link\" to link issues (default) or \"unlink\" to unlink issues."
},
"source": {
"type": "string",
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\")."
}
},
"required": [
"external_issue_id",
"source"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"external_issue_id\": {\n \"description\": \"The ID of the external issue in the source system.\",\n \"type\": \"string\",\n \"x-go-name\": \"ExternalIssueID\"\n },\n \"operation\": {\n \"description\": \"Operation to perform. Use \\\"link\\\" to link issues (default) or \\\"unlink\\\" to unlink issues.\",\n \"type\": \"string\",\n \"x-go-name\": \"Operation\"\n },\n \"source\": {\n \"description\": \"The source system of the external issue (e.g., \\\"linear\\\", \\\"asana\\\", \\\"jira\\\", \\\"github\\\").\",\n \"type\": \"string\",\n \"x-go-name\": \"Source\"\n }\n },\n \"required\": [\n \"external_issue_id\",\n \"source\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetIssueFollowers",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_issue_followers",
"description": {
"tagline": "Get followers of a specific issue to manage participation.",
"detailed": "This tool retrieves the list of users who are following a specified issue. Use this tool when you need to know who is engaging with or interested in updates about an issue."
},
"return_annotation": "List of followers for the specified issue.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_number",
"issue_identifier"
],
"description": "The unique ID or number of the issue to retrieve followers for.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/issues/{id}/followers",
"tags": [
"issues"
],
"summary": "",
"description": "Get followers of an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to get followers for."
},
"description": "The ID or number of the issue to get followers for.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "AddIssueFollowers",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_issue_followers",
"description": {
"tagline": "Add or remove followers for an issue.",
"detailed": "This tool allows you to add or remove followers to a specific issue. Use it when managing the users who should receive notifications about updates on an issue. Set the operation field to \"remove\" to remove followers."
},
"return_annotation": "Confirmation of follower update status.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_number",
"ticket_id"
],
"description": "The ID or number of the issue to add or remove followers from.",
"endpoint_argument_name": "id"
},
{
"name": "contact_ids_to_add",
"alternative_names": [
"contact_followers_ids",
"add_contact_follower_ids"
],
"description": "An array of contact IDs to add as followers to the issue. Each ID should be a string.",
"endpoint_argument_name": "contact_ids"
},
{
"name": "update_operation",
"alternative_names": [
"operation_type",
"follower_action"
],
"description": "Specify 'add' to add followers or 'remove' to remove them.",
"endpoint_argument_name": "operation"
},
{
"name": "user_ids_to_add_as_followers",
"alternative_names": [
"user_ids_for_followers",
"add_user_followers"
],
"description": "List of user IDs to add as followers to a specific issue.",
"endpoint_argument_name": "user_ids"
}
]
},
"method": "POST",
"path": "/issues/{id}/followers",
"tags": [
"issues"
],
"summary": "Add or remove followers to/from an issue.",
"description": "By default, adds followers. To remove followers, set the operation field to \"remove\".",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to add followers to."
},
"description": "The ID or number of the issue to add followers to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "contact_ids",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The IDs of contacts to add as followers."
},
"description": "The IDs of contacts to add as followers.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "array",
"description": "The IDs of contacts to add as followers.",
"items": {
"type": "string"
}
},
"schema_required": false
},
{
"name": "operation",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers."
},
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers."
},
"schema_required": false
},
{
"name": "user_ids",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The IDs of users to add as followers."
},
"description": "The IDs of users to add as followers.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "array",
"description": "The IDs of users to add as followers.",
"items": {
"type": "string"
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"contact_ids\": {\n \"description\": \"The IDs of contacts to add as followers.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"ContactIDs\"\n },\n \"operation\": {\n \"description\": \"Operation to perform. Use \\\"add\\\" to add followers (default) or \\\"remove\\\" to remove followers.\",\n \"type\": \"string\",\n \"x-go-name\": \"Operation\"\n },\n \"user_ids\": {\n \"description\": \"The IDs of users to add as followers.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"UserIDs\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "GetIssueMessages",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_issue_messages",
"description": {
"tagline": "Retrieve messages for a specific issue.",
"detailed": "This tool is used to obtain all messages associated with a particular issue, identified by its ID."
},
"return_annotation": "Messages related to a specific issue.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"ticket_id"
],
"description": "The unique ID of the issue for which to retrieve messages.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/issues/{id}/messages",
"tags": [
"messages"
],
"summary": "",
"description": "Get messages for an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to fetch messages for."
},
"description": "The ID of the issue to fetch messages for.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "RedactMessage",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "redact_message",
"description": {
"tagline": "Removes or hides the content of a specified message.",
"detailed": "Use this tool to redact (remove or hide) the content of a message identified by a specific message ID within an issue. This is useful for maintaining privacy or correcting errors."
},
"return_annotation": "Confirmation that the message has been redacted.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"ticket_id"
],
"description": "The ID of the issue associated with the message to be redacted.",
"endpoint_argument_name": "id"
},
{
"name": "message_id",
"alternative_names": [
"message_identifier",
"msg_id"
],
"description": "The unique identifier of the message to be redacted.",
"endpoint_argument_name": "message_id"
}
]
},
"method": "POST",
"path": "/issues/{id}/messages/{message_id}/redact",
"tags": [
"messages"
],
"summary": "",
"description": "Redact a message",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue that the message belongs to."
},
"description": "The ID of the issue that the message belongs to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "message_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to redact."
},
"description": "The ID of the message to redact.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateIssueNote",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_issue_note",
"description": {
"tagline": "Creates a note on an issue to track additional details.",
"detailed": "This tool should be called when there's a need to add a note or comment to an existing issue to provide further information or updates."
},
"return_annotation": "Confirmation of note creation on the issue.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"ticket_id"
],
"description": "The unique identifier of the issue to which the note will be added.",
"endpoint_argument_name": "id"
},
{
"name": "note_details_json",
"alternative_names": [
"note_content_json",
"issue_note_payload"
],
"description": "The JSON object containing note details like body_html, attachment_urls, message_id, thread_id, and user_id.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/issues/{id}/note",
"tags": [
"messages"
],
"summary": "",
"description": "Creates a note on an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"description": "The ID of the issue.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The body of the message in HTML."
},
"message_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided."
},
"thread_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID to post the message as. If not provided, the API token user will be used."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"attachment_urls": {
"type": "array",
"description": "An array of attachment URLs to attach to this issue.",
"items": {
"type": "string"
}
},
"body_html": {
"type": "string",
"description": "The body of the message in HTML."
},
"message_id": {
"type": "string",
"description": "The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided."
},
"thread_id": {
"type": "string",
"description": "The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided."
},
"user_id": {
"type": "string",
"description": "Optional user ID to post the message as. If not provided, the API token user will be used."
}
},
"required": [
"body_html"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this issue.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The body of the message in HTML.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"message_id\": {\n \"description\": \"The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"MessageID\"\n },\n \"thread_id\": {\n \"description\": \"The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"ThreadID\"\n },\n \"user_id\": {\n \"description\": \"Optional user ID to post the message as. If not provided, the API token user will be used.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "CreateIssueReply",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_issue_reply",
"description": {
"tagline": "Create a reply to an existing issue.",
"detailed": "Use this tool to add a comment or response to an existing issue when interaction or follow-up is required."
},
"return_annotation": "Confirmation of issue reply creation.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"problem_id",
"ticket_id"
],
"description": "The unique identifier of the issue to which you want to reply.",
"endpoint_argument_name": "id"
},
{
"name": "issue_reply_details",
"alternative_names": [
"issue_reply_content",
"issue_comment_data"
],
"description": "JSON object containing details like body_html, attachment URLs, and optional user or contact IDs for posting the reply. Also includes email information for cc, bcc, and to fields.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/issues/{id}/reply",
"tags": [
"messages"
],
"summary": "",
"description": "Creates a reply to an existing issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue."
},
"description": "The ID of the issue.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attachment_urls": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "An array of attachment URLs to attach to this issue."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The body of the message in HTML."
},
"contact_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided."
},
"email_info": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"bcc_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"cc_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"to_emails": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"inner_properties": null,
"description": null
},
"message_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the message to reply to."
},
"user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"attachment_urls": {
"type": "array",
"description": "An array of attachment URLs to attach to this issue.",
"items": {
"type": "string"
}
},
"body_html": {
"type": "string",
"description": "The body of the message in HTML."
},
"contact_id": {
"type": "string",
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided."
},
"email_info": {
"type": "object",
"properties": {
"bcc_emails": {
"type": "array",
"items": {
"type": "string"
}
},
"cc_emails": {
"type": "array",
"items": {
"type": "string"
}
},
"to_emails": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"message_id": {
"type": "string",
"description": "The ID of the message to reply to."
},
"user_id": {
"type": "string",
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided."
}
},
"required": [
"body_html",
"message_id"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"attachment_urls\": {\n \"description\": \"An array of attachment URLs to attach to this issue.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AttachmentURLs\"\n },\n \"body_html\": {\n \"description\": \"The body of the message in HTML.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"contact_id\": {\n \"description\": \"Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"ContactID\"\n },\n \"email_info\": {\n \"properties\": {\n \"bcc_emails\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"BccEmails\"\n },\n \"cc_emails\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"CcEmails\"\n },\n \"to_emails\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"ToEmails\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"message_id\": {\n \"description\": \"The ID of the message to reply to.\",\n \"type\": \"string\",\n \"x-go-name\": \"MessageID\"\n },\n \"user_id\": {\n \"description\": \"Optional user ID to post the message as. Only one of user_id or contact_id can be provided.\",\n \"type\": \"string\",\n \"x-go-name\": \"UserID\"\n }\n },\n \"required\": [\n \"body_html\",\n \"message_id\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "SnoozeIssue",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "snooze_issue",
"description": {
"tagline": "Temporarily pause notifications for an issue.",
"detailed": "Use this tool to snooze notifications for a specific issue temporarily. It is helpful when you want to focus elsewhere without getting alerts for the issue."
},
"return_annotation": "Confirmation of issue snooze action.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_number",
"issue_identifier"
],
"description": "The ID or number of the issue to snooze.",
"endpoint_argument_name": "id"
},
{
"name": "snooze_until_datetime",
"alternative_names": [
"pause_until",
"disable_notifications_until"
],
"description": "The date and time to snooze the issue until, using the RFC3339 format.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/issues/{id}/snooze",
"tags": [
"issues"
],
"summary": "",
"description": "Snooze an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID or number of the issue to snooze."
},
"description": "The ID or number of the issue to snooze.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"snooze_until": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date and time to snooze the issue until. (RFC3339)"
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"snooze_until": {
"type": "string",
"description": "The date and time to snooze the issue until. (RFC3339)"
}
},
"required": [
"snooze_until"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"snooze_until\": {\n \"description\": \"The date and time to snooze the issue until. (RFC3339)\",\n \"type\": \"string\",\n \"x-go-name\": \"SnoozeUntil\"\n }\n },\n \"required\": [\n \"snooze_until\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetIssueThreads",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_issue_threads",
"description": {
"tagline": "Retrieve threads for a specific issue.",
"detailed": "Call this tool to get all threads associated with a particular issue using its ID. Useful for tracking conversations or discussions related to an issue."
},
"return_annotation": "Threads related to the specified issue.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"issue_reference_id"
],
"description": "The unique ID of the issue for which threads need to be retrieved.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/issues/{id}/threads",
"tags": [
"messages"
],
"summary": "",
"description": "Get threads for an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to fetch threads for."
},
"description": "The ID of the issue to fetch threads for.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateIssueThread",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_issue_thread",
"description": {
"tagline": "Create an issue thread for an existing issue.",
"detailed": "Use this tool to initiate a discussion thread related to a specific issue by providing the issue ID. This helps in organizing conversations around particular issues efficiently."
},
"return_annotation": "Details of the created issue thread.",
"arguments": [
{
"name": "issue_id",
"alternative_names": [
"issue_identifier",
"issue_reference"
],
"description": "The ID for the issue you want to create a thread for. Required to link the thread to the correct issue.",
"endpoint_argument_name": "id"
},
{
"name": "thread_name",
"alternative_names": [
"discussion_title",
"conversation_title"
],
"description": "The title or name of the thread to be created. This should be descriptive of the discussion purpose.",
"endpoint_argument_name": "name"
}
]
},
"method": "POST",
"path": "/issues/{id}/threads",
"tags": [
"messages"
],
"summary": "",
"description": "Create an issue thread for an issue",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the issue to create a thread for."
},
"description": "The ID of the issue to create a thread for.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the thread."
},
"description": "The name of the thread.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The name of the thread."
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the thread.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "GetKnowledgeBases",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_knowledge_bases",
"description": {
"tagline": "Retrieve all available knowledge bases.",
"detailed": "This tool is called to get a list of all knowledge bases from the Pylon service."
},
"return_annotation": "List of all available knowledge bases.",
"arguments": []
},
"method": "GET",
"path": "/knowledge-bases",
"tags": [
"knowledge-bases"
],
"summary": "",
"description": "Get all knowledge bases",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetKnowledgeBase",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_knowledge_base_by_id",
"description": {
"tagline": "Retrieve a knowledge base using its ID.",
"detailed": "Use this tool to fetch information about a specific knowledge base by providing its ID."
},
"return_annotation": "Details of the specified knowledge base.",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"knowledge_base_identifier",
"id_of_knowledge_base"
],
"description": "The unique identifier for the knowledge base to be retrieved.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/knowledge-bases/{id}",
"tags": [
"knowledge-bases"
],
"summary": "",
"description": "Get a knowledge base by its ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base."
},
"description": "The ID of the knowledge base.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateArticle",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_knowledge_base_article",
"description": {
"tagline": "Create and publish an article in a knowledge base.",
"detailed": "This tool allows the creation of a new article in a specified knowledge base, including optional translations. If the article is set to publish, translations will also be published."
},
"return_annotation": "Details about the created article and its translations.",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"kb_identifier",
"knowledge_base_identifier"
],
"description": "The unique identifier for the knowledge base where the article will be added.",
"endpoint_argument_name": "id"
},
{
"name": "article_details",
"alternative_names": [
"article_content",
"article_information"
],
"description": "JSON object containing details of the article such as author ID, HTML body, title, and any translations. Includes configuration for publication, visibility, and access.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/knowledge-bases/{id}/articles",
"tags": [
"articles"
],
"summary": "Create a new article",
"description": "This endpoint creates a new article in the specified knowledge base. If translations are provided, they will also be created and associated with the article. If the article is published, the translations will also be published.",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base the article is being added to."
},
"description": "The ID of the knowledge base the article is being added to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"author_user_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user attributed as the author of the article."
},
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML body of the article."
},
"collection_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the collection associated to the article"
},
"is_published": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the article should be published. Defaults to false."
},
"is_unlisted": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the article can only be accessible only via direct link. Defaults to false."
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the article. Defaults to a slug based on the title."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The title of the article."
},
"translations": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The translated HTML body of the article."
},
"language": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The language code of the translation. Supported language codes can be found in https://docs.usepylon.com/pylon-docs/knowledge-base/translation#supported-language-codes."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The translated title of the article."
}
},
"description": "Translations of the article content in different languages"
},
"visibility_config": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"ai_agent_access": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"inherit",
"none",
"specific_agents"
],
"properties": null,
"inner_properties": null,
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access."
},
"allowed_agent_ids": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\"."
},
"customer_visibility_condition": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"field": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
],
"properties": null,
"inner_properties": null,
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset."
},
"subfilters": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {},
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\")."
}
},
"inner_properties": null,
"description": null
},
"visibility": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"public",
"customer",
"internal_only"
],
"properties": null,
"inner_properties": null,
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly"
}
},
"inner_properties": null,
"description": null
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"author_user_id": {
"type": "string",
"description": "The ID of the user attributed as the author of the article."
},
"body_html": {
"type": "string",
"description": "The HTML body of the article."
},
"collection_id": {
"type": "string",
"description": "The id of the collection associated to the article"
},
"is_published": {
"type": "boolean",
"description": "Whether the article should be published. Defaults to false."
},
"is_unlisted": {
"type": "boolean",
"description": "Whether the article can only be accessible only via direct link. Defaults to false."
},
"slug": {
"type": "string",
"description": "The slug of the article. Defaults to a slug based on the title."
},
"title": {
"type": "string",
"description": "The title of the article."
},
"translations": {
"type": "array",
"description": "Translations of the article content in different languages",
"items": {
"type": "object",
"properties": {
"body_html": {
"type": "string",
"description": "The translated HTML body of the article."
},
"language": {
"type": "string",
"description": "The language code of the translation. Supported language codes can be found in https://docs.usepylon.com/pylon-docs/knowledge-base/translation#supported-language-codes."
},
"title": {
"type": "string",
"description": "The translated title of the article."
}
},
"required": [
"body_html",
"language",
"title"
]
}
},
"visibility_config": {
"type": "object",
"properties": {
"ai_agent_access": {
"type": "string",
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
"enum": [
"inherit",
"none",
"specific_agents"
]
},
"allowed_agent_ids": {
"type": "array",
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\".",
"items": {
"type": "string"
}
},
"customer_visibility_condition": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"type": "string",
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
]
},
"subfilters": {
"type": "array",
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
"items": {
"type": "object",
"properties": {}
}
},
"value": {
"type": "string",
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"type": "array",
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
"items": {
"type": "string"
}
}
},
"required": [
"field",
"operator"
]
},
"visibility": {
"type": "string",
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly",
"enum": [
"public",
"customer",
"internal_only"
]
}
}
}
},
"required": [
"author_user_id",
"body_html",
"title"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"author_user_id\": {\n \"description\": \"The ID of the user attributed as the author of the article.\",\n \"type\": \"string\",\n \"x-go-name\": \"AuthorUserId\"\n },\n \"body_html\": {\n \"description\": \"The HTML body of the article.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"collection_id\": {\n \"description\": \"The id of the collection associated to the article\",\n \"type\": \"string\",\n \"x-go-name\": \"CollectionID\"\n },\n \"is_published\": {\n \"description\": \"Whether the article should be published. Defaults to false.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsPublished\"\n },\n \"is_unlisted\": {\n \"description\": \"Whether the article can only be accessible only via direct link. Defaults to false.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsUnlisted\"\n },\n \"slug\": {\n \"description\": \"The slug of the article. Defaults to a slug based on the title.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"title\": {\n \"description\": \"The title of the article.\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n },\n \"translations\": {\n \"description\": \"Translations of the article content in different languages\",\n \"items\": {\n \"properties\": {\n \"body_html\": {\n \"description\": \"The translated HTML body of the article.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"language\": {\n \"description\": \"The language code of the translation. Supported language codes can be found in https://docs.usepylon.com/pylon-docs/knowledge-base/translation#supported-language-codes.\",\n \"type\": \"string\",\n \"x-go-name\": \"Language\"\n },\n \"title\": {\n \"description\": \"The translated title of the article.\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n }\n },\n \"required\": [\n \"body_html\",\n \"language\",\n \"title\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Translations\"\n },\n \"visibility_config\": {\n \"properties\": {\n \"ai_agent_access\": {\n \"description\": \"AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\\n\\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\\n\\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\\n\\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.\",\n \"enum\": [\n \"inherit\",\n \"none\",\n \"specific_agents\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\\nnone KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\\nspecific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.\",\n \"x-go-name\": \"AiAgentAccess\"\n },\n \"allowed_agent_ids\": {\n \"description\": \"List of AI agent IDs that may access this article when ai_agent_access is set to \\\"specific_agents\\\".\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AllowedAgentIDs\"\n },\n \"customer_visibility_condition\": {\n \"properties\": {\n \"field\": {\n \"description\": \"The field for this filter. For allowed fields, see the documentation for\\n\\nthe specific endpoint you are using.\\n\\nFor non-compound filters (any operators other than \\\"and\\\" or \\\"or\\\"),\\n\\nField must be set, along with either Value or Values, depending on the operator.\",\n \"type\": \"string\",\n \"x-go-name\": \"Field\"\n },\n \"operator\": {\n \"description\": \"The operator for this filter.\\n\\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\n\\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\n\\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\n\\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\n\\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\n\\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\n\\n* and FilterOperatorAnd Matches objects only if all subfilters match.\\n\\n* or FilterOperatorOr Matches objects if any subfilter matches.\\n\\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\n\\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\n\\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\n\\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\n\\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\n\\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\n\\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"enum\": [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"does_not_contain\",\n \"in\",\n \"not_in\",\n \"and\",\n \"or\",\n \"time_is_after\",\n \"time_is_before\",\n \"time_range\",\n \"string_contains\",\n \"string_does_not_contain\",\n \"is_set\",\n \"is_unset\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\nand FilterOperatorAnd Matches objects only if all subfilters match.\\nor FilterOperatorOr Matches objects if any subfilter matches.\\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"x-go-name\": \"Operator\"\n },\n \"subfilters\": {\n \"description\": \"Sub-filters for this filter. Valid only when operator is \\\"and\\\" or \\\"or\\\".\\n\\nThe maximum allowed depth for a tree of filters is 3.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Filter\",\n \"has_circular_reference\": true\n },\n \"type\": \"array\",\n \"x-go-name\": \"Subfilters\"\n },\n \"value\": {\n \"description\": \"The value for this filter. Only used for single-valued operators\\n\\n(\\\"equals\\\", \\\"not_equals\\\", \\\"contains\\\", \\\"does_not_contain\\\")\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values for this filter. Only used for multi-valued operators (\\\"in\\\", \\\"not_in\\\").\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"required\": [\n \"field\",\n \"operator\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"visibility\": {\n \"description\": \"The visibility setting of the article.\\n\\n* public KnowledgeBaseArticleVisibilityPublic\\n\\n* customer KnowledgeBaseArticleVisibilityCustomer\\n\\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly\",\n \"enum\": [\n \"public\",\n \"customer\",\n \"internal_only\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"public KnowledgeBaseArticleVisibilityPublic\\ncustomer KnowledgeBaseArticleVisibilityCustomer\\ninternal_only KnowledgeBaseArticleVisibilityInternalOnly\",\n \"x-go-name\": \"Visibility\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n }\n },\n \"required\": [\n \"author_user_id\",\n \"body_html\",\n \"title\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "DeleteArticle",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_article",
"description": {
"tagline": "Delete an existing article from a knowledge base.",
"detailed": "Call this tool to remove an article from a knowledge base by specifying the knowledge base and article IDs."
},
"return_annotation": "Confirmation of the article deletion",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"kb_id",
"base_id"
],
"description": "The KnowledgeBaseID of the article to delete.",
"endpoint_argument_name": "id"
},
{
"name": "article_id",
"alternative_names": [
"article_identifier",
"article_key"
],
"description": "The ID of the article that needs to be deleted from the knowledge base.",
"endpoint_argument_name": "article_id"
}
]
},
"method": "DELETE",
"path": "/knowledge-bases/{id}/articles/{article_id}",
"tags": [
"articles"
],
"summary": "",
"description": "Delete an existing article",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The KnowledgeBaseID of the article to delete."
},
"description": "The KnowledgeBaseID of the article to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "article_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the article to delete."
},
"description": "The ID of the article to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateArticle",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_article",
"description": {
"tagline": "Update the content of an existing article.",
"detailed": "Use this tool to modify the content or details of an existing article in a knowledge base when updates are needed."
},
"return_annotation": "Details of the updated article.",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"knowledgebase_id",
"kb_id"
],
"description": "The identifier for the knowledge base where the article to be updated is located.",
"endpoint_argument_name": "id"
},
{
"name": "article_id",
"alternative_names": [
"article_identifier",
"article_key"
],
"description": "Specify the unique identifier of the article you want to update in the knowledge base.",
"endpoint_argument_name": "article_id"
},
{
"name": "article_update_details",
"alternative_names": [
"update_content_details",
"content_update_request"
],
"description": "A JSON object containing details such as body HTML, title, language, visibility settings, AI agent access, and publication status for updating the article.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "PATCH",
"path": "/knowledge-bases/{id}/articles/{article_id}",
"tags": [
"articles"
],
"summary": "",
"description": "Update an existing article",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The KnowledgeBaseID of the article to update."
},
"description": "The KnowledgeBaseID of the article to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "article_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the article to update."
},
"description": "The ID of the article to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"body_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The HTML body of the article."
},
"language": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The language code of the translation to update. If not provided, the default language (original article) will be updated."
},
"publish_updated_body_html": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the changes to the article should be published. Defaults to false."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The title of the article."
},
"visibility_config": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"ai_agent_access": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"inherit",
"none",
"specific_agents"
],
"properties": null,
"inner_properties": null,
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access."
},
"allowed_agent_ids": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\"."
},
"customer_visibility_condition": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"field": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
],
"properties": null,
"inner_properties": null,
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset."
},
"subfilters": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {},
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\")."
}
},
"inner_properties": null,
"description": null
},
"visibility": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"public",
"customer",
"internal_only"
],
"properties": null,
"inner_properties": null,
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly"
}
},
"inner_properties": null,
"description": null
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"body_html": {
"type": "string",
"description": "The HTML body of the article."
},
"language": {
"type": "string",
"description": "The language code of the translation to update. If not provided, the default language (original article) will be updated."
},
"publish_updated_body_html": {
"type": "boolean",
"description": "Whether the changes to the article should be published. Defaults to false."
},
"title": {
"type": "string",
"description": "The title of the article."
},
"visibility_config": {
"type": "object",
"properties": {
"ai_agent_access": {
"type": "string",
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
"enum": [
"inherit",
"none",
"specific_agents"
]
},
"allowed_agent_ids": {
"type": "array",
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\".",
"items": {
"type": "string"
}
},
"customer_visibility_condition": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"type": "string",
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
]
},
"subfilters": {
"type": "array",
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
"items": {
"type": "object",
"properties": {}
}
},
"value": {
"type": "string",
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"type": "array",
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
"items": {
"type": "string"
}
}
},
"required": [
"field",
"operator"
]
},
"visibility": {
"type": "string",
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly",
"enum": [
"public",
"customer",
"internal_only"
]
}
}
}
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"body_html\": {\n \"description\": \"The HTML body of the article.\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"language\": {\n \"description\": \"The language code of the translation to update. If not provided, the default language (original article) will be updated.\",\n \"type\": \"string\",\n \"x-go-name\": \"Language\"\n },\n \"publish_updated_body_html\": {\n \"description\": \"Whether the changes to the article should be published. Defaults to false.\",\n \"type\": \"boolean\",\n \"x-go-name\": \"PublishUpdatedBodyHTML\"\n },\n \"title\": {\n \"description\": \"The title of the article.\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n },\n \"visibility_config\": {\n \"properties\": {\n \"ai_agent_access\": {\n \"description\": \"AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\\n\\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\\n\\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\\n\\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.\",\n \"enum\": [\n \"inherit\",\n \"none\",\n \"specific_agents\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\\nnone KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\\nspecific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.\",\n \"x-go-name\": \"AiAgentAccess\"\n },\n \"allowed_agent_ids\": {\n \"description\": \"List of AI agent IDs that may access this article when ai_agent_access is set to \\\"specific_agents\\\".\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"AllowedAgentIDs\"\n },\n \"customer_visibility_condition\": {\n \"properties\": {\n \"field\": {\n \"description\": \"The field for this filter. For allowed fields, see the documentation for\\n\\nthe specific endpoint you are using.\\n\\nFor non-compound filters (any operators other than \\\"and\\\" or \\\"or\\\"),\\n\\nField must be set, along with either Value or Values, depending on the operator.\",\n \"type\": \"string\",\n \"x-go-name\": \"Field\"\n },\n \"operator\": {\n \"description\": \"The operator for this filter.\\n\\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\n\\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\n\\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\n\\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\n\\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\n\\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\n\\n* and FilterOperatorAnd Matches objects only if all subfilters match.\\n\\n* or FilterOperatorOr Matches objects if any subfilter matches.\\n\\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\n\\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\n\\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\n\\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\n\\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\n\\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\n\\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"enum\": [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"does_not_contain\",\n \"in\",\n \"not_in\",\n \"and\",\n \"or\",\n \"time_is_after\",\n \"time_is_before\",\n \"time_range\",\n \"string_contains\",\n \"string_does_not_contain\",\n \"is_set\",\n \"is_unset\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\nand FilterOperatorAnd Matches objects only if all subfilters match.\\nor FilterOperatorOr Matches objects if any subfilter matches.\\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"x-go-name\": \"Operator\"\n },\n \"subfilters\": {\n \"description\": \"Sub-filters for this filter. Valid only when operator is \\\"and\\\" or \\\"or\\\".\\n\\nThe maximum allowed depth for a tree of filters is 3.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Filter\",\n \"has_circular_reference\": true\n },\n \"type\": \"array\",\n \"x-go-name\": \"Subfilters\"\n },\n \"value\": {\n \"description\": \"The value for this filter. Only used for single-valued operators\\n\\n(\\\"equals\\\", \\\"not_equals\\\", \\\"contains\\\", \\\"does_not_contain\\\")\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values for this filter. Only used for multi-valued operators (\\\"in\\\", \\\"not_in\\\").\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"required\": [\n \"field\",\n \"operator\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"visibility\": {\n \"description\": \"The visibility setting of the article.\\n\\n* public KnowledgeBaseArticleVisibilityPublic\\n\\n* customer KnowledgeBaseArticleVisibilityCustomer\\n\\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly\",\n \"enum\": [\n \"public\",\n \"customer\",\n \"internal_only\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"public KnowledgeBaseArticleVisibilityPublic\\ncustomer KnowledgeBaseArticleVisibilityCustomer\\ninternal_only KnowledgeBaseArticleVisibilityInternalOnly\",\n \"x-go-name\": \"Visibility\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetCollections",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "list_collections_in_knowledge_base",
"description": {
"tagline": "List all collections in a knowledge base.",
"detailed": "Use this tool to retrieve all collections within a specific knowledge base. Useful for accessing organized information in structured formats."
},
"return_annotation": "A list of collections in the specified knowledge base.",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"base_id",
"kb_id"
],
"description": "The ID of the knowledge base to list the collections from.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/knowledge-bases/{id}/collections",
"tags": [
"collections"
],
"summary": "",
"description": "List all collections in a knowledge base",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base"
},
"description": "The ID of the knowledge base",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateCollection",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_new_collection",
"description": {
"tagline": "Create a new collection in a knowledge base.",
"detailed": "This tool is used to create a new collection within a specified knowledge base by providing the knowledge base ID."
},
"return_annotation": "Confirmation of new collection creation.",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"kb_id",
"knowledge_id"
],
"description": "The unique identifier for the knowledge base where the new collection will be created.",
"endpoint_argument_name": "id"
},
{
"name": "collection_details",
"alternative_names": [
"new_collection_data",
"collection_creation_details"
],
"description": "JSON object containing 'title', 'description', 'slug', and 'parent_collection_id' for the new collection.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/knowledge-bases/{id}/collections",
"tags": [
"collections"
],
"summary": "",
"description": "Create a new collection",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base the article is being added to."
},
"description": "The ID of the knowledge base the article is being added to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"description": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description of the collection."
},
"parent_collection_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The id of the collection associated to the article"
},
"slug": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The slug of the collection. Defaults to a slug based on the title."
},
"title": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The title of the collection."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the collection."
},
"parent_collection_id": {
"type": "string",
"description": "The id of the collection associated to the article"
},
"slug": {
"type": "string",
"description": "The slug of the collection. Defaults to a slug based on the title."
},
"title": {
"type": "string",
"description": "The title of the collection."
}
},
"required": [
"title"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"description\": {\n \"description\": \"Description of the collection.\",\n \"type\": \"string\",\n \"x-go-name\": \"Description\"\n },\n \"parent_collection_id\": {\n \"description\": \"The id of the collection associated to the article\",\n \"type\": \"string\",\n \"x-go-name\": \"ParentCollectionID\"\n },\n \"slug\": {\n \"description\": \"The slug of the collection. Defaults to a slug based on the title.\",\n \"type\": \"string\",\n \"x-go-name\": \"Slug\"\n },\n \"title\": {\n \"description\": \"The title of the collection.\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n }\n },\n \"required\": [\n \"title\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetCollection",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_collection_by_id",
"description": {
"tagline": "Retrieve a specific collection using its ID.",
"detailed": "Use this tool to obtain detailed information about a particular collection by supplying the collection ID. The collection belongs to a specific knowledge base. Ideal for retrieving specific datasets or information collections within larger systems."
},
"return_annotation": "Detailed information about a specific collection.",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"base_id",
"kb_id"
],
"description": "The ID of the knowledge base to which the collection belongs.",
"endpoint_argument_name": "id"
},
{
"name": "collection_id",
"alternative_names": [
"collection_identifier",
"collection_key"
],
"description": "The unique ID of the collection to be retrieved from the knowledge base.",
"endpoint_argument_name": "collection_id"
}
]
},
"method": "GET",
"path": "/knowledge-bases/{id}/collections/{collection_id}",
"tags": [
"collections"
],
"summary": "",
"description": "Get a specific collection by ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base"
},
"description": "The ID of the knowledge base",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "collection_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the collection"
},
"description": "The ID of the collection",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateRouteRedirect",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_route_redirect",
"description": {
"tagline": "Create a new route redirect for a knowledge base.",
"detailed": "This tool is used to create a new route redirect within a specified knowledge base. It should be called when you need to add a redirect to manage or alter the routing within a knowledge base."
},
"return_annotation": "Confirmation of route redirect creation.",
"arguments": [
{
"name": "knowledge_base_id",
"alternative_names": [
"kb_id",
"knowledge_base_identifier"
],
"description": "The unique identifier for the knowledge base where the route redirect will be added.",
"endpoint_argument_name": "id"
},
{
"name": "route_redirect_details",
"alternative_names": [
"redirect_details",
"redirection_payload"
],
"description": "JSON object with details for creating the route redirect, including 'from_path', 'language', 'object_id', and 'object_type'.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/knowledge-bases/{id}/route-redirects",
"tags": [
"route-redirects"
],
"summary": "",
"description": "Create a new route redirect",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the knowledge base the route redirect is being added to."
},
"description": "The ID of the knowledge base the route redirect is being added to.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"from_path": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The path to redirect from."
},
"language": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Language of the object to redirect to. If not specified, the default language of the knowledge base will be used."
},
"object_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the object to redirect to."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The type of the object to redirect to. This must be \"article\"."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"from_path": {
"type": "string",
"description": "The path to redirect from."
},
"language": {
"type": "string",
"description": "Language of the object to redirect to. If not specified, the default language of the knowledge base will be used."
},
"object_id": {
"type": "string",
"description": "The ID of the object to redirect to."
},
"object_type": {
"type": "string",
"description": "The type of the object to redirect to. This must be \"article\"."
}
},
"required": [
"from_path",
"object_id",
"object_type"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"from_path\": {\n \"description\": \"The path to redirect from.\",\n \"type\": \"string\",\n \"x-go-name\": \"FromPath\"\n },\n \"language\": {\n \"description\": \"Language of the object to redirect to. If not specified, the default language of the knowledge base will be used.\",\n \"type\": \"string\",\n \"x-go-name\": \"Language\"\n },\n \"object_id\": {\n \"description\": \"The ID of the object to redirect to.\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectID\"\n },\n \"object_type\": {\n \"description\": \"The type of the object to redirect to. This must be \\\"article\\\".\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectType\"\n }\n },\n \"required\": [\n \"from_path\",\n \"object_id\",\n \"object_type\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetMe",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_organization_details",
"description": {
"tagline": "Retrieve details of the current organization.",
"detailed": "Use this tool to get information about the organization linked to the given API token, like name, address, and other relevant details."
},
"return_annotation": "Organization details associated with the API token.",
"arguments": []
},
"method": "GET",
"path": "/me",
"tags": [
"me"
],
"summary": "",
"description": "Get details of the organization associated with the API token",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateMilestone",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_milestone",
"description": {
"tagline": "Create a new milestone in a project management system.",
"detailed": "This tool is used to create a milestone within a project management application. It should be called when there's a need to add a new milestone to track progress or set goals in a project. The tool confirms the creation of the milestone."
},
"return_annotation": "Confirmation of the milestone creation.",
"arguments": [
{
"name": "milestone_name",
"alternative_names": [
"milestone_title",
"milestone_label"
],
"description": "The name of the milestone to be created. This is the title that will be displayed for the milestone.",
"endpoint_argument_name": "name"
},
{
"name": "project_id_for_milestone",
"alternative_names": [
"milestone_project_id",
"project_reference_id"
],
"description": "The unique identifier for the project to which this milestone belongs. Required for associating the milestone with the correct project.",
"endpoint_argument_name": "project_id"
},
{
"name": "milestone_due_date",
"alternative_names": [
"deadline",
"completion_date"
],
"description": "Due date for this milestone in RFC 3339 format (e.g., 2023-12-31T23:59:59Z).",
"endpoint_argument_name": "due_date"
},
{
"name": "account_id_for_project",
"alternative_names": [
"project_account_id",
"account_identifier"
],
"description": "Account ID for the project. This is needed to associate the milestone with the correct account.",
"endpoint_argument_name": "account_id"
}
]
},
"method": "POST",
"path": "/milestones",
"tags": [
"milestones"
],
"summary": "",
"description": "Create a milestone",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this milestone"
},
"description": "Name for this milestone",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "due_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this milestone, in RFC 3339 format"
},
"description": "Due date for this milestone, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "project_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this milestone"
},
"description": "Project ID for this milestone",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "account_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this project"
},
"description": "Account ID for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "DeleteMilestone",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_milestone",
"description": {
"tagline": "Delete a specific milestone using its ID.",
"detailed": "Use this tool to remove a milestone by providing its unique ID. This operation is irreversible and should be used when a milestone is no longer needed."
},
"return_annotation": "Confirmation of milestone deletion.",
"arguments": [
{
"name": "milestone_id",
"alternative_names": [
"milestone_identifier",
"milestone_key"
],
"description": "The unique ID of the milestone to be deleted. Ensure it is correct as this action is irreversible.",
"endpoint_argument_name": "id"
}
]
},
"method": "DELETE",
"path": "/milestones/{id}",
"tags": [
"milestones"
],
"summary": "",
"description": "Delete a milestone",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the milestone to delete."
},
"description": "The ID of the milestone to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateMilestone",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_milestone",
"description": {
"tagline": "Updates the details of a specific milestone.",
"detailed": "This tool is used to update information for a specific milestone in a project, identified by its ID."
},
"return_annotation": "Confirmation of milestone update.",
"arguments": [
{
"name": "milestone_id",
"alternative_names": [
"milestone_identifier",
"id_of_milestone"
],
"description": "The unique ID of the milestone to update.",
"endpoint_argument_name": "id"
},
{
"name": "milestone_due_date",
"alternative_names": [
"deadline_for_milestone",
"milestone_end_date"
],
"description": "The due date for the milestone in RFC 3339 format (e.g., 2023-10-21T00:00:00Z).",
"endpoint_argument_name": "due_date"
},
{
"name": "milestone_name",
"alternative_names": [
"milestone_title",
"milestone_label"
],
"description": "The new name for the milestone you want to update.",
"endpoint_argument_name": "name"
}
]
},
"method": "PATCH",
"path": "/milestones/{id}",
"tags": [
"milestones"
],
"summary": "",
"description": "Update a milestone",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the milestone to update."
},
"description": "The ID of the milestone to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "due_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this milestone, in RFC 3339 format"
},
"description": "Due date for this milestone, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Due date for this milestone, in RFC 3339 format"
},
"schema_required": false
},
{
"name": "name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this milestone"
},
"description": "Name for this milestone",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Name for this milestone"
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"due_date\": {\n \"description\": \"Due date for this milestone, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"DueDate\"\n },\n \"name\": {\n \"description\": \"Name for this milestone\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "CreateProject",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_new_project",
"description": {
"tagline": "Create a new project seamlessly.",
"detailed": "This tool is used to create a new project. It should be called when a user wants to initialize or start a new project within a system."
},
"return_annotation": "Details about the newly created project.",
"arguments": [
{
"name": "project_name",
"alternative_names": [
"project_title",
"project_identifier"
],
"description": "The name for the new project. This should be a descriptive and unique name to easily identify the project.",
"endpoint_argument_name": "name"
},
{
"name": "account_id_for_project",
"alternative_names": [
"project_account_id",
"associated_account_id"
],
"description": "Account ID associated with the project. This identifies the account under which the project will be created.",
"endpoint_argument_name": "account_id"
},
{
"name": "project_description_html",
"alternative_names": [
"html_description_for_project",
"project_html_details"
],
"description": "HTML formatted description for the project, including any necessary tags and formatting.",
"endpoint_argument_name": "description_html"
},
{
"name": "start_date",
"alternative_names": [
"project_start_date",
"initiation_date"
],
"description": "Start date for the project in RFC 3339 format (e.g., 2023-03-10T14:00:00Z).",
"endpoint_argument_name": "start_date"
},
{
"name": "project_end_date",
"alternative_names": [
"end_project_date",
"completion_date"
],
"description": "End date for the project in RFC 3339 format. Indicates when the project is expected to be finished.",
"endpoint_argument_name": "end_date"
},
{
"name": "project_owner_id",
"alternative_names": [
"owner_identifier",
"project_leader_id"
],
"description": "The unique identifier for the owner of the project. This is a string that specifies who will be managing or leading the project.",
"endpoint_argument_name": "owner_id"
},
{
"name": "project_template_id",
"alternative_names": [
"template_identifier",
"project_template_identifier"
],
"description": "The ID of the template to be used for creating this project. It should match an existing project template ID.",
"endpoint_argument_name": "project_template_id"
},
{
"name": "customer_portal_visible",
"alternative_names": [
"show_in_customer_portal",
"display_on_customer_portal"
],
"description": "Boolean indicating if the project should be visible in the customer portal. True makes it visible.",
"endpoint_argument_name": "customer_portal_visible"
}
]
},
"method": "POST",
"path": "/projects",
"tags": [
"projects"
],
"summary": "",
"description": "Create a project",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"description": "Name for this project",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "description_html",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"description": "Description HTML for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "customer_portal_visible",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"description": "Customer portal visible for this project",
"required": false,
"deprecated": false,
"default": false,
"location": "query",
"content_type": null,
"json_schema": {
"type": "boolean"
},
"schema_required": false
},
{
"name": "start_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
},
"description": "Start date for this project, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "end_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"description": "End date for this project, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "account_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this project"
},
"description": "Account ID for this project",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "owner_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"description": "Owner ID for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "project_template_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project template ID for this project"
},
"description": "Project template ID for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "DeleteProject",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_existing_project",
"description": {
"tagline": "Delete an existing project using its ID.",
"detailed": "Use this tool to delete an existing project by providing the project ID. It allows you to manage and remove projects that are no longer needed."
},
"return_annotation": "Confirmation of project deletion.",
"arguments": [
{
"name": "project_id",
"alternative_names": [
"id_of_project",
"project_identifier"
],
"description": "The unique identifier of the project to be deleted.",
"endpoint_argument_name": "id"
}
]
},
"method": "DELETE",
"path": "/projects/{id}",
"tags": [
"projects"
],
"summary": "",
"description": "Delete an existing project",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the project to delete."
},
"description": "The ID of the project to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateProject",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_project",
"description": {
"tagline": "Update the details of an existing project.",
"detailed": "Use this tool to modify the information of an existing project by providing the project ID and necessary updates."
},
"return_annotation": "Confirmation that the project was updated.",
"arguments": [
{
"name": "project_id",
"alternative_names": [
"identifier",
"project_identifier"
],
"description": "The unique identifier of the project to update.",
"endpoint_argument_name": "id"
},
{
"name": "project_name",
"alternative_names": [
"project_title",
"name_for_project"
],
"description": "The new name for this project. Provide a descriptive title to identify the project.",
"endpoint_argument_name": "name"
},
{
"name": "project_description_html",
"alternative_names": [
"html_description",
"project_desc_html"
],
"description": "HTML formatted description for the project.",
"endpoint_argument_name": "description_html"
},
{
"name": "start_date_rfc3339",
"alternative_names": [
"project_start_date",
"initiation_date"
],
"description": "The start date for the project, formatted in RFC 3339. This specifies when the project begins.",
"endpoint_argument_name": "start_date"
},
{
"name": "project_end_date",
"alternative_names": [
"completion_date",
"finish_date"
],
"description": "The end date for the project in RFC 3339 format.",
"endpoint_argument_name": "end_date"
},
{
"name": "project_owner_id",
"alternative_names": [
"project_lead_id",
"owner_identifier"
],
"description": "The unique identifier of the owner of this project. Required to assign an owner when updating a project.",
"endpoint_argument_name": "owner_id"
},
{
"name": "project_update_details",
"alternative_names": [
"update_details",
"edit_details"
],
"description": "A JSON object containing the project's update details such as name, description, visibility, dates, owner ID, and archive status.",
"endpoint_argument_name": "requestBody"
},
{
"name": "is_customer_portal_visible",
"alternative_names": [
"customer_portal_visible_status",
"visibility_for_customer_portal"
],
"description": "Indicate if the project should be visible in the customer portal (true for visible, false for hidden).",
"endpoint_argument_name": "customer_portal_visible"
},
{
"name": "is_project_archived",
"alternative_names": [
"archive_project_status",
"set_archive_status"
],
"description": "Set to True if the project is archived, False if it is active.",
"endpoint_argument_name": "is_archived"
}
]
},
"method": "PATCH",
"path": "/projects/{id}",
"tags": [
"projects"
],
"summary": "",
"description": "Update a project",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"description": "Name for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "description_html",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"description": "Description HTML for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "customer_portal_visible",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"description": "Customer portal visible for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "boolean"
},
"schema_required": false
},
{
"name": "start_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
},
"description": "Start date for this project, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "end_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"description": "End date for this project, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "owner_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"description": "Owner ID for this project",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "is_archived",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the project is archived"
},
"description": "Whether the project is archived",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "boolean"
},
"schema_required": false
}
],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the project to update."
},
"description": "The ID of the project to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"customer_portal_visible": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this project"
},
"description_html": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Description HTML for this project"
},
"end_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "End date for this project, in RFC 3339 format"
},
"is_archived": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Whether the project is archived"
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Name for this project"
},
"owner_id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Owner ID for this project"
},
"start_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Start date for this project, in RFC 3339 format"
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"customer_portal_visible": {
"type": "boolean",
"description": "Customer portal visible for this project"
},
"description_html": {
"type": "string",
"description": "Description HTML for this project"
},
"end_date": {
"type": "string",
"description": "End date for this project, in RFC 3339 format"
},
"is_archived": {
"type": "boolean",
"description": "Whether the project is archived"
},
"name": {
"type": "string",
"description": "Name for this project"
},
"owner_id": {
"type": "string",
"description": "Owner ID for this project"
},
"start_date": {
"type": "string",
"description": "Start date for this project, in RFC 3339 format"
}
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"customer_portal_visible\": {\n \"description\": \"Customer portal visible for this project\",\n \"type\": \"boolean\",\n \"x-go-name\": \"CustomerPortalVisible\"\n },\n \"description_html\": {\n \"description\": \"Description HTML for this project\",\n \"type\": \"string\",\n \"x-go-name\": \"DescriptionHTML\"\n },\n \"end_date\": {\n \"description\": \"End date for this project, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"EndDate\"\n },\n \"is_archived\": {\n \"description\": \"Whether the project is archived\",\n \"type\": \"boolean\",\n \"x-go-name\": \"IsArchived\"\n },\n \"name\": {\n \"description\": \"Name for this project\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"owner_id\": {\n \"description\": \"Owner ID for this project\",\n \"type\": \"string\",\n \"x-go-name\": \"OwnerID\"\n },\n \"start_date\": {\n \"description\": \"Start date for this project, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"StartDate\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "GetTags",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "fetch_all_tags",
"description": {
"tagline": "Retrieve all available tags.",
"detailed": "Use this tool to obtain a comprehensive list of all tags. It is ideal for scenarios where you need to display or manage tags."
},
"return_annotation": "A list of all available tags.",
"arguments": []
},
"method": "GET",
"path": "/tags",
"tags": [
"tags"
],
"summary": "",
"description": "Get all tags",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateTag",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_new_tag",
"description": {
"tagline": "Create a new tag within the system.",
"detailed": "This tool is used to create a new tag by sending a POST request to the /tags endpoint. It should be called when a user wants to add a new tag to the system for organizational or categorization purposes."
},
"return_annotation": "Information about the newly created tag.",
"arguments": [
{
"name": "tag_creation_details",
"alternative_names": [
"new_tag_info",
"tag_data"
],
"description": "A JSON object containing the details of the tag to be created: 'hex_color' for the color code, 'object_type' to specify the associated object ('account', 'issue', or 'contact'), and 'value' for the tag's name.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/tags",
"tags": [
"tags"
],
"summary": "",
"description": "Create a new tag",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"hex_color": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The hex code of the tag's color."
},
"object_type": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The object type of the associated object. Can be \"account\", \"issue\", or \"contact\"."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The tag value."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"hex_color": {
"type": "string",
"description": "The hex code of the tag's color."
},
"object_type": {
"type": "string",
"description": "The object type of the associated object. Can be \"account\", \"issue\", or \"contact\"."
},
"value": {
"type": "string",
"description": "The tag value."
}
},
"required": [
"object_type",
"value"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"hex_color\": {\n \"description\": \"The hex code of the tag's color.\",\n \"type\": \"string\",\n \"x-go-name\": \"HexColor\"\n },\n \"object_type\": {\n \"description\": \"The object type of the associated object. Can be \\\"account\\\", \\\"issue\\\", or \\\"contact\\\".\",\n \"type\": \"string\",\n \"x-go-name\": \"ObjectType\"\n },\n \"value\": {\n \"description\": \"The tag value.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n }\n },\n \"required\": [\n \"object_type\",\n \"value\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true,
"use_flatten_mode": false
},
{
"name": "DeleteTag",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_existing_tag",
"description": {
"tagline": "Delete an existing tag by ID.",
"detailed": "Use this tool to delete an existing tag by specifying its ID. It confirms whether the deletion was successful."
},
"return_annotation": "Confirmation of tag deletion.",
"arguments": [
{
"name": "tag_id",
"alternative_names": [
"id_of_tag",
"tag_identifier"
],
"description": "The unique identifier of the tag to delete. Provide this ID to specify which tag should be removed.",
"endpoint_argument_name": "id"
}
]
},
"method": "DELETE",
"path": "/tags/{id}",
"tags": [
"tags"
],
"summary": "",
"description": "Delete an existing tag",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag to update."
},
"description": "The ID of the tag to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetTag",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_tag_by_id",
"description": {
"tagline": "Retrieve tag details using a specified ID.",
"detailed": ""
},
"return_annotation": "Tag details for the specified ID.",
"arguments": [
{
"name": "tag_id",
"alternative_names": [
"tag_identifier",
"tag_reference"
],
"description": "The unique identifier for the tag to retrieve details.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/tags/{id}",
"tags": [
"tags"
],
"summary": "",
"description": "Get a tag by its ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag."
},
"description": "The ID of the tag.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateTag",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_existing_tag",
"description": {
"tagline": "Update an existing tag's information.",
"detailed": "Use this tool to modify the details of an already existing tag. It should be called when changes to tag attributes are needed."
},
"return_annotation": "Confirmation of tag update completion.",
"arguments": [
{
"name": "tag_id",
"alternative_names": [
"tag_identifier",
"tag_id_number"
],
"description": "The unique identifier of the tag that needs to be updated.",
"endpoint_argument_name": "id"
},
{
"name": "tag_hex_color",
"alternative_names": [
"tag_color_code",
"hex_color_value"
],
"description": "The hex code representing the tag's color. Must be a valid six-digit hexadecimal value prefixed with '#'.",
"endpoint_argument_name": "hex_color"
},
{
"name": "tag_name",
"alternative_names": [
"tag_label",
"tag_title"
],
"description": "The new name for the tag to be updated.",
"endpoint_argument_name": "value"
}
]
},
"method": "PATCH",
"path": "/tags/{id}",
"tags": [
"tags"
],
"summary": "",
"description": "Update an existing tag",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the tag to update."
},
"description": "The ID of the tag to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "hex_color",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The hex code of the tag's color."
},
"description": "The hex code of the tag's color.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The hex code of the tag's color."
},
"schema_required": false
},
{
"name": "value",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "in: body\n\nThe name of the tag."
},
"description": "in: body\n\nThe name of the tag.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "in: body\n\nThe name of the tag."
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"hex_color\": {\n \"description\": \"The hex code of the tag's color.\",\n \"type\": \"string\",\n \"x-go-name\": \"HexColor\"\n },\n \"value\": {\n \"description\": \"in: body\\n\\nThe name of the tag.\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "CreateTask",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_task",
"description": {
"tagline": "Create a new task with specified parameters.",
"detailed": "Use this tool to create a task. It should be called when a new task needs to be added to the system, specifying necessary parameters."
},
"return_annotation": "Details of the newly created task.",
"arguments": [
{
"name": "task_title",
"alternative_names": [
"task_name",
"title_of_task"
],
"description": "The title of the task to be created. It should summarize the task clearly and concisely.",
"endpoint_argument_name": "title"
},
{
"name": "task_body_html",
"alternative_names": [
"task_description_html",
"content_html"
],
"description": "HTML content for the task body. Provide detailed information or instructions here using HTML formatting.",
"endpoint_argument_name": "body_html"
},
{
"name": "milestone_id",
"alternative_names": [
"task_milestone_id",
"project_milestone_identifier"
],
"description": "Unique identifier for the milestone associated with the task.",
"endpoint_argument_name": "milestone_id"
},
{
"name": "task_status",
"alternative_names": [
"status_of_task",
"task_progress_status"
],
"description": "Set the task's current status: 'not_started', 'in_progress', or 'completed'.",
"endpoint_argument_name": "status"
},
{
"name": "task_due_date",
"alternative_names": [
"task_deadline",
"due_date"
],
"description": "Due date for the task, formatted in RFC 3339. Specify the date by which the task should be completed.",
"endpoint_argument_name": "due_date"
},
{
"name": "task_assignee_id",
"alternative_names": [
"assignee_identifier",
"assigned_user_id"
],
"description": "The ID of the user to whom the task is assigned. It should be a valid user ID in the system.",
"endpoint_argument_name": "assignee_id"
},
{
"name": "account_id_for_task",
"alternative_names": [
"task_account_id",
"id_for_task_account"
],
"description": "Specify the Account ID associated with this task.",
"endpoint_argument_name": "account_id"
},
{
"name": "project_id",
"alternative_names": [
"task_project_id",
"project_identifier"
],
"description": "Unique identifier for the project to which this task belongs.",
"endpoint_argument_name": "project_id"
},
{
"name": "make_customer_portal_visible",
"alternative_names": [
"enable_customer_portal_visibility",
"set_customer_portal_visible"
],
"description": "Set to true to make the task visible on the customer portal, false to hide it.",
"endpoint_argument_name": "customer_portal_visible"
}
]
},
"method": "POST",
"path": "/tasks",
"tags": [
"tasks"
],
"summary": "",
"description": "Create a task",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "title",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Title for this task"
},
"description": "Title for this task",
"required": true,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "body_html",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Body HTML for this task"
},
"description": "Body HTML for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "milestone_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Milestone ID for this task"
},
"description": "Milestone ID for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "status",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"not_started",
"in_progress",
"completed"
],
"properties": null,
"inner_properties": null,
"description": "Status for this task\n\nnot_started TaskStatusNotStarted\n\nin_progress TaskStatusInProgress\n\ncompleted TaskStatusCompleted"
},
"description": "Status for this task\n\nnot_started TaskStatusNotStarted\n\nin_progress TaskStatusInProgress\n\ncompleted TaskStatusCompleted",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string",
"enum": [
"not_started",
"in_progress",
"completed"
]
},
"schema_required": false
},
{
"name": "customer_portal_visible",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this task"
},
"description": "Customer portal visible for this task",
"required": false,
"deprecated": false,
"default": false,
"location": "query",
"content_type": null,
"json_schema": {
"type": "boolean"
},
"schema_required": false
},
{
"name": "due_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this task, in RFC 3339 format"
},
"description": "Due date for this task, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "assignee_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Assignee ID for this task"
},
"description": "Assignee ID for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "account_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Account ID for this task"
},
"description": "Account ID for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
},
{
"name": "project_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this task"
},
"description": "Project ID for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "DeleteTask",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_task",
"description": {
"tagline": "Delete an existing task by ID.",
"detailed": "Use this tool to delete a specific task by its ID. Call it when you need to remove a task permanently from the system."
},
"return_annotation": "Confirmation of task deletion.",
"arguments": [
{
"name": "task_id",
"alternative_names": [
"task_identifier",
"task_id_value"
],
"description": "The unique identifier of the task to be deleted.",
"endpoint_argument_name": "id"
}
]
},
"method": "DELETE",
"path": "/tasks/{id}",
"tags": [
"tasks"
],
"summary": "",
"description": "Delete an existing task",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the task to delete."
},
"description": "The ID of the task to delete.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateTask",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_task",
"description": {
"tagline": "Update the details of an existing task.",
"detailed": "Use this tool to modify the information of a specific task by providing its ID. Ideal for updating any details like status, description, or due date."
},
"return_annotation": "Confirmation of task update.",
"arguments": [
{
"name": "task_id",
"alternative_names": [
"task_identifier",
"task_key"
],
"description": "The unique ID of the task you want to update.",
"endpoint_argument_name": "id"
},
{
"name": "assignee_id",
"alternative_names": [
"task_assignee_id",
"responsible_person_id"
],
"description": "The ID of the person assigned to this task. It should be a string representing a valid user ID within the system.",
"endpoint_argument_name": "assignee_id"
},
{
"name": "task_body_html",
"alternative_names": [
"task_description_html",
"html_content"
],
"description": "HTML content for the task's body. This defines the main description or details of the task.",
"endpoint_argument_name": "body_html"
},
{
"name": "task_due_date",
"alternative_names": [
"task_deadline",
"completion_date"
],
"description": "Due date for the task in RFC 3339 format, e.g., '2023-12-31T23:59:59Z'.",
"endpoint_argument_name": "due_date"
},
{
"name": "milestone_identifier",
"alternative_names": [
"milestone_reference",
"milestone_key"
],
"description": "Specify the Milestone ID associated with the task to update its milestone.",
"endpoint_argument_name": "milestone_id"
},
{
"name": "project_id",
"alternative_names": [
"task_project_id",
"associated_project_id"
],
"description": "The unique identifier of the project associated with this task. Required to specify which project's task is being updated.",
"endpoint_argument_name": "project_id"
},
{
"name": "task_status",
"alternative_names": [
"task_progress_status",
"current_task_status"
],
"description": "Specify the task status: `not_started`, `in_progress`, or `completed`.",
"endpoint_argument_name": "status"
},
{
"name": "task_title",
"alternative_names": [
"task_name",
"title_of_task"
],
"description": "The new title for the task. Provide a clear and concise title for better understanding.",
"endpoint_argument_name": "title"
},
{
"name": "customer_portal_visible",
"alternative_names": [
"is_customer_portal_visible",
"show_on_customer_portal"
],
"description": "Set to true to make the task visible on the customer portal. Accepts a boolean.",
"endpoint_argument_name": "customer_portal_visible"
}
]
},
"method": "PATCH",
"path": "/tasks/{id}",
"tags": [
"tasks"
],
"summary": "",
"description": "Update a task",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the task to update."
},
"description": "The ID of the task to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "assignee_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Assignee ID for this task"
},
"description": "Assignee ID for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Assignee ID for this task"
},
"schema_required": false
},
{
"name": "body_html",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Body HTML for this task"
},
"description": "Body HTML for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Body HTML for this task"
},
"schema_required": false
},
{
"name": "customer_portal_visible",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Customer portal visible for this task"
},
"description": "Customer portal visible for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "boolean",
"description": "Customer portal visible for this task"
},
"schema_required": false
},
{
"name": "due_date",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Due date for this task, in RFC 3339 format"
},
"description": "Due date for this task, in RFC 3339 format",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Due date for this task, in RFC 3339 format"
},
"schema_required": false
},
{
"name": "milestone_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Milestone ID for this task"
},
"description": "Milestone ID for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Milestone ID for this task"
},
"schema_required": false
},
{
"name": "project_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Project ID for this task"
},
"description": "Project ID for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Project ID for this task"
},
"schema_required": false
},
{
"name": "status",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"not_started",
"in_progress",
"completed"
],
"properties": null,
"inner_properties": null,
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted"
},
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
"enum": [
"not_started",
"in_progress",
"completed"
]
},
"schema_required": false
},
{
"name": "title",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Title for this task"
},
"description": "Title for this task",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "Title for this task"
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"assignee_id\": {\n \"description\": \"Assignee ID for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"AssigneeID\"\n },\n \"body_html\": {\n \"description\": \"Body HTML for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"BodyHTML\"\n },\n \"customer_portal_visible\": {\n \"description\": \"Customer portal visible for this task\",\n \"type\": \"boolean\",\n \"x-go-name\": \"CustomerPortalVisible\"\n },\n \"due_date\": {\n \"description\": \"Due date for this task, in RFC 3339 format\",\n \"type\": \"string\",\n \"x-go-name\": \"DueDate\"\n },\n \"milestone_id\": {\n \"description\": \"Milestone ID for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"MilestoneID\"\n },\n \"project_id\": {\n \"description\": \"Project ID for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"ProjectID\"\n },\n \"status\": {\n \"description\": \"Status for this task\\n\\n* not_started TaskStatusNotStarted\\n\\n* in_progress TaskStatusInProgress\\n\\n* completed TaskStatusCompleted\",\n \"enum\": [\n \"not_started\",\n \"in_progress\",\n \"completed\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"not_started TaskStatusNotStarted\\nin_progress TaskStatusInProgress\\ncompleted TaskStatusCompleted\",\n \"x-go-name\": \"Status\"\n },\n \"title\": {\n \"description\": \"Title for this task\",\n \"type\": \"string\",\n \"x-go-name\": \"Title\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "GetTeams",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "fetch_team_list",
"description": {
"tagline": "Retrieve the list of available teams.",
"detailed": "Use this tool to get a list of all teams from the service. Useful for displaying team information or selecting a team from the list."
},
"return_annotation": "A list of teams available.",
"arguments": []
},
"method": "GET",
"path": "/teams",
"tags": [
"teams"
],
"summary": "",
"description": "Get a list of teams",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateTeam",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_new_team",
"description": {
"tagline": "Create a new team for collaboration.",
"detailed": "Use this tool to create a new team on the platform, facilitating collaboration and organization. It returns details about the newly created team."
},
"return_annotation": "Information about the newly created team.",
"arguments": [
{
"name": "team_name",
"alternative_names": [
"new_team_name",
"team_title"
],
"description": "The name to assign to the newly created team.",
"endpoint_argument_name": "name"
},
{
"name": "user_ids_to_add",
"alternative_names": [
"add_user_ids",
"team_user_ids"
],
"description": "A list of user IDs to include in the new team. Each user ID should be a string.",
"endpoint_argument_name": "user_ids"
}
]
},
"method": "POST",
"path": "/teams",
"tags": [
"teams"
],
"summary": "",
"description": "Create a new team",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the team."
},
"description": "The name of the team.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The name of the team."
},
"schema_required": false
},
{
"name": "user_ids",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The list of user IDs to add to the team."
},
"description": "The list of user IDs to add to the team.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "array",
"description": "The list of user IDs to add to the team.",
"items": {
"type": "string"
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the team.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"user_ids\": {\n \"description\": \"The list of user IDs to add to the team.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"UserIDs\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "GetTeam",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_team_by_id",
"description": {
"tagline": "Retrieve team details using the team's ID.",
"detailed": "Use this tool to get detailed information about a team by specifying its unique ID."
},
"return_annotation": "Team information based on the provided ID.",
"arguments": [
{
"name": "team_id",
"alternative_names": [
"team_identifier",
"team_key"
],
"description": "The unique ID of the team to retrieve details for.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/teams/{id}",
"tags": [
"teams"
],
"summary": "",
"description": "Get a team by its ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team to fetch."
},
"description": "The ID of the team to fetch.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateTeam",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_existing_team",
"description": {
"tagline": "Update details of an existing team.",
"detailed": "Use this tool to modify the information of an existing team. Ideal for updating team names, members, or other details."
},
"return_annotation": "Updated team information.",
"arguments": [
{
"name": "team_id",
"alternative_names": [
"team_identifier",
"team_update_id"
],
"description": "The ID of the team to update.",
"endpoint_argument_name": "id"
},
{
"name": "team_name",
"alternative_names": [
"group_name",
"organization_name"
],
"description": "The new name for the team to be updated.",
"endpoint_argument_name": "name"
},
{
"name": "team_member_user_ids",
"alternative_names": [
"user_ids_list",
"team_user_ids"
],
"description": "The list of user IDs to set as team members. This updates the team to include only these users.",
"endpoint_argument_name": "user_ids"
}
]
},
"method": "PATCH",
"path": "/teams/{id}",
"tags": [
"teams"
],
"summary": "",
"description": "Update an existing team",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the team to update."
},
"description": "The ID of the team to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the team."
},
"description": "The name of the team.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The name of the team."
},
"schema_required": false
},
{
"name": "user_ids",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users."
},
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "array",
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users.",
"items": {
"type": "string"
}
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"name\": {\n \"description\": \"The name of the team.\",\n \"type\": \"string\",\n \"x-go-name\": \"Name\"\n },\n \"user_ids\": {\n \"description\": \"The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users.\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"UserIDs\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "GetTicketForms",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_ticket_forms",
"description": {
"tagline": "Retrieve a list of ticket forms available.",
"detailed": "This tool fetches a list of ticket forms, which can be used to understand the structure of available forms for managing tickets. It should be called when you need to review or select from ticket forms."
},
"return_annotation": "List of available ticket forms.",
"arguments": []
},
"method": "GET",
"path": "/ticket-forms",
"tags": [
"ticket-forms"
],
"summary": "",
"description": "Get a list of ticket forms",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetTicketForm",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_ticket_form",
"description": {
"tagline": "Retrieve detailed information about a ticket form.",
"detailed": "Call this tool to obtain detailed information for a specific ticket form by providing its ID."
},
"return_annotation": "Details of the specified ticket form.",
"arguments": [
{
"name": "ticket_form_id",
"alternative_names": [
"form_id",
"ticket_id"
],
"description": "The unique ID of the ticket form to retrieve.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/ticket-forms/{id}",
"tags": [
"ticket-forms"
],
"summary": "",
"description": "Get a ticket form",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the ticket form to fetch."
},
"description": "The ID of the ticket form to fetch.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "ListTrainingData",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "list_training_data",
"description": {
"tagline": "Fetches all training data configurations for the organization.",
"detailed": "Use this tool to retrieve a comprehensive list of training data configurations associated with the organization. Ideal for managing or reviewing training datasets."
},
"return_annotation": "List of training data configurations for the organization.",
"arguments": []
},
"method": "GET",
"path": "/training-data",
"tags": [
"training-data"
],
"summary": "Retrieves a list of all training data configurations for the organization.",
"description": "",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "CreateTrainingData",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "create_training_data_config",
"description": {
"tagline": "Create a new training data configuration.",
"detailed": "Call this tool to set up a new training data configuration for your application. It is used when you need to initialize or update your training data setup."
},
"return_annotation": "Confirmation of new training data configuration creation.",
"arguments": [
{
"name": "training_data_name",
"alternative_names": [
"data_container_name",
"training_name"
],
"description": "The name of the training data container to be created.",
"endpoint_argument_name": "training_data_name"
},
{
"name": "training_data_visibility",
"alternative_names": [
"data_visibility",
"visibility_setting"
],
"description": "Specifies who can access the training data. Valid options: \"everyone\", \"user_only\", \"ai_agent_only\". Defaults to \"everyone\".",
"endpoint_argument_name": "visibility"
}
]
},
"method": "POST",
"path": "/training-data",
"tags": [
"training-data"
],
"summary": "Creates a new training data configuration.",
"description": "",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "training_data_name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the training data container."
},
"description": "The name of the training data container.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The name of the training data container."
},
"schema_required": false
},
{
"name": "visibility",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\""
},
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\"",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\""
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"training_data_name\": {\n \"description\": \"The name of the training data container.\",\n \"type\": \"string\",\n \"x-go-name\": \"TrainingDataName\"\n },\n \"visibility\": {\n \"description\": \"The visibility of the training data. Defaults to \\\"everyone\\\".\\n\\nValid values: \\\"everyone\\\", \\\"user_only\\\", \\\"ai_agent_only\\\"\",\n \"type\": \"string\",\n \"x-go-name\": \"Visibility\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
},
{
"name": "GetTrainingData",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "retrieve_training_data_configuration",
"description": {
"tagline": "Retrieve a training data configuration by ID.",
"detailed": "This tool retrieves the details of a specific training data configuration using its unique ID. It should be called when you need to access the configuration settings or specifications for a particular training dataset."
},
"return_annotation": "The specified training data configuration details.",
"arguments": [
{
"name": "training_data_id",
"alternative_names": [
"data_id",
"training_id"
],
"description": "The unique ID of the training data to retrieve its configuration.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/training-data/{id}",
"tags": [
"training-data"
],
"summary": "Retrieves a specific training data configuration by its ID.",
"description": "",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the training data."
},
"description": "The ID of the training data.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "DeleteTrainingDataDocuments",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "delete_training_data_documents",
"description": {
"tagline": "Deletes documents from a training data configuration.",
"detailed": "Use this tool to delete documents from a specific training data configuration by providing the relevant ID. This tool is helpful when managing or updating data sets for training purposes."
},
"return_annotation": "Confirmation of document deletion from training data.",
"arguments": [
{
"name": "training_data_id",
"alternative_names": [
"training_set_id",
"dataset_id"
],
"description": "The ID of the training data from which documents will be deleted. Provide this to specify the exact dataset.",
"endpoint_argument_name": "id"
},
{
"name": "document_ids_to_delete",
"alternative_names": [
"doc_ids_for_removal",
"document_identifiers_to_remove"
],
"description": "An array of document IDs that need to be deleted from the training data configuration.",
"endpoint_argument_name": "document_ids"
},
{
"name": "external_ids_to_delete",
"alternative_names": [
"ids_to_remove",
"delete_external_ids"
],
"description": "A list of external IDs to delete from the training data configuration.",
"endpoint_argument_name": "external_ids"
}
]
},
"method": "DELETE",
"path": "/training-data/{id}/documents",
"tags": [
"training-data"
],
"summary": "Deletes documents from a training data configuration.",
"description": "",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [
{
"name": "document_ids",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Document IDs to delete."
},
"description": "Document IDs to delete.",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "array",
"items": {
"type": "string"
}
},
"schema_required": false
},
{
"name": "external_ids",
"value_schema": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "External IDs to delete."
},
"description": "External IDs to delete.",
"required": false,
"deprecated": false,
"default": null,
"location": "query",
"content_type": null,
"json_schema": {
"type": "array",
"items": {
"type": "string"
}
},
"schema_required": false
}
],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the training data."
},
"description": "The ID of the training data.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetUserRoles",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_user_roles",
"description": {
"tagline": "Get a list of all user roles.",
"detailed": "Use this tool to retrieve a comprehensive list of all user roles. It is useful for managing and understanding user permissions."
},
"return_annotation": "A list of all user roles.",
"arguments": []
},
"method": "GET",
"path": "/user-roles",
"tags": [
"user-roles"
],
"summary": "",
"description": "Get a list of all user roles",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetUsers",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "list_users",
"description": {
"tagline": "Fetches a list of users.",
"detailed": "Use this tool to retrieve a list of all users. It provides an overview of the users available in the system."
},
"return_annotation": "A list of users.",
"arguments": []
},
"method": "GET",
"path": "/users",
"tags": [
"users"
],
"summary": "",
"description": "Get a list of users",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "SearchUsers",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "search_users_by_email",
"description": {
"tagline": "Search for users by email with filter options.",
"detailed": "Use this tool to find users by filtering their email with options such as 'equals', 'in', or 'not_in'. It should be called when there's a need to retrieve user information based on specific email criteria."
},
"return_annotation": "Filtered user data based on email criteria.",
"arguments": [
{
"name": "user_search_filter",
"alternative_names": [
"search_criteria",
"email_filter"
],
"description": "A JSON object defining the filter criteria for searching users by email. It includes fields for pagination, filtering, and limiting results.",
"endpoint_argument_name": "requestBody"
}
]
},
"method": "POST",
"path": "/users/search",
"tags": [
"users"
],
"summary": "Search for users by a given filter",
"description": "Currently, the following fields are filterable for users:\n\n* email. Allowed operators: `equals`, `in`, `not_in`",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [],
"header": [],
"cookie": [],
"body": [
{
"name": "requestBody",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"cursor": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The cursor to use for pagination."
},
"filter": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"field": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
],
"properties": null,
"inner_properties": null,
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset."
},
"subfilters": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {},
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3."
},
"value": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"val_type": "array",
"inner_val_type": "string",
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\")."
}
},
"inner_properties": null,
"description": null
},
"limit": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of users to fetch. Defaults to 100. Must be greater than 0 and less than 1000."
}
},
"inner_properties": null,
"description": ""
},
"description": "",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "object",
"properties": {
"cursor": {
"type": "string",
"description": "The cursor to use for pagination."
},
"filter": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator."
},
"operator": {
"type": "string",
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
"enum": [
"equals",
"not_equals",
"contains",
"does_not_contain",
"in",
"not_in",
"and",
"or",
"time_is_after",
"time_is_before",
"time_range",
"string_contains",
"string_does_not_contain",
"is_set",
"is_unset"
]
},
"subfilters": {
"type": "array",
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
"items": {
"type": "object",
"properties": {}
}
},
"value": {
"type": "string",
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")"
},
"values": {
"type": "array",
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
"items": {
"type": "string"
}
}
},
"required": [
"field",
"operator"
]
},
"limit": {
"type": "integer",
"description": "The number of users to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
"format": "int64"
}
},
"required": [
"filter"
]
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"cursor\": {\n \"description\": \"The cursor to use for pagination.\",\n \"type\": \"string\",\n \"x-go-name\": \"Cursor\"\n },\n \"filter\": {\n \"properties\": {\n \"field\": {\n \"description\": \"The field for this filter. For allowed fields, see the documentation for\\n\\nthe specific endpoint you are using.\\n\\nFor non-compound filters (any operators other than \\\"and\\\" or \\\"or\\\"),\\n\\nField must be set, along with either Value or Values, depending on the operator.\",\n \"type\": \"string\",\n \"x-go-name\": \"Field\"\n },\n \"operator\": {\n \"description\": \"The operator for this filter.\\n\\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\n\\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\n\\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\n\\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\n\\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\n\\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\n\\n* and FilterOperatorAnd Matches objects only if all subfilters match.\\n\\n* or FilterOperatorOr Matches objects if any subfilter matches.\\n\\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\n\\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\n\\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\n\\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\n\\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\n\\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\n\\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"enum\": [\n \"equals\",\n \"not_equals\",\n \"contains\",\n \"does_not_contain\",\n \"in\",\n \"not_in\",\n \"and\",\n \"or\",\n \"time_is_after\",\n \"time_is_before\",\n \"time_range\",\n \"string_contains\",\n \"string_does_not_contain\",\n \"is_set\",\n \"is_unset\"\n ],\n \"type\": \"string\",\n \"x-go-enum-desc\": \"equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\\nand FilterOperatorAnd Matches objects only if all subfilters match.\\nor FilterOperatorOr Matches objects if any subfilter matches.\\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.\",\n \"x-go-name\": \"Operator\"\n },\n \"subfilters\": {\n \"description\": \"Sub-filters for this filter. Valid only when operator is \\\"and\\\" or \\\"or\\\".\\n\\nThe maximum allowed depth for a tree of filters is 3.\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Filter\",\n \"has_circular_reference\": true\n },\n \"type\": \"array\",\n \"x-go-name\": \"Subfilters\"\n },\n \"value\": {\n \"description\": \"The value for this filter. Only used for single-valued operators\\n\\n(\\\"equals\\\", \\\"not_equals\\\", \\\"contains\\\", \\\"does_not_contain\\\")\",\n \"type\": \"string\",\n \"x-go-name\": \"Value\"\n },\n \"values\": {\n \"description\": \"The values for this filter. Only used for multi-valued operators (\\\"in\\\", \\\"not_in\\\").\",\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"x-go-name\": \"Values\"\n }\n },\n \"required\": [\n \"field\",\n \"operator\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/apitypes\"\n },\n \"limit\": {\n \"description\": \"The number of users to fetch. Defaults to 100. Must be greater than 0 and less than 1000.\",\n \"format\": \"int64\",\n \"type\": \"integer\",\n \"x-go-name\": \"Limit\"\n }\n },\n \"required\": [\n \"filter\"\n ],\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "GetUser",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "get_user_by_id",
"description": {
"tagline": "Retrieve user details using their unique ID.",
"detailed": "Use this tool to get detailed information about a user by providing their unique ID."
},
"return_annotation": "Details of the user with the specified ID.",
"arguments": [
{
"name": "user_id",
"alternative_names": [
"user_identifier",
"user_id_number"
],
"description": "The unique ID of the user to fetch details for.",
"endpoint_argument_name": "id"
}
]
},
"method": "GET",
"path": "/users/{id}",
"tags": [
"user"
],
"summary": "",
"description": "Get a user by its ID",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user to fetch."
},
"description": "The ID of the user to fetch.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": []
},
"request_body_spec": null,
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": false
},
{
"name": "UpdateUser",
"selected_for_wrapping": false,
"spec_built": true,
"wrap_finished": true,
"should_skip": false,
"skip_reason": null,
"wrapper_tool": {
"name": "update_user_profile",
"description": {
"tagline": "Update a user's profile information.",
"detailed": "This tool updates the information of a user identified by a specific ID. It should be called when changes to a user's profile are needed, such as updating personal details or contact information."
},
"return_annotation": "Confirmation of user profile update.",
"arguments": [
{
"name": "user_id",
"alternative_names": [
"user_identifier",
"user_key"
],
"description": "The unique identifier of the user to be updated.",
"endpoint_argument_name": "id"
},
{
"name": "user_role_id",
"alternative_names": [
"user_role_identifier",
"role_identifier"
],
"description": "The role ID to assign to the user.",
"endpoint_argument_name": "role_id"
},
{
"name": "user_status",
"alternative_names": [
"account_status",
"profile_status"
],
"description": "The updated status for the user. Options: `active`, `away`, or `out_of_office`.",
"endpoint_argument_name": "status"
}
]
},
"method": "PATCH",
"path": "/users/{id}",
"tags": [
"user"
],
"summary": "",
"description": "Update a user",
"requires_security": true,
"oauth_scopes": [],
"security_schemes": [
"bearerAuth"
],
"parameters": {
"query": [],
"path": [
{
"name": "id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The ID of the user to update."
},
"description": "The ID of the user to update.",
"required": true,
"deprecated": false,
"default": null,
"location": "path",
"content_type": null,
"json_schema": {
"type": "string"
},
"schema_required": false
}
],
"header": [],
"cookie": [],
"body": [
{
"name": "role_id",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The role_id of the user."
},
"description": "The role_id of the user.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The role_id of the user."
},
"schema_required": false
},
{
"name": "status",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`."
},
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`.",
"required": false,
"deprecated": false,
"default": null,
"location": "body",
"content_type": "application/json",
"json_schema": {
"type": "string",
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`."
},
"schema_required": false
}
]
},
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"properties\": {\n \"role_id\": {\n \"description\": \"The role_id of the user.\",\n \"type\": \"string\",\n \"x-go-name\": \"RoleID\"\n },\n \"status\": {\n \"description\": \"The new user status for the user. Can be one of `active`, `away`, or `out_of_office`.\",\n \"type\": \"string\",\n \"x-go-name\": \"Status\"\n }\n },\n \"type\": \"object\",\n \"x-go-package\": \"pylon/api/apiserver/endpoints\"\n }\n }\n },\n \"required\": false\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false,
"use_flatten_mode": true
}
],
"security_scheme_key_selected": null,
"security_scheme_selected": {}
}