diff --git a/toolkits/pagerduty_api/.pre-commit-config.yaml b/toolkits/pagerduty_api/.pre-commit-config.yaml new file mode 100644 index 00000000..cb6fbe02 --- /dev/null +++ b/toolkits/pagerduty_api/.pre-commit-config.yaml @@ -0,0 +1,18 @@ +files: ^.*/pagerduty_api/.* +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: "v4.4.0" + hooks: + - id: check-case-conflict + - id: check-merge-conflict + - id: check-toml + - id: check-yaml + - id: end-of-file-fixer + - id: trailing-whitespace + + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.6.7 + hooks: + - id: ruff + args: [--fix] + - id: ruff-format diff --git a/toolkits/pagerduty_api/.ruff.toml b/toolkits/pagerduty_api/.ruff.toml new file mode 100644 index 00000000..9519fe6c --- /dev/null +++ b/toolkits/pagerduty_api/.ruff.toml @@ -0,0 +1,44 @@ +target-version = "py310" +line-length = 100 +fix = true + +[lint] +select = [ + # flake8-2020 + "YTT", + # flake8-bandit + "S", + # flake8-bugbear + "B", + # flake8-builtins + "A", + # flake8-comprehensions + "C4", + # flake8-debugger + "T10", + # flake8-simplify + "SIM", + # isort + "I", + # mccabe + "C90", + # pycodestyle + "E", "W", + # pyflakes + "F", + # pygrep-hooks + "PGH", + # pyupgrade + "UP", + # ruff + "RUF", + # tryceratops + "TRY", +] + +[lint.per-file-ignores] +"**/tests/*" = ["S101"] + +[format] +preview = true +skip-magic-trailing-comma = false diff --git a/toolkits/pagerduty_api/LICENSE b/toolkits/pagerduty_api/LICENSE new file mode 100644 index 00000000..dfbb8b76 --- /dev/null +++ b/toolkits/pagerduty_api/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025, Arcade AI + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/toolkits/pagerduty_api/Makefile b/toolkits/pagerduty_api/Makefile new file mode 100644 index 00000000..86da492a --- /dev/null +++ b/toolkits/pagerduty_api/Makefile @@ -0,0 +1,54 @@ +.PHONY: help + +help: + @echo "🛠️ github Commands:\n" + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +.PHONY: install +install: ## Install the uv environment and install all packages with dependencies + @echo "🚀 Creating virtual environment and installing all packages using uv" + @uv sync --active --all-extras --no-sources + @if [ -f .pre-commit-config.yaml ]; then uv run --no-sources pre-commit install; fi + @echo "✅ All packages and dependencies installed via uv" + +.PHONY: install-local +install-local: ## Install the uv environment and install all packages with dependencies with local Arcade sources + @echo "🚀 Creating virtual environment and installing all packages using uv" + @uv sync --active --all-extras + @if [ -f .pre-commit-config.yaml ]; then uv run pre-commit install; fi + @echo "✅ All packages and dependencies installed via uv" +.PHONY: build +build: clean-build ## Build wheel file using poetry + @echo "🚀 Creating wheel file" + uv build + +.PHONY: clean-build +clean-build: ## clean build artifacts + @echo "🗑️ Cleaning dist directory" + rm -rf dist + +.PHONY: test +test: ## Test the code with pytest + @echo "🚀 Testing code: Running pytest" + @uv run --no-sources pytest -W ignore -v --cov --cov-config=pyproject.toml --cov-report=xml + +.PHONY: coverage +coverage: ## Generate coverage report + @echo "coverage report" + @uv run --no-sources coverage report + @echo "Generating coverage report" + @uv run --no-sources coverage html + +.PHONY: bump-version +bump-version: ## Bump the version in the pyproject.toml file by a patch version + @echo "🚀 Bumping version in pyproject.toml" + uv version --no-sources --bump patch + +.PHONY: check +check: ## Run code quality tools. + @if [ -f .pre-commit-config.yaml ]; then\ + echo "🚀 Linting code: Running pre-commit";\ + uv run --no-sources pre-commit run -a;\ + fi + @echo "🚀 Static type checking: Running mypy" + @uv run --no-sources mypy --config-file=pyproject.toml diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/__init__.py b/toolkits/pagerduty_api/arcade_pagerduty_api/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/tools/__init__.py b/toolkits/pagerduty_api/arcade_pagerduty_api/tools/__init__.py new file mode 100644 index 00000000..6eee7215 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/tools/__init__.py @@ -0,0 +1,8812 @@ +"""Arcade Starter Tools for Pagerduty + +DO NOT EDIT THIS MODULE DIRECTLY. + +THIS MODULE WAS AUTO-GENERATED BY TRANSPILING THE API STARTER TOOL JSON DEFINITIONS +IN THE ../wrapper_tools DIRECTORY INTO PYTHON CODE. ANY CHANGES TO THIS MODULE WILL +BE OVERWRITTEN BY THE TRANSPILER. +""" + +import asyncio +from typing import Annotated, Any + +import httpx +from arcade_tdk import ToolContext, tool +from arcade_tdk.auth import OAuth2 + +# Retry configuration +INITIAL_RETRY_DELAY = 0.5 # seconds + +HTTP_CLIENT = httpx.AsyncClient( + timeout=httpx.Timeout(60.0, connect=10.0), + limits=httpx.Limits(max_keepalive_connections=20, max_connections=100), + transport=httpx.AsyncHTTPTransport(retries=3), + http2=True, + follow_redirects=True, +) + + +def remove_none_values(data: dict[str, Any]) -> dict[str, Any]: + return {k: v for k, v in data.items() if v is not None} + + +async def make_request( + url: str, + method: str, + params: dict[str, Any] | None = None, + headers: dict[str, Any] | None = None, + data: dict[str, Any] | None = None, + max_retries: int = 3, +) -> httpx.Response: + """Make an HTTP request with retry logic for 5xx server errors.""" + for attempt in range(max_retries): + try: + response = await HTTP_CLIENT.request( + url=url, + method=method, + params=params, + headers=headers, + data=data, + ) + response.raise_for_status() + except httpx.HTTPStatusError as e: + # Only retry on 5xx server errors + if e.response.status_code >= 500 and attempt < max_retries - 1: + # Exponential backoff: 0.5s, 1s, 2s + await asyncio.sleep(INITIAL_RETRY_DELAY * (2**attempt)) + continue + # Re-raise for 4xx errors or if max retries reached + raise + except httpx.RequestError: + # Don't retry request errors (network issues are handled by transport) + raise + else: + return response + + # This should never be reached, but satisfies type checker + raise httpx.RequestError("Max retries exceeded") # noqa: TRY003 + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_related_tags( + context: ToolContext, + entity_type: Annotated[ + str, + "The type of entity (users, teams, or escalation_policies) related to the tag to be retrieved.", # noqa: E501 + ], + resource_id: Annotated[ + str, + "The unique identifier for the resource you want to retrieve tags for, such as a User, Team, or Escalation Policy.", # noqa: E501 + ], + results_per_page_limit: Annotated[ + int | None, "Specify the number of results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination of search results. Useful for navigating through pages of results.", # noqa: E501 + ] = None, + include_total_in_pagination: Annotated[ + bool | None, + "Set to true to include the total count of results in pagination responses. Defaults to false for faster response times.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getEntityTypeByIdTags'."]: + """Retrieve related tags for Users, Teams, or Escalation Policies. + + Use this tool to get tags associated with specific Users, Teams, or Escalation Policies in Pagerduty. Tags help in filtering these entities. Requires 'tags.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/{entity_type}/{id}/tags".format( # noqa: UP032 + entity_type=entity_type, id=resource_id + ), + method="GET", + params=remove_none_values({ + "limit": results_per_page_limit, + "offset": pagination_offset, + "total": include_total_in_pagination, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_account_abilities( + context: ToolContext, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listAbilities'."]: + """Retrieve a list of all abilities for your account. + + Call this tool to get a list of your account's abilities, which describe its capabilities based on your pricing plan or account state. Useful for understanding what features are available to your account.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/abilities", + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def check_account_ability( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier for the specific account ability to check."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAbility'."]: + """Check if your account has a specific feature ability. + + Use this tool to verify whether your Pagerduty account has a specific feature ability based on various factors like pricing or account state.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/abilities/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_pagerduty_addons( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specify the number of add-ons to display per page." + ] = None, + pagination_offset: Annotated[ + int | None, "Offset for starting pagination in search results." + ] = None, + include_additional_models: Annotated[ + str | None, "Specify additional models to include in the response. Valid value: 'services'." + ] = None, + filter_by_service_ids: Annotated[ + list[str] | None, + "List of service IDs to filter results, showing only Add-ons associated with these services.", # noqa: E501 + ] = None, + addon_type_filter: Annotated[ + str | None, + "Filter results to show only Add-ons of a specific type, such as 'full_page_addon' or 'incident_show_addon'.", # noqa: E501 + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total number of add-ons in the response. Default is false for faster responses.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listAddon'."]: + """Retrieve all installed add-ons on your PagerDuty account. + + Use this tool to get a list of all add-ons currently installed on your PagerDuty account. Add-ons are extensions that add functionality to the PagerDuty UI. This should be called when you need to view or manage these add-ons. OAuth scope required: `addons.read`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/addons", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "include[]": include_additional_models, + "service_ids[]": filter_by_service_ids, + "filter": addon_type_filter, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_addon_details( + context: ToolContext, + addon_id: Annotated[str, "The unique ID of the Pagerduty Add-on to retrieve details for."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAddon'."]: + """Retrieve details of a specific Pagerduty Add-on. + + This tool retrieves information about an existing Add-on integrated into Pagerduty's UI. Use it when you need to view specific details of an Add-on by providing its ID.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/addons/{id}".format(id=addon_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_pagerduty_addon( + context: ToolContext, + resource_id: Annotated[str, "The ID of the add-on to be removed from PagerDuty."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteAddon'."]: + """Remove an existing add-on from PagerDuty. + + Use this tool to remove an existing add-on from PagerDuty. This action deletes a piece of functionality developers have inserted into the PagerDuty UI. Ensure the necessary permissions (`addons.write`) are in place before proceeding.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/addons/{id}".format(id=resource_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_alert_grouping_settings( + context: ToolContext, + next_page_cursor: Annotated[ + str | None, "Cursor to retrieve the next page of results; use if more pages are available." + ] = None, + cursor_previous_page: Annotated[ + str | None, + "Cursor to retrieve the previous page of results; only valid if not on the first page.", + ] = None, + results_per_page: Annotated[ + int | None, "Specify the number of results to display per page." + ] = None, + service_ids: Annotated[ + list[str] | None, "An array of service IDs to filter results by specific services." + ] = None, + include_total_count: Annotated[ + bool | None, + "Set to true to populate the `total` field in pagination responses, or false for faster response times.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listAlertGroupingSettings'."]: + """Retrieve all alert grouping settings. + + Fetches all alert grouping settings, including single service and global content-based configurations, to help manage alert grouping effectively. Requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/alert_grouping_settings", + method="GET", + params=remove_none_values({ + "after": next_page_cursor, + "before": cursor_previous_page, + "total": include_total_count, + "limit": results_per_page, + "service_ids[]": service_ids, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_alert_grouping_setting( + context: ToolContext, + alert_grouping_setting_id: Annotated[ + str, "The unique identifier of the alert grouping setting to retrieve." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAlertGroupingSetting'."]: + """Retrieve an existing alert grouping setting by ID. + + Use this tool to obtain details of a specific alert grouping setting in Pagerduty by providing the setting ID. This helps in understanding and managing how alerts are grouped. Requires `services.read` scope for OAuth.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/alert_grouping_settings/{id}".format( # noqa: UP032 + id=alert_grouping_setting_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_alert_grouping_setting( + context: ToolContext, + alert_grouping_setting_id: Annotated[ + str, "The ID of the alert grouping setting to be deleted." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteAlertGroupingSetting'."]: + """Delete an existing alert grouping setting. + + Use this tool to delete an alert grouping setting in Pagerduty. This is useful when you need to remove specific alert configurations. Requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/alert_grouping_settings/{id}".format( # noqa: UP032 + id=alert_grouping_setting_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_enriched_incident_data( + context: ToolContext, + incident_id: Annotated[ + str, "The unique ID of the incident for which to retrieve enriched analytics and metrics." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAnalyticsIncidentsById'."]: + """Retrieve enriched data and metrics for a specific incident. + + Use this tool to get detailed analytics and metrics for a single incident, including resolution time, engagement time, and other key metrics. Ideal for analyzing incident performance and response.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/analytics/raw/incidents/{id}".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_audit_records( + context: ToolContext, + result_limit: Annotated[ + int | None, "Specify the maximum number of audit records to return in a single request." + ] = None, + next_cursor_token: Annotated[ + str | None, + "Token to request the next set of results in a paginated query. Usually from the `next_cursor` field of the previous request.", # noqa: E501 + ] = None, + start_date: Annotated[ + str | None, + "The start of the date range for searching audit records. Defaults to now() - 24 hours if not specified.", # noqa: E501 + ] = None, + date_range_end: Annotated[ + str | None, + "The end date for the audit record search. Defaults to now if not provided, and must be within 31 days after the `since` date.", # noqa: E501 + ] = None, + filter_by_resource_type: Annotated[ + str | None, + "Filter audit records by the specified types of resources, such as users, teams, or services.", # noqa: E501 + ] = None, + actor_type_filter: Annotated[ + str | None, + "Specifies the type of actor to filter records by. Options are 'user_reference', 'api_key_reference', or 'app_reference'.", # noqa: E501 + ] = None, + filter_by_actor_id: Annotated[ + str | None, + "Filter audit records by a specific Actor ID. Requires 'actor_type' to be specified.", + ] = None, + filter_by_method_type: Annotated[ + str | None, + "Filter records by method type. Options are 'browser', 'oauth', 'api_token', 'identity_provider', or 'other'.", # noqa: E501 + ] = None, + method_truncated_token_filter: Annotated[ + str | None, + "Filter records by a specific method truncated token. Requires 'method_type' to be provided.", # noqa: E501 + ] = None, + action_filter: Annotated[ + str | None, + "Filter audit records by specified action types: 'create', 'update', or 'delete'.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listAuditRecords'."]: + """Retrieve the latest audit trail records from Pagerduty. + + This tool fetches audit trail records from Pagerduty, sorted by execution time from newest to oldest. It requires admin, account owner, or global API token access on accounts with the \"Audit Trail\" feature. Use this tool to monitor recent activities by querying these audit records.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/audit/records", + method="GET", + params=remove_none_values({ + "limit": result_limit, + "cursor": next_cursor_token, + "since": start_date, + "until": date_range_end, + "root_resource_types[]": filter_by_resource_type, + "actor_type": actor_type_filter, + "actor_id": filter_by_actor_id, + "method_type": filter_by_method_type, + "method_truncated_token": method_truncated_token_filter, + "actions[]": action_filter, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_automation_actions( + context: ToolContext, + max_results_limit: Annotated[ + int | None, "Specifies the maximum number of automation actions to return in one request." + ] = None, + next_results_cursor: Annotated[ + str | None, + "Used to request the next set of results, commonly obtained from the 'next_cursor' field of the previous response. If not provided, retrieval starts from the beginning.", # noqa: E501 + ] = None, + filter_by_name: Annotated[ + str | None, "Filters results by matching a case insensitive substring in the action name." + ] = None, + filter_by_runner_id: Annotated[ + str | None, + "Filter results by a specific runner. Use 'any' to include only results linked to runners, excluding unlinked results.", # noqa: E501 + ] = None, + filter_by_classification: Annotated[ + str | None, + "Specify 'diagnostic' or 'remediation' to filter results by classification category.", + ] = None, + filter_by_team_id: Annotated[ + str | None, "Filters the results to include actions associated with the given team ID." + ] = None, + filter_by_service_id: Annotated[ + str | None, "Filter actions to include only those associated with the specified service ID." + ] = None, + filter_by_action_type: Annotated[ + str | None, + "Filter results to include actions matching specified type: 'script' or 'process_automation'.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAllAutomationActions'."]: + """Retrieve all automation actions in alphabetical order. + + Use this tool to get a list of all automation actions from Pagerduty, sorted by action name. This can be helpful for monitoring or managing automation tasks. Supports query-based filtering and cursor-based pagination.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions", + method="GET", + params=remove_none_values({ + "limit": max_results_limit, + "cursor": next_results_cursor, + "name": filter_by_name, + "runner_id": filter_by_runner_id, + "classification": filter_by_classification, + "team_id": filter_by_team_id, + "service_id": filter_by_service_id, + "action_type": filter_by_action_type, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_automation_action( + context: ToolContext, + automation_action_id: Annotated[ + str, "The unique ID of the automation action to retrieve from Pagerduty." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAutomationAction'."]: + """Retrieve details of a specific automation action. + + Use this tool to get information about a specific automation action in Pagerduty by providing the action ID. Ideal for checking action configurations or status.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}".format( # noqa: UP032 + id=automation_action_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_automation_action( + context: ToolContext, + resource_id: Annotated[ + str, + "The unique ID of the automation action to delete. It identifies which action will be removed.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteAutomationAction'."]: + """Delete a specified automation action by ID. + + This tool deletes an automation action in PagerDuty by its ID. Use it when you need to remove an existing automation action from your configuration.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}".format(id=resource_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_associated_services( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the resource to fetch associated services." + ], +) -> Annotated[ + dict[str, Any], + "Response from the API endpoint 'getAutomationActionsActionServiceAssociations'.", +]: + """Retrieve services associated with an Automation Action. + + Use this tool to obtain all service references that are linked to a specific Automation Action identified by its ID.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}/services".format( # noqa: UP032 + id=resource_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_automation_action_service_details( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the automation action or service resource." + ], + service_id: Annotated[ + str, + "The unique identifier for the service whose automation action relationship details are needed.", # noqa: E501 + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getAutomationActionsActionServiceAssociation'." +]: + """Retrieve details of a service's automation action relationship. + + This tool retrieves information about the relationship between a specific automation action and a service in Pagerduty. Use it to understand how actions are associated with services, enhancing monitoring and automation configurations.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}/services/{service_id}".format( # noqa: UP032 + id=resource_id, service_id=service_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def disassociate_automation_action( + context: ToolContext, + resource_id: Annotated[str, "The ID of the resource to be disassociated from the service."], + service_identifier: Annotated[ + str, + "The unique identifier for the service from which the automation action will be disassociated.", # noqa: E501 + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteAutomationActionServiceAssociation'." +]: + """Disassociate an Automation Action from a service. + + Use this tool to remove the association between an automation action and a specified service when you need to manage or update service configurations.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}/services/{service_id}".format( # noqa: UP032 + id=resource_id, service_id=service_identifier + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def retrieve_action_team_associations( + context: ToolContext, + resource_id: Annotated[ + str, "The ID of the automation action resource to retrieve team associations for." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getAutomationActionsActionTeamAssociations'." +]: + """Retrieve team references for an automation action. + + Use this tool to get all team references associated with a specific automation action. It helps in identifying which teams are linked to a given action within the Pagerduty system.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}/teams".format( # noqa: UP032 + id=resource_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def disassociate_automation_action_from_team( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the resource to be disassociated. It should be a string." + ], + team_identifier: Annotated[ + str, "The unique identifier for the team to disassociate from the automation action." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteAutomationActionTeamAssociation'." +]: + """Disassociate an Automation Action from a team in Pagerduty. + + Use this tool to remove the association between a specific automation action and a team in Pagerduty when changes in team management or responsibilities occur.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}/teams/{team_id}".format( # noqa: UP032 + id=resource_id, team_id=team_identifier + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_action_team_association( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the Automation Action resource to fetch its details." + ], + team_id: Annotated[str, "The unique identifier for the team in Pagerduty."], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getAutomationActionsActionTeamAssociation'." +]: + """Fetch details of an Automation Action and team relationship. + + Use this tool to retrieve information about the relationship between an Automation Action and a specific team in Pagerduty.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/actions/{id}/teams/{team_id}".format( # noqa: UP032 + id=resource_id, team_id=team_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_automation_action_invocations( + context: ToolContext, + invocation_state: Annotated[ + str | None, + "Specify the current state of the invocation. Expected values: prepared, created, sent, queued, running, aborted, completed, error, unknown.", # noqa: E501 + ] = None, + exclude_invocation_state: Annotated[ + str | None, + "Filter to exclude invocations not in the specified state. Accepts values like 'prepared', 'created', 'sent', etc.", # noqa: E501 + ] = None, + incident_identifier: Annotated[ + str | None, + "The ID of the incident. Use this to filter actions related to a specific incident.", + ] = None, + automation_action_id: Annotated[ + str | None, + "The identifier of the automation action for which invocations are being listed.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listAutomationActionInvocations'."]: + """Retrieve a list of automation action invocations. + + Use this tool to obtain a list of all recently executed automation actions. It provides insight into actions performed through the automation system.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/invocations", + method="GET", + params=remove_none_values({ + "invocation_state": invocation_state, + "not_invocation_state": exclude_invocation_state, + "incident_id": incident_identifier, + "action_id": automation_action_id, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_automation_action_invocation( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier for the automation action invocation."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAutomationActionsInvocation'."]: + """Retrieve detailed information about an automation action invocation. + + This tool is used to obtain detailed information about a specific automation action invocation by ID within Pagerduty. Call this tool when you need to understand the status or outcome of a particular action.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/invocations/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_automation_action_runners( + context: ToolContext, + maximum_results_limit: Annotated[ + int | None, + "Specifies the maximum number of Automation Action runners to retrieve. This is the lesser of the provided value or the API's maximum limit.", # noqa: E501 + ] = None, + pagination_cursor: Annotated[ + str | None, + "Cursor for pagination through results. Use value from `next_cursor` of previous request or omit to start from the beginning.", # noqa: E501 + ] = None, + filter_by_runner_name: Annotated[ + str | None, + "Filters results to include runners with names matching the provided substring (case insensitive).", # noqa: E501 + ] = None, + additional_data_inclusion: Annotated[ + list[str] | None, + "An array of strings specifying additional data elements to include in the response.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAutomationActionsRunners'."]: + """Retrieve a list of Automation Action runners. + + This tool retrieves a list of Automation Action runners sorted by runner name in alphabetical order. It should be called when you need information about available automation runners from Pagerduty.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/runners", + method="GET", + params=remove_none_values({ + "limit": maximum_results_limit, + "cursor": pagination_cursor, + "name": filter_by_runner_name, + "include[]": additional_data_inclusion, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def fetch_automation_action_runner( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the automation action runner to fetch details for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getAutomationActionsRunner'."]: + """Retrieve details of an Automation Action runner by ID. + + Call this tool to get detailed information about a specific automation action runner using its ID.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/runners/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_automation_action_runner( + context: ToolContext, + automation_action_runner_id: Annotated[ + str, "The unique identifier for the Automation Action runner to be deleted." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteAutomationActionsRunner'."]: + """Delete an Automation Action runner by ID. + + Use this tool to delete an Automation Action runner in Pagerduty. It should be called when you need to remove an existing runner by specifying its ID.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/runners/{id}".format( # noqa: UP032 + id=automation_action_runner_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_runner_team_associations( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the runner resource to retrieve associated team references." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getAutomationActionsRunnerTeamAssociations'." +]: + """Retrieve team associations for a specific runner. + + This tool retrieves all team references associated with a specific automation actions runner in Pagerduty. It should be called when you need to find out which teams are linked to a particular runner.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/runners/{id}/teams".format( # noqa: UP032 + id=resource_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def disassociate_runner_from_team( + context: ToolContext, + runner_resource_id: Annotated[ + str, "The unique ID of the runner resource to be disassociated from the team." + ], + team_id: Annotated[str, "The ID of the team to disassociate the runner from."], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteAutomationActionsRunnerTeamAssociation'." +]: + """Disassociates a runner from a team in Pagerduty. + + This tool removes the association between a specified runner and a team in Pagerduty's automation actions. Use it to manage runner and team assignments efficiently.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/runners/{id}/teams/{team_id}".format( # noqa: UP032 + id=runner_resource_id, team_id=team_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_runner_team_association( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier of the resource to get details for."], + team_id: Annotated[ + str, + "The unique identifier for the team whose runner association details are being fetched.", + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getAutomationActionsRunnerTeamAssociation'." +]: + """Fetch details of a runner and team association on Pagerduty. + + Use this tool to obtain information about the relationship between a specific runner and a team on Pagerduty. Ideal for understanding associations and assignments between automation runners and teams.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/automation_actions/runners/{id}/teams/{team_id}".format( # noqa: UP032 + id=resource_id, team_id=team_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_business_services( + context: ToolContext, + results_per_page: Annotated[ + int | None, "The maximum number of results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination for search results, useful for navigating through large sets of data.", # noqa: E501 + ] = None, + include_total_in_pagination: Annotated[ + bool | None, + "Include the total count in pagination responses for detailed data, set to true for inclusion.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listBusinessServices'."]: + """Retrieve a list of existing business services. + + Use this tool to retrieve information about business services that span multiple technical services and may involve various teams. Useful for gaining insights into cross-functional capabilities. Requires 'services.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_pagination, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_business_service_details( + context: ToolContext, + business_service_id: Annotated[ + str, "The unique identifier of the business service to retrieve details for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getBusinessService'."]: + """Retrieve details of an existing business service. + + Use this tool to get detailed information about a business service, which represents capabilities spanning multiple technical services.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/{id}".format(id=business_service_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_business_service( + context: ToolContext, + business_service_id: Annotated[str, "The unique identifier of the business service to delete."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteBusinessService'."]: + """Delete an existing business service. + + Use this tool to delete a specific business service from PagerDuty. Once deleted, the service will not be accessible, and no new incidents can be created for it. Appropriate when managing services spanning multiple teams.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/{id}".format(id=business_service_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def subscribe_to_business_service( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier of the business service to subscribe to."], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'createBusinessServiceAccountSubscription'." +]: + """Subscribe an account to a PagerDuty business service. + + Initiates a subscription for your account to a specified PagerDuty business service, requiring the 'subscribers.write' permission scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/{id}/account_subscription".format( # noqa: UP032 + id=resource_id + ), + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def unsubscribe_from_business_service( + context: ToolContext, + resource_id: Annotated[ + str, + "The ID of the resource to unsubscribe from. This identifies the specific business service in Pagerduty.", # noqa: E501 + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'removeBusinessServiceAccountSubscription'." +]: + """Unsubscribe an account from a business service. + + This tool is used to remove an account's subscription from a specified business service in Pagerduty. It should be called when you want to unsubscribe your account. Ensure the necessary OAuth permissions (`subscribers.write`) are in place.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/{id}/account_subscription".format( # noqa: UP032 + id=resource_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_business_service_subscribers( + context: ToolContext, + business_service_id: Annotated[ + str, "The ID of the business service to retrieve subscribers for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getBusinessServiceSubscribers'."]: + """Retrieve subscribers of a business service. + + Fetches a list of users subscribed for notifications on a specified business service. Ensure users are added through the appropriate POST method to be available via this endpoint. This requires OAuth scope 'subscribers.read'.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/{id}/subscribers".format( # noqa: UP032 + id=business_service_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_supporting_service_impacts( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the business service to retrieve supporting impacts for." + ], + include_additional_fields: Annotated[ + str | None, + "Specify additional fields like highest impacting priority or total impacted count to be included in the response.", # noqa: E501 + ] = None, + resource_ids: Annotated[ + str | None, + "A list of resource IDs to get impact information about specific business services.", + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getBusinessServiceSupportingServiceImpacts'." +]: + """Retrieve supporting business services sorted by impact level. + + Use this tool to get the most impacted business services supporting a given business service, up to a limit of 200. The services are sorted by impact, recent impact, and name.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/{id}/supporting_services/impacts".format( # noqa: UP032 + id=resource_id + ), + method="GET", + params=remove_none_values({ + "additional_fields[]": include_additional_fields, + "ids[]": resource_ids, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_top_level_business_service_impactors( + context: ToolContext, + business_service_ids: Annotated[ + str | None, + "A list of IDs for the specific business services to retrieve impactors for. This filters the impactors to those affecting these services.", # noqa: E501 + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getBusinessServiceTopLevelImpactors'." +]: + """Retrieve high-priority impactors for top-level business services. + + This tool retrieves a list of the highest priority impactors, such as incidents, for top-level business services. Impactors are returned in order of priority and creation date, supporting up to 200 entries. Use when needing details on significant impactors affecting business services.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/impactors", + method="GET", + params=remove_none_values({"ids[]": business_service_ids}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_business_service_impacts( + context: ToolContext, + include_additional_fields: Annotated[ + str | None, + "Specify additional fields to include, like highest impacting priority or total impacted count. Options: 'services.highest_impacting_priority', 'total_impacted_count'.", # noqa: E501 + ] = None, + specific_business_service_ids: Annotated[ + str | None, + "List of specific Business Service IDs to retrieve impact information for. Use this to target particular services.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getBusinessServiceImpacts'."]: + """Retrieve top business services by impact with status included. + + Fetch a list of top-level business services sorted by highest impact, including status. Useful for identifying the most affected services up to a limit of 200. Use the 'ids[]' parameter to get information on specific services. Requires 'services.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/impacts", + method="GET", + params=remove_none_values({ + "additional_fields[]": include_additional_fields, + "ids[]": specific_business_service_ids, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_priority_thresholds( + context: ToolContext, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getBusinessServicePriorityThresholds'." +]: + """Retrieve priority threshold information for an account. + + Fetches the global priority threshold to determine which incidents impact business services. Useful for understanding incident impacts based on set priorities.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/priority_thresholds", + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def clear_priority_thresholds( + context: ToolContext, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteBusinessServicePriorityThresholds'." +]: + """Clears the priority thresholds for business services. + + Use this tool to clear the priority threshold for an account, allowing any incident with a priority to impact business services.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/business_services/priority_thresholds", + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_change_events( + context: ToolContext, + results_per_page: Annotated[ + int | None, "The number of results to display per page of the response." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination in search results. Use this to skip a specified number of records.", # noqa: E501 + ] = None, + team_ids: Annotated[ + list[str] | None, + "An array of team IDs. Only results related to these teams will be returned. Account must have the 'teams' ability.", # noqa: E501 + ] = None, + integration_ids: Annotated[ + list[str] | None, + "An array of integration IDs to filter results. Only events related to these integrations will be returned.", # noqa: E501 + ] = None, + start_date_utc_iso: Annotated[ + str | None, + "The start of the date range for the search in UTC ISO 8601 format. Must be UTC datetime.", + ] = None, + end_date_utc: Annotated[ + str | None, + "The end of the date range for search, in UTC ISO 8601 format. Non-UTC datetimes will return HTTP 400.", # noqa: E501 + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total number of change events in the response. This may increase response time.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listChangeEvents'."]: + """Retrieve a list of existing change events from Pagerduty. + + This tool retrieves all existing change events from Pagerduty. It should be called when users need to view or manage change events in their system. It requires 'change_events.read' permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/change_events", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "team_ids[]": team_ids, + "integration_ids[]": integration_ids, + "since": start_date_utc_iso, + "until": end_date_utc, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def send_change_event( + context: ToolContext, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'createChangeEvent'."]: + """Send change events to Pagerduty's Events API. + + Use this tool to log or send change events to Pagerduty's Events API. It should be called whenever a change event needs to be recorded in Pagerduty's system.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/change_events", + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_change_event_details( + context: ToolContext, + resource_id: Annotated[str, "The unique ID of the change event to retrieve details for."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getChangeEvent'."]: + """Retrieve details about a specific change event. + + Use this tool to obtain detailed information about an existing change event. Ideal for monitoring changes or audits.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/change_events/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_escalation_policies( + context: ToolContext, + results_per_page: Annotated[ + int | None, + "Specifies the number of escalation policy results returned per page. Used for pagination.", + ] = None, + pagination_offset: Annotated[ + int | None, + "The starting point for pagination in the search results. Specify an integer to skip past a number of elements.", # noqa: E501 + ] = None, + filter_by_name: Annotated[ + str | None, "Filters results to include only records with names matching the query." + ] = None, + filter_by_user_ids: Annotated[ + list[str] | None, + "Array of user IDs to filter escalation policies where these users are targets.", + ] = None, + filter_by_team_ids: Annotated[ + list[str] | None, + "An array of team IDs to filter results. Only returns policies for specified teams. Requires `teams` ability.", # noqa: E501 + ] = None, + additional_models_to_include: Annotated[ + str | None, + "Array specifying additional models ('services', 'teams', 'targets') to include in response.", # noqa: E501 + ] = None, + sort_results_by: Annotated[ + str | None, + "Specify the field to sort the results on, such as 'name', 'name:asc', or 'name:desc'.", + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total field in pagination responses, showing the total number of entries.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listEscalationPolicies'."]: + """Retrieve all existing escalation policies for alerts. + + This tool retrieves a list of all escalation policies, which define alert notifications for users over time. It requires scope authorization for access.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/escalation_policies", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "query": filter_by_name, + "user_ids[]": filter_by_user_ids, + "team_ids[]": filter_by_team_ids, + "include[]": additional_models_to_include, + "sort_by": sort_results_by, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_escalation_policy_info( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier for the escalation policy resource."], + additional_models_to_include: Annotated[ + str | None, + "Array of additional models to include in the escalation policy response. Options are 'services', 'teams', or 'targets'.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getEscalationPolicy'."]: + """Retrieve details of an escalation policy and its rules. + + Use this tool to get information about a specific escalation policy, which defines alerting rules for users. Useful for understanding who is alerted and when in your Pagerduty setup.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/escalation_policies/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({"include[]": additional_models_to_include}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_escalation_policy( + context: ToolContext, + resource_id: Annotated[ + str, + "The ID of the escalation policy to be deleted. Ensure it is not in use before proceeding.", + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteEscalationPolicy'."]: + """Delete an existing escalation policy. + + Remove an existing escalation policy and its rules. Ensure the policy is not in use by any services before attempting deletion. Requires appropriate OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/escalation_policies/{id}".format(id=resource_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_escalation_policy_audit_records( + context: ToolContext, + resource_id: Annotated[str, "The ID of the escalation policy to retrieve audit records for."], + result_limit: Annotated[ + int | None, + "Specify the maximum number of audit records to return, capped by the API's maximum limit.", + ] = None, + pagination_cursor: Annotated[ + str | None, + "Optional string to request the next set of results. Use the `next_cursor` from the previous response to continue paging.", # noqa: E501 + ] = None, + start_date_range: Annotated[ + str | None, + "The start date for the search range. Defaults to the past 24 hours if not specified. Format as YYYY-MM-DD.", # noqa: E501 + ] = None, + end_date_range_for_search: Annotated[ + str | None, + "End of the date range for searching audit records. Defaults to current date if unspecified. Max 31 days after start.", # noqa: E501 + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'listEscalationPolicyAuditRecords'." +]: + """Retrieve audit records for an escalation policy. + + Call this tool to get audit records related to a specific escalation policy, sorted by execution time from newest to oldest. Useful for tracking changes and actions on escalation policies.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/escalation_policies/{id}/audit/records".format( # noqa: UP032 + id=resource_id + ), + method="GET", + params=remove_none_values({ + "limit": result_limit, + "cursor": pagination_cursor, + "since": start_date_range, + "until": end_date_range_for_search, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_global_event_orchestrations( + context: ToolContext, + results_per_page: Annotated[ + int | None, "The number of results to display per page in the response." + ] = None, + pagination_offset: Annotated[ + int | None, + "The starting point for pagination in search results. Specify the number of initial records to skip.", # noqa: E501 + ] = None, + sort_by_field: Annotated[ + str | None, + "Specify the field and order to sort results. Options: name, routes, created_at with asc or desc.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listEventOrchestrations'."]: + """Retrieve all Global Event Orchestrations on an account. + + Use this tool to obtain a list of Global Event Orchestrations from a Pagerduty account. Global Event Orchestrations help manage and route events based on predefined rules. This tool is useful when you need to analyze or modify orchestration configurations.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "sort_by": sort_by_field, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_global_event_orchestration( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique ID of the Global Event Orchestration to retrieve details for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOrchestration'."]: + """Fetch details of a Global Event Orchestration by ID. + + Retrieves information about a Global Event Orchestration, including Global Rules and Router Rules applied to events. Useful for understanding event routing and actions based on orchestration settings.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}".format(id=event_orchestration_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_global_event_orchestration( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique identifier of the Event Orchestration to be deleted." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteOrchestration'."]: + """Delete a Global Event Orchestration in PagerDuty. + + Use this tool to delete a Global Event Orchestration in PagerDuty. This action ceases the capability to ingest events using the Orchestration's Routing Key. Requires appropriate OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}".format(id=event_orchestration_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_event_orchestration_integrations( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique identifier for the specific event orchestration to retrieve integrations." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listOrchestrationIntegrations'."]: + """Retrieve integrations for an event orchestration. + + Use this tool to list all integrations associated with a specific event orchestration in PagerDuty. It enables you to retrieve routing keys used to send events. OAuth scope `event_orchestrations.read` is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/integrations".format( # noqa: UP032 + id=event_orchestration_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_integration_details( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The ID of an Event Orchestration to retrieve its integration details." + ], + integration_id: Annotated[ + str, "The unique identifier for the specific integration to retrieve details from." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOrchestrationIntegration'."]: + """Retrieve integration details for event orchestrations. + + This tool fetches details of a specific integration associated with event orchestrations in PagerDuty using the routing key. Ideal for obtaining integration information to facilitate event handling. Requires appropriate OAuth scope for access.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/integrations/{integration_id}".format( # noqa: UP032 + id=event_orchestration_id, integration_id=integration_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_integration_with_routing_key( + context: ToolContext, + event_orchestration_id: Annotated[str, "The ID of the Event Orchestration to be deleted."], + integration_identifier: Annotated[ + str, "The unique identifier for the PagerDuty integration to be deleted." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteOrchestrationIntegration'."]: + """Deletes a PagerDuty integration and its routing key. + + Use this tool to delete an integration in PagerDuty along with its associated routing key. This operation ensures that no future events are sent to PagerDuty using the obsolete routing key. Requires appropriate OAuth scope ('event_orchestrations.write').""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/integrations/{integration_id}".format( # noqa: UP032 + id=event_orchestration_id, integration_id=integration_identifier + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_global_orchestration_rules( + context: ToolContext, + event_orchestration_id: Annotated[ + str, + "The unique identifier for an Event Orchestration, required to fetch its global orchestration rules.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOrchPathGlobal'."]: + """Fetch the Global Orchestration Rules for Event Processing. + + Use this tool to obtain the global orchestration rules for a specific event orchestration. Useful for understanding how events are processed and modified globally. OAuth with 'event_orchestrations.read' is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/global".format( # noqa: UP032 + id=event_orchestration_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_orchestration_routing_rules( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique identifier for the Event Orchestration to retrieve routing rules." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOrchPathRouter'."]: + """Retrieve routing rules for a Global Orchestration. + + Use this tool to obtain the set of Event Rules in a Global Orchestration Router. It evaluates and routes events to a specific service based on matching rules or defaults to an 'Unrouted' service.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/router".format( # noqa: UP032 + id=event_orchestration_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_unrouted_event_rules( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique identifier for an Event Orchestration to fetch unrouted event rules." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOrchPathUnrouted'."]: + """Retrieve rules for unrouted events in a global orchestration. + + This tool fetches the rules for handling events that do not match any route in a Global Event Orchestration's Router. It evaluates events against its rules, beginning with the 'start' set, and facilitates further processing.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/unrouted".format( # noqa: UP032 + id=event_orchestration_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_orchestration( + context: ToolContext, + service_identifier: Annotated[ + str, "The unique ID of the service for which orchestration details are to be retrieved." + ], + include_models: Annotated[ + str | None, + "An array of additional models like 'migrated_metadata' to include in the response.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOrchPathService'."]: + """Retrieve orchestration rules for a specific service. + + This tool retrieves the orchestration rules set for a specific service in Pagerduty. It evaluates events against these rules to modify, enhance, or route them. Useful for understanding event processing and service automation configurations.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}".format( # noqa: UP032 + service_id=service_identifier + ), + method="GET", + params=remove_none_values({"include[]": include_models}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_orchestration_status( + context: ToolContext, + service_id: Annotated[str, "The unique identifier for the service you want to query."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOrchActiveStatus'."]: + """Retrieve a service orchestration's active status. + + Use this tool to determine if a service orchestration is currently active, indicating if an event will be evaluated against a service orchestration path or ruleset. Useful for monitoring and managing service workflows.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/active".format( # noqa: UP032 + service_id=service_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_cache_variables( + context: ToolContext, + event_orchestration_id: Annotated[ + str, + "The unique identifier for an Event Orchestration. Required to list the cache variables.", + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listCacheVarOnGlobalOrch'."]: + """Retrieve cache variables for a global event orchestration. + + Use this tool to list cache variables associated with a global event orchestration. Cache variables store event data, which can be used in orchestration rules for conditions or actions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables".format( # noqa: UP032 + id=event_orchestration_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def create_cache_variable_global_event( + context: ToolContext, + event_orchestration_id: Annotated[ + str, + "The unique identifier for the Event Orchestration. This ID is used to specify which orchestration the cache variable will be created for.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'createCacheVarOnGlobalOrch'."]: + """Create a cache variable for global event orchestration. + + This tool creates a cache variable for a Global Event Orchestration in Pagerduty. It is used to store event data which can be utilized in event orchestration rules for conditions or actions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables".format( # noqa: UP032 + id=event_orchestration_id + ), + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_global_orch_cache_variable( + context: ToolContext, + event_orchestration_id: Annotated[ + str, + "The ID of an Event Orchestration to identify which orchestration to retrieve the cache variable from.", # noqa: E501 + ], + cache_variable_identifier: Annotated[ + str, "The unique ID of a Cache Variable to retrieve within a Global Event Orchestration." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getCacheVarOnGlobalOrch'."]: + """Fetch a Cache Variable for a Global Event Orchestration. + + Use this tool to retrieve a specific Cache Variable within a Global Event Orchestration, which is useful for managing event data in orchestration rules for conditions or actions. Scoped OAuth with `event_orchestrations.read` is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}".format( # noqa: UP032 + id=event_orchestration_id, cache_variable_id=cache_variable_identifier + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def update_event_cache_variable( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique identifier for an Event Orchestration to be updated." + ], + cache_variable_id: Annotated[ + str, "The ID of the Cache Variable to update for the event orchestration." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'updateCacheVarOnGlobalOrch'."]: + """Update a cache variable for a global event orchestration. + + This tool updates a Cache Variable for a Global Event Orchestration in Pagerduty. Use it to store event data that can be utilized in event orchestration rules. Appropriate for conditions or actions within orchestrations. Requires OAuth permission: `event_orchestrations.write`. Useful when modifying event handling rules.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}".format( # noqa: UP032 + id=event_orchestration_id, cache_variable_id=cache_variable_id + ), + method="PUT", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_cache_variable_event_orchestration( + context: ToolContext, + event_orchestration_id: Annotated[ + str, + "The ID of the Event Orchestration to identify which orchestration's cache variable to delete.", # noqa: E501 + ], + cache_variable_id: Annotated[ + str, + "The ID of a specific Cache Variable to be deleted. Required for identifying the variable within the event orchestration.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteCacheVarOnGlobalOrch'."]: + """Delete a cache variable for a global event orchestration. + + Use this tool to delete a cache variable associated with a global event orchestration on Pagerduty. Cache variables store event data that can be utilized in orchestration rules. Requires appropriate OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}".format( # noqa: UP032 + id=event_orchestration_id, cache_variable_id=cache_variable_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_external_data_cache_variable( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique identifier for an Event Orchestration in Pagerduty." + ], + cache_variable_id: Annotated[ + str, "The ID of the cache variable to retrieve data for in the orchestration." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getExternalDataCacheVarDataOnGlobalOrch'." +]: + """Retrieve cache variable data from a Global Orchestration. + + Use this tool to get the data of an external data type cache variable from a specified Global Orchestration in Pagerduty. This can include string, number, or boolean values stored for use in event orchestration rules. Requires appropriate OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data".format( # noqa: UP032 + id=event_orchestration_id, cache_variable_id=cache_variable_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def update_cache_variable_data( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique ID of the Event Orchestration to update the cache variable for." + ], + cache_variable_id: Annotated[str, "The unique identifier for the Cache Variable to update."], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'updateExternalDataCacheVarDataOnGlobalOrch'." +]: + """Update cache variable data in Global Event Orchestration. + + Use this tool to update the data for an external cache variable in a Global Event Orchestration. It is useful for storing string, number, or boolean values that can be used in Event Orchestration rules. Requires `event_orchestrations.write` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data".format( # noqa: UP032 + id=event_orchestration_id, cache_variable_id=cache_variable_id + ), + method="PUT", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_external_data_cache_variable( + context: ToolContext, + event_orchestration_id: Annotated[ + str, + "The unique identifier for an Event Orchestration. Required for specifying which orchestration's cache variable to delete.", # noqa: E501 + ], + cache_variable_id: Annotated[ + str, "The unique identifier for the specific cache variable to be deleted." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteExternalDataCacheVarDataOnGlobalOrch'." +]: + """Deletes data for a cache variable in Global Event Orchestration. + + Use this tool to delete data stored in an `external_data` type cache variable within a Global Event Orchestration. This is essential for managing values used in orchestration rules, such as conditions or actions. Requires scoped OAuth with `event_orchestrations.write` permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data".format( # noqa: UP032 + id=event_orchestration_id, cache_variable_id=cache_variable_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_service_event_cache_variables( + context: ToolContext, + service_id: Annotated[ + str, "The unique identifier for the service to retrieve cache variables." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listCacheVarOnServiceOrch'."]: + """List cache variables for a service event orchestration. + + Use this tool to retrieve cache variables stored in a service event orchestration, which can be utilized in orchestration rules for conditions or actions. Scoped OAuth with `services.read` permission is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables".format( # noqa: UP032 + service_id=service_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def create_cache_variable_for_event( + context: ToolContext, + service_id: Annotated[ + str, "The unique identifier for the service where the cache variable will be created." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'createCacheVarOnServiceOrch'."]: + """Create a cache variable for service event orchestration. + + This tool creates a cache variable for storing event data on a service event orchestration. It is useful for leveraging data in event orchestration rules as part of conditions or actions. Requires 'services.write' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables".format( # noqa: UP032 + service_id=service_id + ), + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_event_cache_variable( + context: ToolContext, + service_id: Annotated[ + str, + "A string representing the unique ID of the service for which the cache variable is to be retrieved.", # noqa: E501 + ], + cache_variable_id: Annotated[ + str, "The unique identifier for the cache variable in the service event orchestration." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getCacheVarOnServiceOrch'."]: + """Retrieve a cache variable from a service event orchestration. + + This tool retrieves a specific cache variable associated with a service event orchestration in Pagerduty. Cache variables are used to store event data and can be utilized in orchestration rules for conditions or actions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}".format( # noqa: UP032 + service_id=service_id, cache_variable_id=cache_variable_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def update_service_event_cache_variable( + context: ToolContext, + service_identifier: Annotated[ + str, "The unique identifier for the service whose cache variable is to be updated." + ], + cache_variable_id: Annotated[ + str, "The unique identifier for the cache variable you want to update." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'updateCacheVarOnServiceOrch'."]: + """Update a cache variable for a service event orchestration. + + Use this tool to update cache variables within a service event orchestration on Pagerduty. Ideal for maintaining and manipulating event data to match specific orchestration rules and conditions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}".format( # noqa: UP032 + service_id=service_identifier, cache_variable_id=cache_variable_id + ), + method="PUT", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_cache_variable( + context: ToolContext, + service_id: Annotated[ + str, "The unique identifier for the service related to the event orchestration." + ], + cache_variable_id: Annotated[ + str, "The ID of the Cache Variable to be deleted from the service event orchestration." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteCacheVarOnServiceOrch'."]: + """Delete a cache variable from a service event orchestration. + + Use this tool to delete a Cache Variable associated with a Service Event Orchestration in PagerDuty. Cache Variables store event data and are used in orchestration rules for conditions or actions. This operation requires OAuth with 'services.write' permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}".format( # noqa: UP032 + service_id=service_id, cache_variable_id=cache_variable_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def retrieve_service_cache_variable( + context: ToolContext, + service_identifier: Annotated[ + str, "The unique identifier for the service. Required to retrieve cache variable data." + ], + cache_variable_id: Annotated[ + str, + "The unique identifier for a Cache Variable. Use this to specify which external data cache variable you want to retrieve for service event orchestration.", # noqa: E501 + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getExternalDataCacheVarDataOnServiceOrch'." +]: + """Retrieve data for an external cache variable in event orchestration. + + Use this tool to get data stored in an external cache variable for service event orchestration. Useful for retrieving string, number, or boolean values used in orchestration rules.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data".format( # noqa: UP032 + service_id=service_identifier, cache_variable_id=cache_variable_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def update_external_data_cache_variable( + context: ToolContext, + service_id: Annotated[str, "The unique identifier for the service to be updated."], + cache_variable_id: Annotated[ + str, "The ID of the cache variable to be updated in the service orchestration." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'updateExternalDataCacheVarDataOnServiceOrch'." +]: + """Update external data cache variable for a service orchestration. + + This tool updates the data for an external_data type Cache Variable on a Service Event Orchestration in Pagerduty. It allows storing string, number, or boolean values, which can be used in event orchestration rules. Use this when you need to change the cache variable data associated with a service.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data".format( # noqa: UP032 + service_id=service_id, cache_variable_id=cache_variable_id + ), + method="PUT", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_service_cache_variable_data( + context: ToolContext, + service_id: Annotated[ + str, "The unique identifier for the service whose cache variable data will be deleted." + ], + cache_variable_id: Annotated[ + str, "The unique identifier for a Cache Variable in a service's event orchestration." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteExternalDataCacheVarDataOnServiceOrch'." +]: + """Delete cache variable data for a service event orchestration. + + This tool deletes data for an `external_data` type cache variable in a service event orchestration on Pagerduty. It should be used to clear stored values that are used in conditions or actions within event orchestration rules.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data".format( # noqa: UP032 + service_id=service_id, cache_variable_id=cache_variable_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_event_orchestration_features( + context: ToolContext, + event_orchestration_id: Annotated[ + str, "The unique identifier for the Event Orchestration to retrieve feature settings for." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'listEventOrchestrationFeatureEnablements'." +]: + """Retrieve feature enablement settings for an Event Orchestration. + + This tool lists all feature enablement settings for an Event Orchestration, focusing on AIOps enablement. It's designed for accounts with the AIOps product addon. A warning will be included if the account isn't entitled to use AIOps features.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/event_orchestrations/{id}/enablements".format( # noqa: UP032 + id=event_orchestration_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_extension_schemas( + context: ToolContext, + results_per_page: Annotated[ + int | None, "The number of results to display per page when listing extension schemas." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to begin paginated search results. Provide an integer to specify the starting point in the data.", # noqa: E501 + ] = None, + include_total_in_pagination: Annotated[ + bool | None, + "Set to true to include the total number of results in the pagination response. Set to false for faster response times.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listExtensionSchemas'."]: + """Retrieve all PagerDuty extension schemas. + + Use this tool to list all extension schemas available in PagerDuty, representing different types of outbound extensions like Generic Webhook, Slack, and ServiceNow. Useful for integrating with or understanding existing extension capabilities within PagerDuty.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/extension_schemas", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_pagination, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_extension_vendor_details( + context: ToolContext, + extension_vendor_id: Annotated[ + str, "The unique identifier for the specific PagerDuty extension vendor." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getExtensionSchema'."]: + """Retrieve details of a specific PagerDuty extension vendor. + + This tool fetches detailed information about a specific extension vendor in PagerDuty, such as types like Slack or ServiceNow. Use this when you need to understand the capabilities of an extension vendor.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/extension_schemas/{id}".format(id=extension_vendor_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_pagerduty_extensions( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specify the number of extensions to retrieve per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination of search results. Use this to skip a specified number of items.", # noqa: E501 + ] = None, + filter_by_name_query: Annotated[ + str | None, "Filters results to show only records whose name matches the given query." + ] = None, + filter_by_extension_object_id: Annotated[ + str | None, "Filter results by the specific extension object's ID." + ] = None, + filter_by_extension_vendor_id: Annotated[ + str | None, "Filter the extensions by the ID of the extension vendor." + ] = None, + include_additional_details: Annotated[ + str | None, + "Specify additional details to include, such as 'extension_objects' or 'extension_schemas'.", # noqa: E501 + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total count of records in the response; otherwise, it will be null for faster response times.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listExtensions'."]: + """Retrieve a list of existing Pagerduty extensions. + + This tool retrieves existing extensions in Pagerduty, which are representations of Extension Schema objects attached to Services. It is useful for managing or viewing integrations related to services in your Pagerduty account.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/extensions", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "query": filter_by_name_query, + "extension_object_id": filter_by_extension_object_id, + "extension_schema_id": filter_by_extension_vendor_id, + "include[]": include_additional_details, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_extension_details( + context: ToolContext, + extension_id: Annotated[ + str, "The unique ID of the PagerDuty extension to retrieve details for." + ], + include_additional_details: Annotated[ + str | None, + "Specify additional details to include in the response. Options are 'extension_schemas', 'extension_objects', and 'temporarily_disabled'.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getExtension'."]: + """Retrieve details of a PagerDuty extension by ID. + + Call this tool to get detailed information about a specific PagerDuty extension using its ID. Useful for understanding configurations and properties attached to services.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/extensions/{id}".format(id=extension_id), # noqa: UP032 + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_extension( + context: ToolContext, + extension_id: Annotated[ + str, + "The unique identifier for the extension to be deleted. This is necessary to specify which extension to remove.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteExtension'."]: + """Delete an existing extension in Pagerduty. + + Use this tool to delete an extension in Pagerduty. Once deleted, the extension becomes inaccessible from the web UI, and new incidents can't be created for it. This is useful for cleaning up or managing extensions attached to services.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/extensions/{id}".format(id=extension_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def enable_extension( + context: ToolContext, + resource_id: Annotated[str, "The ID of the extension resource to enable in Pagerduty."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'enableExtension'."]: + """Enable a temporarily disabled extension in Pagerduty. + + Call this tool to enable an extension that has been temporarily disabled on Pagerduty. The extension is linked to a specific service and no request body is required. Suitable for reactivating functionalities swiftly. Requires 'extensions.write' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/extensions/{id}/enable".format(id=resource_id), # noqa: UP032 + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_workflows( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specify the maximum number of incident workflow results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "The starting point for pagination of search results. Define how many items to skip before beginning to return results.", # noqa: E501 + ] = None, + name_filter_query: Annotated[ + str | None, "Specify a search query to filter results by matching workflow names." + ] = None, + include_additional_details: Annotated[ + str | None, "Specify additional details to include, such as steps or team." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total count field in pagination responses. This may affect response speed.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentWorkflows'."]: + """Retrieve all existing incident workflows. + + Use this tool to list all incident workflows in your Pagerduty account. Ideal for obtaining a comprehensive view of all workflows, including sequences of steps and triggers configured for incidents.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "query": name_filter_query, + "include[]": include_additional_details, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_workflow( + context: ToolContext, + resource_id: Annotated[ + str, + "The unique identifier for the Incident Workflow you wish to retrieve. This ID is required to specify the exact workflow in Pagerduty.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncidentWorkflow'."]: + """Retrieve details of an existing Incident Workflow. + + Call this tool to obtain information about a specific Incident Workflow in Pagerduty. An Incident Workflow includes a sequence of steps and triggers for automated actions related to an incident.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_incident_workflow( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier of the incident workflow to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteIncidentWorkflow'."]: + """Deletes an existing incident workflow by ID. + + Use this tool to delete an existing incident workflow that consists of configurable steps and triggers for incident automation. Requires the appropriate OAuth scope to perform this action.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/{id}".format(id=resource_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_workflow_actions( + context: ToolContext, + limit_results: Annotated[ + int | None, "Specifies the maximum number of workflow actions to return in the response." + ] = None, + pagination_cursor: Annotated[ + str | None, + "Optional. Use to request the next set of results from the API. Obtained from the `next_cursor` field of the previous request.", # noqa: E501 + ] = None, + filter_by_keyword: Annotated[ + str | None, + "Specify a keyword to filter actions, showing only those tagged with this keyword.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentWorkflowActions'."]: + """Retrieve a list of incident workflow actions. + + This tool is used to fetch a list of actions available in incident workflows via Pagerduty. It requires OAuth permission `incident_workflows.read` and is useful for understanding available actions within incident workflows.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/actions", + method="GET", + params=remove_none_values({ + "limit": limit_results, + "cursor": pagination_cursor, + "keyword": filter_by_keyword, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_workflow_action( + context: ToolContext, + resource_id: Annotated[str, "The ID of the incident workflow action to retrieve details for."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncidentWorkflowAction'."]: + """Retrieve details of a specific incident workflow action. + + Use this tool to obtain information about a specific incident workflow action in Pagerduty. Useful for monitoring and managing incident workflows.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/actions/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_workflow_triggers( + context: ToolContext, + filter_by_workflow_id: Annotated[ + str | None, + "Filter triggers to those configured to start the specified workflow ID. Useful for listing services associated with it.", # noqa: E501 + ] = None, + incident_identifier: Annotated[ + str | None, + "Filter triggers by the incident's service, if provided. Cannot be used with `service_identifier`.", # noqa: E501 + ] = None, + specific_service_id: Annotated[ + str | None, + "Filter triggers for incidents in a specific service. Cannot be used with `specific_incident_id`.", # noqa: E501 + ] = None, + trigger_type: Annotated[ + str | None, + "Show triggers of a specified type, such as 'manual', 'conditional', or 'incident_type'.", + ] = None, + filter_workflow_name_contains: Annotated[ + str | None, "Filter triggers by workflows whose names contain this substring." + ] = None, + sort_triggers_by: Annotated[ + str | None, + "Specify a property to sort the triggers. Options: workflow_id, workflow_id asc, workflow_name desc, etc.", # noqa: E501 + ] = None, + result_limit: Annotated[ + int | None, + "The number of incident workflow triggers to return, up to the API's maximum limit.", + ] = None, + pagination_cursor: Annotated[ + str | None, + "Optional string to request the next set of results. Use the `next_cursor` from the previous request; starts at the beginning if not provided.", # noqa: E501 + ] = None, + show_disabled_triggers: Annotated[ + bool | None, + "Set to true to show disabled triggers, false to show enabled. Deprecated and will be removed soon.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentWorkflowTriggers'."]: + """Retrieve a list of existing incident workflow triggers. + + Use this tool to fetch all existing incident workflow triggers from Pagerduty. It helps in identifying available workflow triggers for automation or integration purposes.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/triggers", + method="GET", + params=remove_none_values({ + "workflow_id": filter_by_workflow_id, + "incident_id": incident_identifier, + "service_id": specific_service_id, + "trigger_type": trigger_type, + "workflow_name_contains": filter_workflow_name_contains, + "is_disabled": show_disabled_triggers, + "sort_by": sort_triggers_by, + "limit": result_limit, + "cursor": pagination_cursor, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_workflow_trigger( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the resource to retrieve the Incident Workflows Trigger." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncidentWorkflowTrigger'."]: + """Retrieve details of an existing Incident Workflows Trigger. + + Call this tool to get information about a specific Incident Workflows Trigger using its ID. Useful for accessing detailed trigger configurations or statuses in Pagerduty.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/triggers/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_incident_workflow_trigger( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the incident workflow trigger to be deleted." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteIncidentWorkflowTrigger'."]: + """Deletes an existing incident workflow trigger. + + Use this tool to delete an existing incident workflow trigger in Pagerduty. Requires the 'incident_workflows.write' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/triggers/{id}".format(id=resource_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_service_from_workflow_trigger( + context: ToolContext, + trigger_identifier: Annotated[ + str, "The unique identifier for the trigger from which the service will be removed." + ], + service_identifier: Annotated[ + str, "The unique identifier for the service to be removed from the workflow trigger." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteServiceFromIncidentWorkflowTrigger'." +]: + """Remove a service from an incident workflow trigger. + + Use this tool to delete an existing service from a specified incident workflow trigger in Pagerduty. Typically called when you want to modify incident workflows by removing services that are no longer needed.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incident_workflows/triggers/{trigger_id}/services/{service_id}".format( # noqa: UP032 + trigger_id=trigger_identifier, service_id=service_identifier + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incidents( + context: ToolContext, + number_of_results_per_page: Annotated[ + int | None, "Specifies the number of incidents to return per page, up to a maximum of 100." + ] = None, + pagination_offset: Annotated[ + int | None, "Offset for pagination, indicating the starting point for search results." + ] = None, + ignore_date_filters: Annotated[ + str | None, + "Set to 'all' to ignore 'since' and 'until' date filters, using all available data.", + ] = None, + incident_deduplication_key: Annotated[ + str | None, + "A string representing the de-duplication key of the incident. Incidents with child alerts do not have an incident key. Use it to query incidents by matching alert keys.", # noqa: E501 + ] = None, + filter_by_service_ids: Annotated[ + list[str] | None, + "List of service IDs to filter incidents. Only incidents linked to these service IDs will be returned.", # noqa: E501 + ] = None, + team_ids: Annotated[ + list[str] | None, + "Array of team IDs to filter incidents. Only relevant incidents for these teams will be returned.", # noqa: E501 + ] = None, + assigned_user_ids: Annotated[ + list[str] | None, + "List of user IDs to filter incidents assigned to specific users. Only incidents with statuses of triggered or acknowledged will be returned, as resolved incidents are not assigned to any user.", # noqa: E501 + ] = None, + urgency_filters: Annotated[ + str | None, + "Array of urgencies to filter incidents by. Options: 'high', 'low'. Defaults to all urgencies.", # noqa: E501 + ] = None, + time_zone: Annotated[ + str | None, + "Time zone for rendering results. Defaults to the account time zone if not specified.", + ] = None, + incident_statuses: Annotated[ + str | None, + "Specify statuses to filter incidents: triggered, acknowledged, resolved. Allows multiple selections.", # noqa: E501 + ] = None, + sort_incidents_by: Annotated[ + list[str] | None, + "Specify fields to sort incidents by, with optional direction (e.g., 'incident_number:asc'). Up to two fields allowed.", # noqa: E501 + ] = None, + include_additional_details: Annotated[ + str | None, + "Specify additional details to include, such as acknowledgers, agents, or services, using predefined categories.", # noqa: E501 + ] = None, + start_date: Annotated[ + str | None, + "The start of the date range for searching incidents. Maximum range is 6 months; default is 1 month.", # noqa: E501 + ] = None, + end_date_range: Annotated[ + str | None, + "The end date of the search range. Maximum span is 6 months; defaults to 1 month.", + ] = None, + include_total_in_response: Annotated[ + bool | None, "Set to true to populate the `total` field in the pagination response." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidents'."]: + """Retrieve a list of current incidents. + + This tool provides a list of existing incidents, representing problems or issues needing resolution. It should be called when detailed information on current incidents is required. This requires OAuth scope: `incidents.read`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents", + method="GET", + params=remove_none_values({ + "limit": number_of_results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "date_range": ignore_date_filters, + "incident_key": incident_deduplication_key, + "service_ids[]": filter_by_service_ids, + "team_ids[]": team_ids, + "user_ids[]": assigned_user_ids, + "urgencies[]": urgency_filters, + "time_zone": time_zone, + "statuses[]": incident_statuses, + "sort_by": sort_incidents_by, + "include[]": include_additional_details, + "since": start_date, + "until": end_date_range, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def retrieve_incident_detail( + context: ToolContext, + incident_id: Annotated[ + str, "The unique identifier or number for the incident to retrieve details." + ], + additional_details_to_include: Annotated[ + str | None, + "Array of additional details to include, such as 'acknowledgers', 'agents', etc.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncident'."]: + """Retrieve detailed information about a Pagerduty incident. + + This tool provides detailed information about a specific incident in Pagerduty. It can be called using either an incident ID or number. Use this to get insights into issues that need resolution. Requires 'incidents.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({"include[]": additional_details_to_include}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_alerts( + context: ToolContext, + incident_id: Annotated[str, "The unique identifier for the incident to retrieve alerts."], + results_per_page: Annotated[ + int | None, "Specifies the number of alert results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, "Offset to start pagination for search results." + ] = None, + alert_deduplication_key: Annotated[ + str | None, "A unique key used for alert de-duplication in incident management." + ] = None, + alert_statuses: Annotated[ + str | None, + "Return only alerts with the specified statuses. Accepts 'triggered' or 'resolved'.", + ] = None, + sort_incident_alerts: Annotated[ + str | None, + "Specify the field (created_at/resolved_at) and direction (asc/desc) to sort alerts. Use a colon ':' to separate field and direction, and a comma ',' if using two fields.", # noqa: E501 + ] = None, + additional_details_to_include: Annotated[ + str | None, + "List of additional details to include, such as 'services', 'first_trigger_log_entries', and 'incidents'.", # noqa: E501 + ] = None, + populate_total_field: Annotated[ + bool | None, + "Set to true to populate the total field in pagination responses for accurate count, set to false for faster responses.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentAlerts'."]: + """Retrieve a list of alerts for a specific incident. + + Use this tool to get alerts related to a particular incident, which represents a problem requiring attention and resolution. Useful for monitoring and managing ongoing issues.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/alerts".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": populate_total_field, + "alert_key": alert_deduplication_key, + "statuses[]": alert_statuses, + "sort_by": sort_incident_alerts, + "include[]": additional_details_to_include, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_alert_details( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the alert resource to retrieve details for." + ], + alert_id: Annotated[str, "The ID of the alert you want to retrieve details for."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncidentAlert'."]: + """Retrieve detailed information about a specific alert. + + Use this tool to get detailed information about a specific alert using the alert ID. Useful for understanding and resolving problems associated with incidents.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/alerts/{alert_id}".format( # noqa: UP032 + id=resource_id, alert_id=alert_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_impacted_business_services( + context: ToolContext, + incident_id: Annotated[ + str, "The unique identifier for the incident affecting business services." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getIncidentImpactedBusinessServices'." +]: + """Retrieve impacted business services for an incident. + + Retrieve a list of business services that are impacted by a specific incident. This tool should be called when you need to understand the impact of an incident on various business services.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/business_services/impacts".format( # noqa: UP032 + id=incident_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_field_values( + context: ToolContext, + incident_id: Annotated[ + str, + "The unique identifier of the incident to retrieve field values for. This is required for the API call.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncidentFieldValues'."]: + """Retrieve custom field values for a specific incident. + + Call this tool to obtain custom field values associated with a specific incident in Pagerduty. Useful for when detailed information about incident fields is required. Requires 'incidents.read' permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/custom_fields/values".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ) + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_log_entries( + context: ToolContext, + incident_id: Annotated[str, "The unique ID of the incident to retrieve log entries for."], + results_per_page: Annotated[ + int | None, "Specifies the number of log entries returned per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination for search results. Use to specify the starting point for the result set.", # noqa: E501 + ] = None, + result_time_zone: Annotated[ + str | None, + "Specify the time zone for the results. Defaults to the account time zone if not specified.", # noqa: E501 + ] = None, + start_date_for_search: Annotated[ + str | None, + "Start date for the search range. Specify the beginning of the date range over which you want to search.", # noqa: E501 + ] = None, + date_range_end: Annotated[ + str | None, "The end date for the range to search log entries. Format: YYYY-MM-DDTHH:MM:SSZ" + ] = None, + additional_models_to_include: Annotated[ + str | None, + "Array of additional models to include in the response, such as incidents, services, channels, or teams.", # noqa: E501 + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the `total` field in pagination responses for log entries.", + ] = None, + return_overview_logs_only: Annotated[ + bool | None, + "Return a subset of log entries showing only the most important changes to the incident when true.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentLogEntries'."]: + """Retrieve log entries for a specific incident. + + This tool fetches and lists log entries associated with a specific incident. Use it when you need detailed records of all events related to an incident on Pagerduty.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/log_entries".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "time_zone": result_time_zone, + "since": start_date_for_search, + "until": date_range_end, + "is_overview": return_overview_logs_only, + "include[]": additional_models_to_include, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_notes( + context: ToolContext, + incident_id: Annotated[str, "The unique ID of the incident for which to list notes."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentNotes'."]: + """Retrieve existing notes for a specified incident. + + Use this tool to obtain a list of notes related to a particular incident. This is useful for tracking comments or updates on an incident that needs resolution.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/notes".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_outlier_incident_info( + context: ToolContext, + incident_id: Annotated[str, "The unique ID of the incident to retrieve outlier details for."], + start_date_for_search: Annotated[ + str | None, "The start date of the range for searching outlier incidents." + ] = None, + additional_attributes_for_related_incidents: Annotated[ + str | None, + "List of additional attributes for the returned related incidents. Options include 'incident'.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOutlierIncident'."]: + """Retrieve outlier incident details for a specific incident. + + Use this tool to obtain detailed information about an outlier incident associated with a specific service incident in Pagerduty. Requires scoped OAuth with `incidents.read` permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/outlier_incident".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "since": start_date_for_search, + "additional_details[]": additional_attributes_for_related_incidents, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def retrieve_past_incidents( + context: ToolContext, + resource_id: Annotated[ + str, + "The identifier of the service or incident for which past incidents are to be retrieved.", + ], + results_limit: Annotated[ + int | None, "Specify the number of past incidents to be returned." + ] = None, + include_total_count: Annotated[ + bool | None, + "Set to true to include the total number of past incidents in the response. Default is false for faster performance.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getPastIncidents'."]: + """Retrieve past incidents related to a specific incident. + + Use this tool to obtain a list of past incidents from the same service that share metadata with a given incident. Useful for analyzing historical incident data related to a service within the past 6 months. Requires authorization with scoped OAuth using `incidents.read`. Only available with Event Intelligence or Digital Operations plans.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/past_incidents".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({"limit": results_limit, "total": include_total_count}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_related_change_events_for_incident( + context: ToolContext, + incident_id: Annotated[ + str, "The unique ID of the incident for which related change events are to be retrieved." + ], + results_per_page: Annotated[ + int | None, "Specifies the number of change events to return per page." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentRelatedChangeEvents'."]: + """List related change events for an incident. + + Provides a list of related change events for a specified incident, along with reasons for their correlation. Useful during incident triage to understand service changes like deploys and configuration updates.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/related_change_events".format(id=incident_id), # noqa: UP032 + method="GET", + params=remove_none_values({"limit": results_per_page}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_recent_related_incidents( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the resource to fetch related incidents for." + ], + include_additional_incident_details: Annotated[ + str | None, + "Indicate if additional attributes should be included for returned incidents. Valid option is 'incident'.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getRelatedIncidents'."]: + """Fetch recent related incidents impacting responders and services. + + Use this tool to obtain the 20 most recent related incidents impacting other responders and services. This is available with the Event Intelligence package or Digital Operations plan.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/related_incidents".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({"additional_details[]": include_additional_incident_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_notification_subscribers( + context: ToolContext, + incident_id: Annotated[ + str, "The unique identifier for the incident to retrieve its notification subscribers." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getIncidentNotificationSubscribers'." +]: + """Retrieve subscribers for an incident's notification. + + Call this tool to get a list of notification subscribers for a specific incident. This is useful for understanding who will receive updates about the incident's status. Users must be added through the corresponding POST endpoint to be included.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/{id}/status_updates/subscribers".format( # noqa: UP032 + id=incident_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_types( + context: ToolContext, + filter_incident_types_by_state: Annotated[ + str | None, "Filter incident types by their enabled state: 'enabled', 'disabled', or 'all'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentTypes'."]: + """Retrieve a list of available incident types. + + Retrieves and categorizes incidents like security, major, or fraud incidents. It can filter by enabled or disabled types, requiring 'incident_types.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/types", + method="GET", + params=remove_none_values({"filter": filter_incident_types_by_state}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_type_info( + context: ToolContext, + incident_type_identifier: Annotated[ + str, "The ID or name of the incident type to get detailed information about it." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncidentType'."]: + """Get detailed information about a specific incident type. + + Use this tool to obtain detailed information about a single incident type by providing either its ID or name. It helps categorize incidents as security, major, or fraud-related. Requires scoped OAuth authorization with 'incident_types.read'.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/types/{type_id_or_name}".format( # noqa: UP032 + type_id_or_name=incident_type_identifier + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_custom_fields( + context: ToolContext, + incident_type_identifier: Annotated[ + str, "The ID or name of the incident type to retrieve custom fields for." + ], + include_additional_details: Annotated[ + str | None, + "Specifies additional details to include in the response, such as 'field_options'.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentTypeCustomFields'."]: + """Retrieve custom fields for a specific incident type. + + Use this tool to list custom fields associated with a particular incident type. These fields provide additional context and support functionalities like customized filtering, search, and analytics. Useful when you need to enhance incident data with customer-specific information.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields".format( # noqa: UP032 + type_id_or_name=incident_type_identifier + ), + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_custom_field_for_incident_type( + context: ToolContext, + incident_type_identifier: Annotated[ + str, "The ID or name of the incident type to retrieve the custom field for." + ], + field_identifier: Annotated[ + str, "The unique ID of the custom field to retrieve for the incident type." + ], + include_field_options: Annotated[ + str | None, "Optional: Specify 'field_options' to include additional details." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getIncidentTypeCustomField'."]: + """Retrieve a custom field for a specific incident type.""" + response = await make_request( + url="https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}".format( # noqa: UP032 + type_id_or_name=incident_type_identifier, field_id=field_identifier + ), + method="GET", + params=remove_none_values({"include[]": include_field_options}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_incident_custom_field( + context: ToolContext, + incident_type_identifier: Annotated[ + str, "The ID or name of the incident type for which the custom field should be deleted." + ], + field_id: Annotated[ + str, "The unique identifier for the custom field to be deleted from the incident type." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteIncidentTypeCustomField'."]: + """Delete a custom field from an incident type. + + Use this tool to remove a custom field associated with a specific incident type, allowing for updated configurations and management of incident data.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}".format( # noqa: UP032 + type_id_or_name=incident_type_identifier, field_id=field_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_custom_field_options( + context: ToolContext, + incident_type_id_or_name: Annotated[ + str, "The ID or name of the Incident Type to list custom field options for." + ], + field_identifier: Annotated[ + str, "The unique identifier for the custom field whose options are being retrieved." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listIncidentTypeCustomField'."]: + """List available options for a custom incident field. + + Use this tool to retrieve the options for a custom field associated with a specific incident type in Pagerduty. Useful for contexts requiring customized filtering, search, or analytics based on incident-specific data.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options".format( # noqa: UP032 + type_id_or_name=incident_type_id_or_name, field_id=field_identifier + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_custom_field_option_details( + context: ToolContext, + incident_type_identifier: Annotated[ + str, + "The ID or name of the Incident Type for which you want to retrieve the custom field option details.", # noqa: E501 + ], + field_option_id: Annotated[str, "The unique ID of the field option to retrieve details for."], + field_identifier: Annotated[str, "The unique ID of the custom field for the incident type."], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getIncidentTypeCustomFieldFieldOptions'." +]: + """Retrieve details of a specific custom field option for an incident type. + + Use this tool to get information about a specific field option in a custom field, which provides additional context to incidents in Pagerduty. Useful for customized filtering, search, and analytics. Requires `custom_fields.read` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}".format( # noqa: UP032 + type_id_or_name=incident_type_identifier, + field_option_id=field_option_id, + field_id=field_identifier, + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_custom_field_option( + context: ToolContext, + incident_type_id_or_name: Annotated[ + str, "The ID or name of the Incident Type to delete the custom field option from." + ], + field_option_id: Annotated[ + str, "Specify the ID of the field option to delete from the custom field." + ], + field_id: Annotated[ + str, "The unique identifier of the custom field associated with the incident type." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteIncidentTypeCustomFieldFieldOption'." +]: + """Delete a field option from a custom incident field. + + Use this tool to delete a specific field option for a custom field in Pagerduty incidents. This is useful for managing custom data associated with incidents, especially when you need to update filtering, search, or analytics capabilities. Requires `custom_fields.write` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}".format( # noqa: UP032 + type_id_or_name=incident_type_id_or_name, + field_option_id=field_option_id, + field_id=field_id, + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_license_allocations( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specify the number of results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, "Offset to start pagination of search results." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listLicenseAllocations'."]: + """Retrieve a list of user license allocations. + + Use this tool to obtain information about licenses allocated to users within your Pagerduty account. Requires appropriate OAuth scope (`licenses.read`).""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/license_allocations", + method="GET", + params=remove_none_values({"limit": results_per_page, "offset": pagination_offset}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_account_licenses( + context: ToolContext, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listLicenses'."]: + """Fetches licenses associated with your account. + + Use this tool to obtain a list of all licenses linked to your Pagerduty account. It requires the 'licenses.read' scope with OAuth.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/licenses", + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def fetch_incident_logs( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specify the number of log entry results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset value to start the pagination of search results. Used for controlling which set of results are displayed.", # noqa: E501 + ] = None, + render_results_in_time_zone: Annotated[ + str | None, + "Specify the time zone for rendering results. Defaults to the account's time zone.", + ] = None, + start_date_range: Annotated[ + str | None, + "The start date for the range to search incident log entries. Format as 'YYYY-MM-DD'.", + ] = None, + end_date_range: Annotated[ + str | None, + "Specify the end date for the search date range. This is used to filter log entries up to a specific date.", # noqa: E501 + ] = None, + additional_models_to_include: Annotated[ + str | None, + "Array of additional models such as 'incidents', 'services', 'channels', 'teams' to include in the response.", # noqa: E501 + ] = None, + team_ids: Annotated[ + list[str] | None, + "An array of team IDs for filtering log entries by team. Requires 'teams' ability.", + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the total field in pagination responses, showing the total number of items.", # noqa: E501 + ] = None, + overview_only: Annotated[ + bool | None, "Set to true to return only the most important changes to incidents." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listLogEntries'."]: + """Retrieve all incident log entries from the account. + + This tool retrieves a comprehensive list of all log entries for incidents across the entire account. Use it to access detailed logs of events related to incidents.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/log_entries", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "time_zone": render_results_in_time_zone, + "since": start_date_range, + "until": end_date_range, + "is_overview": overview_only, + "include[]": additional_models_to_include, + "team_ids[]": team_ids, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_incident_log_entry( + context: ToolContext, + incident_log_entry_id: Annotated[ + str, "The unique identifier of the incident log entry to retrieve." + ], + results_time_zone: Annotated[ + str | None, + "Specify the time zone for rendering results. Defaults to the account's time zone.", + ] = None, + include_models: Annotated[ + str | None, + "List of additional models to include in the response, such as incidents, services, channels, or teams.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getLogEntry'."]: + """Retrieve details of a specific incident log entry. + + Fetch additional information about a specific incident log entry to access raw event data. This is useful for understanding all events associated with an incident.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/log_entries/{id}".format(id=incident_log_entry_id), # noqa: UP032 + method="GET", + params=remove_none_values({"time_zone": results_time_zone, "include[]": include_models}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_maintenance_windows( + context: ToolContext, + name_filter_query: Annotated[ + str | None, "Filter results to show only maintenance windows whose name matches this query." + ] = None, + results_per_page: Annotated[ + int | None, "The number of maintenance window results returned per page." + ] = None, + pagination_offset: Annotated[ + int | None, "Specifies the starting point for pagination in search results." + ] = None, + team_ids: Annotated[ + list[str] | None, + "An array of team IDs to filter maintenance windows. Requires the 'teams' ability.", + ] = None, + service_ids: Annotated[ + list[str] | None, + "An array of service IDs to filter results. Only maintenance windows related to these services will be included.", # noqa: E501 + ] = None, + include_additional_models: Annotated[ + str | None, + "Specify additional models to include in the response. Options are 'teams', 'services', or 'users'.", # noqa: E501 + ] = None, + maintenance_window_state_filter: Annotated[ + str | None, "Filter maintenance windows by state: past, future, ongoing, open, or all." + ] = None, + include_total_count: Annotated[ + bool | None, + "Set to true to include the total count of maintenance windows in the response, which may slow down response times.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listMaintenanceWindows'."]: + """Retrieve existing maintenance windows with optional filters. + + Use this tool to list maintenance windows, which temporarily disable services for specific periods. You can filter the results by service, team, or by time (past, present, future).""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/maintenance_windows", + method="GET", + params=remove_none_values({ + "query": name_filter_query, + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_count, + "team_ids[]": team_ids, + "service_ids[]": service_ids, + "include[]": include_additional_models, + "filter": maintenance_window_state_filter, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_maintenance_window( + context: ToolContext, + maintenance_window_id: Annotated[ + str, "The ID of the maintenance window you want to retrieve details for." + ], + include_models: Annotated[ + str | None, + "Specify additional models to include in the response. Options: 'teams', 'services', 'users'. Accepts an array of strings.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getMaintenanceWindow'."]: + """Retrieve details of a specific maintenance window. + + Use this tool to obtain information about an existing maintenance window, which temporarily disables services for a defined period. Scoped OAuth with 'services.read' is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/maintenance_windows/{id}".format(id=maintenance_window_id), # noqa: UP032 + method="GET", + params=remove_none_values({"include[]": include_models}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_future_or_active_maintenance_window( + context: ToolContext, + maintenance_window_id: Annotated[ + str, "The ID of the maintenance window to be deleted or ended." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteMaintenanceWindow'."]: + """Delete or end a future or active maintenance window. + + Use this tool to delete a maintenance window that is scheduled for the future or actively ongoing. It cannot delete maintenance windows that have already ended. Suitable for managing service disruptions temporarily.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/maintenance_windows/{id}".format(id=maintenance_window_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_notifications( + context: ToolContext, + start_date_range: Annotated[ + str, + 'The start date for the search range. Time is optional and format should match the "since" specification.', # noqa: E501 + ], + end_date: Annotated[ + str, + "Specify the end date for the search range. Must be in the same format as the start date ('since') and within 3 months of it.", # noqa: E501 + ], + results_per_page: Annotated[ + int | None, "Specify the number of notification results to display per page." + ] = None, + pagination_offset: Annotated[ + int | None, "Offset to start pagination search results, specified as an integer." + ] = None, + render_results_in_time_zone: Annotated[ + str | None, + "Time zone in which results will be rendered. Defaults to the account time zone if not specified.", # noqa: E501 + ] = None, + notification_type_filter: Annotated[ + str | None, + "Filter notifications by type, such as SMS, email, phone, or push. Valid values are: sms_notification, email_notification, phone_notification, or push_notification.", # noqa: E501 + ] = None, + additional_details_to_include: Annotated[ + str | None, "Array of additional details to include in the response, such as 'users'." + ] = None, + include_total_in_response: Annotated[ + bool | None, "Set to true to populate the total field in pagination responses." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listNotifications'."]: + """Retrieve notifications for a specified time range and type. + + Use this tool to list notifications generated when incidents are triggered or escalated. You can filter notifications by type, such as SMS, email, phone, or push notifications.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/notifications", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "time_zone": render_results_in_time_zone, + "since": start_date_range, + "until": end_date, + "filter": notification_type_filter, + "include[]": additional_details_to_include, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def revoke_oauth_delegations( + context: ToolContext, + user_identifier: Annotated[ + str, "The unique ID of the user whose OAuth delegations are to be revoked." + ], + delegation_type: Annotated[ + str, + "Specifies OAuth delegations to target: 'mobile' or 'web'. Multiple values can be separated by commas.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteOauthDelegations'."]: + """Revoke all OAuth delegations for specified criteria. + + This tool deletes OAuth delegations, revoking app access for users on PagerDuty. It's used when there's a need to log users out from apps or web sessions, requiring reauthorization for future access.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/oauth_delegations", + method="DELETE", + params=remove_none_values({"user_id": user_identifier, "type": delegation_type}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_on_call_entries( + context: ToolContext, + results_time_zone: Annotated[ + str | None, + "Time zone in which results will be rendered. Defaults to the account time zone if not specified.", # noqa: E501 + ] = None, + results_per_page: Annotated[ + int | None, "Specify the number of on-call entries to retrieve per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination for search results, defining where to begin in the result set.", + ] = None, + additional_details_to_include: Annotated[ + str | None, + "Array specifying additional details to include: 'escalation_policies', 'users', 'schedules'.", # noqa: E501 + ] = None, + filter_by_user_ids: Annotated[ + list[str] | None, + "Filters the on-call entries to include only those for the specified user IDs.", + ] = None, + filter_by_escalation_policy_ids: Annotated[ + list[str] | None, + "Array of escalation policy IDs to filter on-call entries, showing results only for specified IDs.", # noqa: E501 + ] = None, + filter_by_schedule_ids: Annotated[ + list[str] | None, + "An array of schedule IDs to filter results. Include `null` to add permanent on-calls for direct user escalation targets.", # noqa: E501 + ] = None, + start_time_range: Annotated[ + str | None, + "Specify the start time for the search range. Defaults to the current time. Valid entries are up to 90 days in the future.", # noqa: E501 + ] = None, + end_time_range: Annotated[ + str | None, + "The end of the time range for searching on-call entries. Must be within 90 days of current time and cannot be before the start time. Defaults to current time if not specified.", # noqa: E501 + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set this to true to include the total number of on-call entries in pagination responses. This may increase response time.", # noqa: E501 + ] = None, + return_earliest_on_call: Annotated[ + bool | None, + "Set to true to filter and return only the earliest on-call for each escalation policy, level, and user.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listOnCalls'."]: + """Retrieve on-call entries within a specified time range. + + Use this tool to get on-call entries for users according to specified escalation policies and rules within a given timeframe. Useful for managing on-call schedules and understanding who is responsible during specific periods. Ensure you have the required OAuth permissions (`oncalls.read`) before calling this tool.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/oncalls", + method="GET", + params=remove_none_values({ + "time_zone": results_time_zone, + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "include[]": additional_details_to_include, + "user_ids[]": filter_by_user_ids, + "escalation_policy_ids[]": filter_by_escalation_policy_ids, + "schedule_ids[]": filter_by_schedule_ids, + "since": start_time_range, + "until": end_time_range, + "earliest": return_earliest_on_call, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def fetch_recent_paused_incident_alerts( + context: ToolContext, + start_date_range: Annotated[ + str | None, "The start date for the search range in ISO 8601 format (YYYY-MM-DD)." + ] = None, + end_date: Annotated[ + str | None, + "Specifies the end date for the search range to look up paused incident alerts. The format should be in ISO 8601 (YYYY-MM-DD).", # noqa: E501 + ] = None, + filter_by_service_id: Annotated[ + str | None, "Provide a specific service ID to limit report scope to that service." + ] = None, + filter_by_suspension_method: Annotated[ + str | None, "Filter alerts by suspension method: 'Auto Pause' or 'Event Rules'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getPausedIncidentReportAlerts'."]: + """Fetch recent paused and resolved incident alerts. + + This tool retrieves the five most recent alerts triggered and resolved after being paused within a specified reporting period of up to 6 months. It's available with the Event Intelligence package or Digital Operations plan.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/paused_incident_reports/alerts", + method="GET", + params=remove_none_values({ + "since": start_date_range, + "until": end_date, + "service_id": filter_by_service_id, + "suspended_by": filter_by_suspension_method, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_paused_incident_report_counts( + context: ToolContext, + start_date: Annotated[ + str | None, "The start date for the search range in YYYY-MM-DD format." + ] = None, + end_date: Annotated[ + str | None, + "The end date of the reporting period to search for paused incidents. Format: YYYY-MM-DD.", + ] = None, + filter_by_service_id: Annotated[ + str | None, + "Specifies a filter to limit the scope of reporting to a particular service by its ID.", + ] = None, + filter_by_suspended_source: Annotated[ + str | None, "Filter response to alerts suspended by Auto Pause or Event Rules." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getPausedIncidentReportCounts'."]: + """Retrieve paused incident reporting counts for a specified period. + + This tool fetches reporting counts for paused incident usage within a specific reporting period, with a maximum lookback of 6 months. It is part of the Event Intelligence package or Digital Operations plan. Use this tool to assess incident management efficiency over time.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/paused_incident_reports/counts", + method="GET", + params=remove_none_values({ + "since": start_date, + "until": end_date, + "service_id": filter_by_service_id, + "suspended_by": filter_by_suspended_source, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_incident_priorities( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Number of incident priorities to include per page." + ] = None, + pagination_offset: Annotated[ + int | None, "The starting point of the paginated results to list incident priorities." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total number of items in the response. Set to false for a faster response without the total.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listPriorities'."]: + """Retrieve a list of incident priorities by severity. + + Use this tool to fetch and organize existing priorities, representing the importance and impact of incidents, from most to least severe. Applicable for Standard and Enterprise plans on Pagerduty.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/priorities", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_pagerduty_rulesets( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specifies the number of rulesets to be returned per page in the result set." + ] = None, + pagination_offset: Annotated[ + int | None, + "The starting point for pagination in the search results. Use to skip a number of entries.", + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the total count of results in the response for pagination.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listRulesets'."]: + """Retrieve all PagerDuty rulesets and their details. + + Use this tool to list all available rulesets in PagerDuty. Rulesets are collections of Event Rules that define actions based on event content. Note that rulesets and event rules are reaching end-of-life, and migration to Event Orchestration is recommended. OAuth with 'event_rules.read' scope is required for access.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/rulesets", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_pagerduty_ruleset( + context: ToolContext, + ruleset_id: Annotated[str, "The unique identifier for the PagerDuty ruleset to retrieve."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getRuleset'."]: + """Retrieve a PagerDuty ruleset for event routing. + + Use this tool to obtain details about a specific ruleset in PagerDuty, which allows you to route events and define actions based on event content. Note that rulesets and event rules are nearing end-of-life, so consider migrating to Event Orchestration for improved features.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/rulesets/{id}".format(id=ruleset_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_ruleset( + context: ToolContext, + ruleset_id: Annotated[str, "The unique identifier for the ruleset to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteRuleset'."]: + """Delete a ruleset from Pagerduty. + + Use this tool to delete a specific ruleset from Pagerduty. This action will remove the ruleset, which is used to route events and apply event rules. It's recommended to migrate to Event Orchestration for enhanced functionality.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/rulesets/{id}".format(id=ruleset_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_event_rules( + context: ToolContext, + ruleset_id: Annotated[str, "The unique ID of the ruleset to retrieve event rules for."], + results_per_page: Annotated[ + int | None, + "Defines the number of event rules returned per page. Use this to control the volume of data in each response.", # noqa: E501 + ] = None, + pagination_offset: Annotated[ + int | None, "Offset for starting pagination of search results." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the `total` field in pagination responses, providing the total number of results.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listRulesetEventRules'."]: + """Fetches all event rules under a specified ruleset. + + This tool retrieves all the event rules associated with a given ruleset in Pagerduty. Use it to view the actions defined for handling events. Note that rulesets and event rules will be phased out, so migrating to Event Orchestration is recommended.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/rulesets/{id}/rules".format(id=ruleset_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_event_rule_details( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier of the resource within Pagerduty."], + event_rule_id: Annotated[str, "The ID of the specific Event Rule to retrieve from a ruleset."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getRulesetEventRule'."]: + """Retrieve details of a specific event rule from a ruleset. + + This tool retrieves information about a specific Event Rule within a ruleset in Pagerduty. Event Rules define actions based on event content. Use this tool to access the rule details before migrating to Event Orchestration.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/rulesets/{id}/rules/{rule_id}".format( # noqa: UP032 + id=resource_id, rule_id=event_rule_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_event_rule( + context: ToolContext, + resource_id: Annotated[str, "The ID of the ruleset resource to delete the event rule from."], + event_rule_id: Annotated[ + str, "The ID of the event rule to delete from the ruleset in Pagerduty." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteRulesetEventRule'."]: + """Delete an event rule from a ruleset in Pagerduty. + + Use this tool to delete an existing event rule from a specified ruleset in Pagerduty. This is useful for managing and updating event routing and actions. Note: Migration to Event Orchestration is recommended for enhanced features.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/rulesets/{id}/rules/{rule_id}".format( # noqa: UP032 + id=resource_id, rule_id=event_rule_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_on_call_schedules( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specify the number of results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination search results. Useful for navigating through a large list of schedules.", # noqa: E501 + ] = None, + filter_by_schedule_name: Annotated[ + str | None, + "Filters the results to show only schedules whose name matches the provided query string.", + ] = None, + additional_details_to_include: Annotated[ + str | None, + "Specify details like 'schedule_layers', 'overrides_subschedule', or 'final_schedule' to include in the response.", # noqa: E501 + ] = None, + results_display_time_zone: Annotated[ + str | None, + "Time zone in which results will be presented. Defaults to the current user's or account's time zone.", # noqa: E501 + ] = None, + user_id_for_next_oncall: Annotated[ + str | None, "Specify a user ID to retrieve the user's next on-call information." + ] = None, + start_date_range: Annotated[ + str | None, + "The start date for the schedule entries view. Defaults to two weeks before 'until' if provided.", # noqa: E501 + ] = None, + end_date_range: Annotated[ + str | None, + "The end date for schedule entries display. Defaults to 2 weeks after the start if not specified.", # noqa: E501 + ] = None, + populate_total_field: Annotated[ + bool | None, + "Set to true to populate the total field in pagination responses, providing the total number of entries.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listSchedules'."]: + """Retrieve a list of on-call schedules. + + Use this tool to obtain details about on-call schedules, including which users are on-call and their corresponding time periods. Useful for managing team availability and coverage.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/schedules", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": populate_total_field, + "query": filter_by_schedule_name, + "include[]": additional_details_to_include, + "time_zone": results_display_time_zone, + "include_next_oncall_for_user": user_id_for_next_oncall, + "since": start_date_range, + "until": end_date_range, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_schedule_info( + context: ToolContext, + schedule_id: Annotated[str, "The unique identifier for the schedule resource in Pagerduty."], + time_zone_for_results: Annotated[ + str | None, + "Specify the time zone for rendering results. Defaults to the schedule's time zone.", + ] = None, + start_date: Annotated[ + str | None, + "The start date for the schedule entries. Defaults to 2 weeks before 'until' if not provided. This is optional and affects the rendered_schedule_entries fields when include[] for schedule types is used.", # noqa: E501 + ] = None, + end_date: Annotated[ + str | None, + "The end of the date range to show schedule entries. Defaults to 2 weeks after the start date if not provided. Optional.", # noqa: E501 + ] = None, + user_id_for_next_oncall: Annotated[ + str | None, "Specify a user ID to get information about this user's next on-call schedule." + ] = None, + allow_overflow: Annotated[ + bool | None, "Set true to include schedule entries beyond date range bounds." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getSchedule'."]: + """Retrieve detailed schedule information from Pagerduty. + + This tool retrieves comprehensive information regarding a specific schedule from Pagerduty, including details for each schedule layer. Utilize this tool when you need to access and display schedule information. Requires schedule ID to function.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/schedules/{id}".format(id=schedule_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "time_zone": time_zone_for_results, + "since": start_date, + "until": end_date, + "overflow": allow_overflow, + "include_next_oncall_for_user": user_id_for_next_oncall, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_on_call_schedule( + context: ToolContext, + schedule_id: Annotated[str, "The unique identifier of the on-call schedule to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteSchedule'."]: + """Delete an on-call schedule in PagerDuty. + + Use this tool to delete an existing on-call schedule in PagerDuty. This action is typically required when a schedule is no longer needed. Ensure the right schedule ID is provided for deletion.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/schedules/{id}".format(id=schedule_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_schedule_audit_records( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the schedule resource to retrieve audit records for." + ], + maximum_records: Annotated[ + int | None, + "Specifies the maximum number of audit records to retrieve in one request. It is the lesser of this value or the API's maximum limit.", # noqa: E501 + ] = None, + pagination_cursor: Annotated[ + str | None, + "Optional string to request the next set of results. It starts at the beginning if not provided.", # noqa: E501 + ] = None, + start_date: Annotated[ + str | None, + "The start date for the audit record search range. Defaults to 24 hours ago if not specified.", # noqa: E501 + ] = None, + end_date: Annotated[ + str | None, + "The end date for the audit record search range. Defaults to now if not specified. Cannot be more than 31 days after the start date.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listSchedulesAuditRecords'."]: + """Retrieve audit records for a specific schedule. + + This tool retrieves audit records for a specific schedule in PagerDuty, sorted by execution time from newest to oldest. It requires audit_records.read permission and is useful for tracking changes or events associated with a schedule. Refer to the Pagination documentation for navigating large data sets.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/schedules/{id}/audit/records".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": maximum_records, + "cursor": pagination_cursor, + "since": start_date, + "until": end_date, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_schedule_overrides( + context: ToolContext, + start_date: Annotated[ + str, "The start date of the range for searching schedule overrides. Format: YYYY-MM-DD." + ], + end_date_range: Annotated[ + str, + "The end date for the search range in 'YYYY-MM-DD' format. Specifies the last day to include in the results.", # noqa: E501 + ], + resource_id: Annotated[str, "The ID of the schedule resource to fetch overrides for."], + return_only_editable_overrides: Annotated[ + bool | None, + "Set to true to return only future editable overrides, providing only their IDs.", + ] = None, + allow_overflow: Annotated[ + bool | None, + "Set to true to allow schedule entries that extend beyond the date range bounds without truncation.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listScheduleOverrides'."]: + """Retrieve list of schedule overrides for a time range. + + Use this tool to get a list of schedule overrides for a given time range, which indicates when users are On-Call. OAuth with 'schedules.read' scope is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/schedules/{id}/overrides".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "since": start_date, + "until": end_date_range, + "editable": return_only_editable_overrides, + "overflow": allow_overflow, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_schedule_override( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier of the schedule resource to modify."], + schedule_override_id: Annotated[ + str, + "The ID of the override on the schedule to be removed. This is required for identifying the specific schedule override to delete.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteScheduleOverride'."]: + """Remove a schedule override in Pagerduty. + + This tool removes an existing schedule override in Pagerduty. It cannot remove past overrides. If the override starts before the current time and ends after, it will be truncated to the current time. Useful for managing on-call schedules.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/schedules/{id}/overrides/{override_id}".format( # noqa: UP032 + id=resource_id, override_id=schedule_override_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_on_call_schedule_users( + context: ToolContext, + schedule_id: Annotated[ + str, + "The unique identifier of the schedule to retrieve users for within the specified time range.", # noqa: E501 + ], + start_date_range: Annotated[ + str | None, "The start of the date range for searching users on call. Format as YYYY-MM-DD." + ] = None, + end_date: Annotated[ + str | None, + "The end of the date range to search for on-call users. Format: YYYY-MM-DDTHH:MM:SSZ.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listScheduleUsers'."]: + """Retrieve on-call users for a schedule within a time range. + + This tool lists all users on call for a specified schedule during a given time range. It is useful for retrieving information about current on-call personnel. Requires scoped OAuth with `users.read` permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/schedules/{id}/users".format(id=schedule_id), # noqa: UP032 + method="GET", + params=remove_none_values({"since": start_date_range, "until": end_date}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_business_service_dependencies( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the Business Service whose dependencies you want to fetch." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getBusinessServiceServiceDependencies'." +]: + """Fetch immediate dependencies of a specified Business Service. + + This tool retrieves all immediate dependencies of a specified Business Service within Pagerduty. Business Services may involve multiple technical services and can be managed by different teams. Use this tool to understand the dependencies affecting a Business Service.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/service_dependencies/business_services/{id}".format( # noqa: UP032 + id=resource_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_technical_service_dependencies( + context: ToolContext, + service_id: Annotated[ + str, "The unique ID of the technical service whose dependencies are to be retrieved." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getTechnicalServiceServiceDependencies'." +]: + """Retrieve dependencies of a technical service. + + Use this tool to get all immediate dependencies of a specified technical service, also known as a 'service', from Pagerduty. It requires an OAuth scope of `services.read`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/service_dependencies/technical_services/{id}".format( # noqa: UP032 + id=service_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_services( + context: ToolContext, + filter_by_name: Annotated[ + str | None, "Filters services by specifying a name query to match." + ] = None, + results_per_page: Annotated[ + int | None, "The number of service records to retrieve per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination in search results, allowing for navigation through pages.", + ] = None, + team_ids: Annotated[ + list[str] | None, + "An array of team IDs. Only services related to these teams will be returned. Requires the `teams` ability.", # noqa: E501 + ] = None, + time_zone: Annotated[ + str | None, + "Specify the time zone for rendering results. Defaults to the account time zone.", + ] = None, + sort_services_by: Annotated[ + str | None, + "Specify the field to sort the results by. Options: 'name', 'name:asc', 'name:desc'.", + ] = None, + include_additional_details: Annotated[ + str | None, + "Specify additional details to include, such as escalation policies or teams. Options are: escalation_policies, teams, integrations, auto_pause_notifications_parameters.", # noqa: E501 + ] = None, + filter_by_service_name: Annotated[ + str | None, "Filters results to show only services with the specified name." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the `total` field in pagination responses, enabling a complete total count.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listServices'."]: + """Fetch a list of existing Pagerduty services. + + Use this tool to retrieve a list of services, which may represent applications, components, or teams for incident management.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services", + method="GET", + params=remove_none_values({ + "query": filter_by_name, + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "team_ids[]": team_ids, + "time_zone": time_zone, + "sort_by": sort_services_by, + "include[]": include_additional_details, + "name": filter_by_service_name, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_details( + context: ToolContext, + service_id: Annotated[ + str, "The unique identifier of the Pagerduty service to retrieve details for." + ], + include_additional_details: Annotated[ + str | None, + "Specify which additional details to include, such as escalation policies, teams, integrations, and auto pause notifications parameters.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getService'."]: + """Retrieve details about a Pagerduty service. + + Use this tool to get information about an existing Pagerduty service, which may represent an application, component, or team. This is useful for understanding the entities you may wish to open incidents against.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}".format(id=service_id), # noqa: UP032 + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_service( + context: ToolContext, + service_id: Annotated[str, "The unique ID of the service to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteService'."]: + """Delete an existing service in Pagerduty. + + Use this tool to delete an existing service from Pagerduty. Once deleted, the service cannot be accessed through the web UI, and new incidents cannot be created for it. This is typically used for applications, components, or teams that no longer need incident tracking.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}".format(id=service_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_service_audit_records( + context: ToolContext, + resource_id: Annotated[str, "The ID of the resource to retrieve audit records for."], + result_limit: Annotated[ + int | None, "The maximum number of audit records to retrieve in one call." + ] = None, + pagination_cursor: Annotated[ + str | None, + "An optional string parameter used to request the next set of results in a paginated API response. It should be obtained from the `next_cursor` field of the previous response, or left empty to start from the beginning.", # noqa: E501 + ] = None, + start_date: Annotated[ + str | None, "The start date for the search range. Defaults to 24 hours ago if not provided." + ] = None, + end_date_range: Annotated[ + str | None, + "The end date for the search range. Defaults to now if not specified. Must be within 31 days after the start date.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listServiceAuditRecords'."]: + """Retrieve a list of service audit records from Pagerduty. + + Call this tool to get audit records for a specific service in Pagerduty, useful for tracking changes or investigating issues. The records are sorted by execution time from newest to oldest, and support cursor-based pagination for large datasets.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/audit/records".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": result_limit, + "cursor": pagination_cursor, + "since": start_date, + "until": end_date_range, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_service_change_events( + context: ToolContext, + service_resource_id: Annotated[ + str, + "The ID of the service resource to retrieve change events for. This ID is mandatory for identifying the specific service.", # noqa: E501 + ], + start_date_utc: Annotated[ + str | None, + "The start of the date range to search, as a UTC ISO 8601 datetime string. Returns an error for non-UTC datetimes.", # noqa: E501 + ] = None, + end_date: Annotated[ + str | None, + "The end of the date range for the search (UTC ISO 8601 datetime). Must be in UTC; non-UTC format will cause an error.", # noqa: E501 + ] = None, + results_per_page: Annotated[ + int | None, "The number of results to display per page in the response." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination for search results. Use this to specify the starting point for results.", # noqa: E501 + ] = None, + filter_by_team_ids: Annotated[ + list[str] | None, + "An array of team IDs to filter results. Only returns data for specified teams. Requires 'teams' ability.", # noqa: E501 + ] = None, + integration_ids: Annotated[ + list[str] | None, "An array of integration IDs to filter events by related integrations." + ] = None, + include_total_in_pagination: Annotated[ + bool | None, + "Set to true to populate the total field in pagination responses for complete result counts.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listServiceChangeEvents'."]: + """Retrieve existing change events for a service. + + Use this tool to list all change events associated with a specified service. Typically used to monitor or audit changes within a service. Requires `services.read` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/change_events".format(id=service_resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "since": start_date_utc, + "until": end_date, + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_pagination, + "team_ids[]": filter_by_team_ids, + "integration_ids[]": integration_ids, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_integration_details( + context: ToolContext, + service_id: Annotated[str, "The ID of the service resource to retrieve integration details."], + integration_id: Annotated[ + str, + "The unique ID of the integration associated with a service. Required to retrieve specific integration details.", # noqa: E501 + ], + include_additional_details: Annotated[ + str | None, "Specify additional details to include, such as 'services' or 'vendors'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getServiceIntegration'."]: + """Retrieve integration details for a given service. + + Use this tool to obtain information about a specific integration associated with a service on Pagerduty. This is useful for understanding the integrations linked to applications, components, or teams for incident management.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/integrations/{integration_id}".format( # noqa: UP032 + id=service_id, integration_id=integration_id + ), + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_service_event_rules( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the service whose event rules are to be listed." + ], + results_per_page: Annotated[ + int | None, "The number of results to return per page. Specify an integer value." + ] = None, + pagination_offset: Annotated[ + int | None, + "The starting point for pagination in the search results. Useful for iterating over results in batches.", # noqa: E501 + ] = None, + include_additional_models: Annotated[ + str | None, + "Specify additional models to include in the response, such as 'migrated_metadata'.", + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the 'total' field in pagination responses. This may affect response time.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listServiceEventRules'."]: + """Retrieve list of event rules for a specific service. + + Use this tool to obtain the event rules associated with a specific service on Pagerduty. Note that this feature will soon be deprecated, and it is recommended to migrate to Event Orchestration for enhanced functionality. This tool requires 'services.read' permission via scoped OAuth.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/rules".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "include[]": include_additional_models, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def convert_event_rules_to_orchestration( + context: ToolContext, + resource_id: Annotated[ + str, + "The unique identifier of the resource to be converted. This is required for the conversion process.", # noqa: E501 + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'convertServiceEventRulesToEventOrchestration'." +]: + """Convert service event rules to event orchestration rules. + + This tool converts a service's event rules into equivalent event orchestration rules, making the original rules read-only. It should be used to migrate rules before their end-of-life to utilize new orchestration features.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/rules/convert".format(id=resource_id), # noqa: UP032 + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_event_rule( + context: ToolContext, + resource_id: Annotated[ + str, "The unique ID of the Pagerduty service resource to fetch the event rule from." + ], + event_rule_id: Annotated[ + str, "The ID of the event rule to retrieve from the specified service." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getServiceEventRule'."]: + """Retrieve a specific event rule from a Pagerduty service. + + This tool fetches an event rule associated with a specified service in Pagerduty. It should be called when you need detailed information about a specific rule linked to a Pagerduty service. Note that event rules and rulesets will soon be discontinued, so consider migrating to Event Orchestration for enhanced features.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/rules/{rule_id}".format( # noqa: UP032 + id=resource_id, rule_id=event_rule_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_service_event_rule( + context: ToolContext, + resource_id: Annotated[ + str, "The ID of the resource from which the event rule will be deleted." + ], + event_rule_id: Annotated[ + str, "The unique identifier of the Event Rule to delete from a service." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteServiceEventRule'."]: + """Delete an event rule from a service in Pagerduty. + + Use this tool to delete an event rule from a specified service within Pagerduty. This is important for managing and updating service event rules as part of migrating to Event Orchestration. Ensure you have the required OAuth access: `services.write`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/rules/{rule_id}".format( # noqa: UP032 + id=resource_id, rule_id=event_rule_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_service_custom_fields( + context: ToolContext, + include_additional_details: Annotated[ + str | None, "Specify additional details to include, such as 'field_options'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listServiceCustomFields'."]: + """Retrieve custom fields for PagerDuty services. + + This tool retrieves a list of custom fields available for services in PagerDuty, useful for understanding service configurations.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/custom_fields", + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def show_service_custom_field( + context: ToolContext, + custom_field_id: Annotated[str, "The unique identifier for the custom field to be retrieved."], + include_additional_details: Annotated[ + str | None, "Specifies additional details to include, such as field options." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getServiceCustomField'."]: + """Retrieve detailed info about a custom field for a service. + + Call this tool to get detailed information about a specific custom field associated with a service. It requires the custom field ID and is intended for use cases where understanding or managing service configurations is needed.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/custom_fields/{field_id}".format( # noqa: UP032 + field_id=custom_field_id + ), + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_service_custom_field( + context: ToolContext, + field_id: Annotated[str, "The unique identifier of the custom field to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteServiceCustomField'."]: + """Delete a custom field from a service in PagerDuty. + + Use this tool to delete a custom field from services in PagerDuty. Requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/custom_fields/{field_id}".format(field_id=field_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def retrieve_field_options( + context: ToolContext, + field_id: Annotated[ + str, + "The unique identifier for the custom field whose options you want to retrieve. This is required to specify which field's options should be listed.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listServiceCustomFieldOptions'."]: + """Retrieve all options for a specified custom field. + + This tool retrieves all available options for a specified custom field in a Pagerduty service. It is useful for understanding the selectable values associated with a field. OAuth scope `custom_fields.read` is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/custom_fields/{field_id}/field_options".format( # noqa: UP032 + field_id=field_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_custom_field_option( + context: ToolContext, + field_identifier: Annotated[ + str, "The unique identifier for the field whose option needs to be retrieved." + ], + field_option_id: Annotated[ + str, "The identifier for the specific field option to retrieve details from a service." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getServiceCustomFieldOption'."]: + """Retrieve a specific field option for a service. + + Use this tool to get details of a custom field option for a specific field within a service in Pagerduty. It requires 'custom_fields.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/custom_fields/{field_id}/field_options/{field_option_id}".format( # noqa: UP032 + field_id=field_identifier, field_option_id=field_option_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_field_option( + context: ToolContext, + field_identifier: Annotated[ + str, "The unique identifier of the field whose option you want to delete." + ], + field_option_id: Annotated[str, "The unique identifier for the field option to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteServiceCustomFieldOption'."]: + """Delete a service custom field option in Pagerduty. + + Use this tool to delete a specific custom field option associated with a service in Pagerduty. This is useful when a field option is no longer needed or needs to be permanently removed. Ensure the necessary permissions (`custom_fields.write`) are in place.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/custom_fields/{field_id}/field_options/{field_option_id}".format( # noqa: UP032 + field_id=field_identifier, field_option_id=field_option_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_custom_field_values( + context: ToolContext, + resource_id: Annotated[ + str, "The ID of the Pagerduty service to retrieve custom field values for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getServiceCustomFieldValues'."]: + """Retrieve custom field values for a specified service in Pagerduty. + + Use this tool to obtain custom field values for a specific service in Pagerduty. This requires `services.read` permissions and is ideal when detailed configuration or metadata for a service is needed.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/custom_fields/values".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_service_feature_enablements( + context: ToolContext, + service_id: Annotated[ + str, "The unique identifier of the service to retrieve feature enablement settings for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listServiceFeatureEnablements'."]: + """Retrieve feature enablement settings for a specific service. + + Use this tool to list all feature enablement settings for a given service in PagerDuty. Ideal for checking AIOps feature status. Returns warnings if the account isn't entitled to use AIOps features.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/services/{id}/enablements".format(id=service_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_account_standards( + context: ToolContext, + standard_resource_type: Annotated[ + str | None, "Specify the type of resource for standards, e.g., 'technical_service'." + ] = None, + active_standards_only: Annotated[ + bool | None, "Return only active standards if true; otherwise, return all standards." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStandards'."]: + """Retrieve all standards for a PagerDuty account. + + This tool retrieves all the standards associated with a PagerDuty account. It requires OAuth permission 'standards.read' to access the data. Call this tool when you need to obtain a list of standards configured in a PagerDuty account.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/standards", + method="GET", + params=remove_none_values({ + "active": active_standards_only, + "resource_type": standard_resource_type, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_resource_standards( + context: ToolContext, + resource_ids: Annotated[ + list[str], "A list of resource IDs to apply the standards. Maximum of 100 items allowed." + ], + resource_type: Annotated[ + str, + "Specifies the type of resource to list standards for. Use 'technical_services' to refer to technical service resources.", # noqa: E501 + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'listResourceStandardsManyServices'." +]: + """Retrieve standards for multiple services' resources. + + Call this tool to get a list of standards applied to a set of resources in multiple services. This is useful for understanding compliance or operational criteria across different resource types. Requires `standards.read` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/standards/scores/{resource_type}".format( # noqa: UP032 + resource_type=resource_type + ), + method="GET", + params=remove_none_values({"ids": resource_ids}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_resource_standards( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the resource for which to list the standards." + ], + resource_type: Annotated[ + str, "The type of resource to list standards for. Accepted value: 'technical_services'." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listResourceStandards'."]: + """Retrieve standards for a specific resource in PagerDuty. + + Use this tool to list the standards applied to a specific resource in PagerDuty. Ideal for checking compliance or reviewing standard applications. Requires `standards.read` permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/standards/scores/{resource_type}/{id}".format( # noqa: UP032 + id=resource_id, resource_type=resource_type + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_dashboards( + context: ToolContext, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusDashboards'."]: + """Retrieve all custom status dashboard views. + + Use this tool to get all custom Status Dashboard views associated with your Pagerduty account. It requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_dashboards", + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_dashboard_by_id( + context: ToolContext, + dashboard_id: Annotated[str, "The unique PagerDuty ID of the status dashboard to retrieve."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusDashboardById'."]: + """Retrieve a status dashboard using its PagerDuty ID. + + Use this tool to get detailed information about a specific status dashboard by supplying the PagerDuty ID. Requires the `status_dashboards.read` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_dashboards/{id}".format(id=dashboard_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_impacted_services_by_dashboard_id( + context: ToolContext, + dashboard_id: Annotated[ + str, "The unique identifier for the Status Dashboard to fetch impacted services." + ], + include_additional_fields: Annotated[ + str | None, + "Specify additional fields to include, such as highest impacting priority or total impacted count.", # noqa: E501 + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getStatusDashboardServiceImpactsById'." +]: + """Retrieve impacted Business Services for a specific Dashboard. + + Use this tool to get the most impacted Business Services for a specified Status Dashboard. It returns up to 200 services, sorted by impact, recency, and name. Ideal for identifying major service impacts quickly.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_dashboards/{id}/service_impacts".format( # noqa: UP032 + id=dashboard_id + ), + method="GET", + params=remove_none_values({"additional_fields[]": include_additional_fields}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_dashboard( + context: ToolContext, + status_dashboard_url_slug: Annotated[ + str, + "The human-readable URL slug for the status dashboard, typically a dash-separated string.", + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusDashboardByUrlSlug'."]: + """Retrieve a status dashboard using its URL slug. + + Fetch a custom Status Dashboard from PagerDuty using a human-readable URL slug, which is typically a dash-separated string. This tool should be called when you need to access the status of specific dashboards created or modified in the UI.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_dashboards/url_slugs/{url_slug}".format( # noqa: UP032 + url_slug=status_dashboard_url_slug + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_service_impacts_by_url_slug( + context: ToolContext, + status_dashboard_url_slug: Annotated[ + str, + "The URL slug for the status dashboard to identify and retrieve impacted business services.", # noqa: E501 + ], + include_additional_fields: Annotated[ + str | None, + "Specify additional fields like highest impacting priority or total impacted count for business services.", # noqa: E501 + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getStatusDashboardServiceImpactsByUrlSlug'." +]: + """Retrieve impacted business services by dashboard URL slug. + + Fetches the most impacted business services based on a given status dashboard `url_slug`, providing insights up to a limit of 200.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_dashboards/url_slugs/{url_slug}/service_impacts".format( # noqa: UP032 + url_slug=status_dashboard_url_slug + ), + method="GET", + params=remove_none_values({"additional_fields[]": include_additional_fields}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_status_pages( + context: ToolContext, + status_page_type: Annotated[ + str | None, "Specifies if the status page is 'public' or 'private'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPages'."]: + """Retrieve a list of status pages from PagerDuty. + + Use this tool to obtain a list of available status pages from PagerDuty. This requires `status_pages.read` permission through Scoped OAuth.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages", + method="GET", + params=remove_none_values({"status_page_type": status_page_type}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_status_page_impacts( + context: ToolContext, + status_page_id: Annotated[ + str, "The unique identifier of the status page to retrieve impacts for." + ], + filter_by_post_type: Annotated[ + str | None, + "Specify the type of post to filter impacts by, such as 'incident' or 'maintenance'.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPageImpacts'."]: + """Retrieve impacts for a specific status page by ID. + + Call this tool to obtain a list of impacts for a status page identified by its ID. It requires the 'status_pages.read' scope for OAuth authentication.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/impacts".format(id=status_page_id), # noqa: UP032 + method="GET", + params=remove_none_values({"post_type": filter_by_post_type}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_page_impact( + context: ToolContext, + status_page_id: Annotated[str, "The unique identifier for the status page resource."], + status_page_impact_id: Annotated[ + str, + "The unique identifier for the impact on the status page. Required to retrieve specific impact details.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusPageImpact'."]: + """Retrieve impact details for a specific status page using IDs. + + This tool retrieves the impact details for a specific status page identified by the status page ID and impact ID. It should be called when detailed information about an impact on a status page is needed.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/impacts/{impact_id}".format( # noqa: UP032 + id=status_page_id, impact_id=status_page_impact_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_status_page_services( + context: ToolContext, + status_page_id: Annotated[ + str, "The unique identifier for the status page whose services you want to list." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPageServices'."]: + """Retrieve a list of services for a specific status page. + + Use this tool to get details of all services associated with a status page by providing the status page ID. Requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/services".format(id=status_page_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_page_service( + context: ToolContext, + resource_id: Annotated[str, "The ID of the status page resource to retrieve the service from."], + status_page_service_id: Annotated[str, "The unique ID of the Status Page service to retrieve."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusPageService'."]: + """Retrieve service details for a specific status page. + + This tool retrieves the details of a specific service on a status page using the Status Page ID and Service ID. Use it to obtain current service information displayed on a status page.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/services/{service_id}".format( # noqa: UP032 + id=resource_id, service_id=status_page_service_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_status_page_severities( + context: ToolContext, + status_page_id: Annotated[ + str, "The unique identifier for the status page to retrieve severities for." + ], + filter_by_post_type: Annotated[ + str | None, "Specify the type of post to filter by: 'incident' or 'maintenance'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPageSeverities'."]: + """Retrieve severities for a specified status page. + + Use this tool to obtain a list of severities associated with a particular status page by providing its ID. This requires appropriate OAuth permissions (`status_pages.read`).""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/severities".format(id=status_page_id), # noqa: UP032 + method="GET", + params=remove_none_values({"post_type": filter_by_post_type}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_page_severity( + context: ToolContext, + status_page_id: Annotated[str, "The ID of the status page to retrieve severity details for."], + severity_id: Annotated[ + str, + "The ID of the specific severity for the status page. Use this to retrieve severity details.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusPageSeverity'."]: + """Retrieve severity details for a status page by ID. + + Use this tool to get detailed information about a specific severity level for a status page using the status page ID and severity ID. Useful for monitoring and response teams to understand the impact level of issues.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/severities/{severity_id}".format( # noqa: UP032 + id=status_page_id, severity_id=severity_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_status_page_statuses( + context: ToolContext, + status_page_id: Annotated[str, "The ID of the status page to retrieve statuses for."], + filter_by_post_type: Annotated[ + str | None, + "Specify the type of post to filter the statuses, such as 'incident' or 'maintenance'.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPageStatuses'."]: + """List statuses for a status page by ID. + + Call this tool to retrieve the statuses of a specific status page using its ID. Useful for monitoring and managing page status updates.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/statuses".format(id=status_page_id), # noqa: UP032 + method="GET", + params=remove_none_values({"post_type": filter_by_post_type}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_page_status( + context: ToolContext, + status_page_id: Annotated[str, "The ID of the status page resource to retrieve status for."], + status_page_status_id: Annotated[ + str, "Provide the ID of the Status Page status to retrieve its current status." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusPageStatus'."]: + """Retrieve the status of a specific status page. + + Use this tool to get the current status of a status page by providing the Status Page ID and Status ID. This is helpful for monitoring the status of services or systems.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/statuses/{status_id}".format( # noqa: UP032 + id=status_page_id, status_id=status_page_status_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_status_page_posts( + context: ToolContext, + resource_id: Annotated[ + str, + "The ID of the status page to retrieve posts from. This is required to identify the specific page.", # noqa: E501 + ], + filter_by_post_type: Annotated[ + str | None, + "Specifies the post type to filter results, such as 'incident' or 'maintenance'.", + ] = None, + filter_reviewed_status: Annotated[ + str | None, + "Specify the reviewed status of the posts to retrieve, such as 'approved' or 'not_reviewed'.", # noqa: E501 + ] = None, + status_identifiers: Annotated[ + list[str] | None, + "Array of status identifiers to filter posts by. Use to narrow down to specific statuses.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPagePosts'."]: + """Retrieve posts for a specific status page. + + Use this tool to list all posts associated with a specific status page by providing its ID. This is useful for monitoring updates or changes communicated through the status page.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "post_type": filter_by_post_type, + "reviewed_status": filter_reviewed_status, + "status[]": status_identifiers, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_page_post( + context: ToolContext, + status_page_id: Annotated[ + str, "The unique identifier of the status page to retrieve the post from." + ], + status_page_post_id: Annotated[ + str, "The unique identifier for the specific status page post to retrieve." + ], + include_models: Annotated[ + list[str] | None, + "Array of additional models to include in the response. Add model names as needed.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusPagePost'."]: + """Retrieve a post from a status page using page and post IDs. + + Call this tool to get information about a specific post on a status page using the status page ID and the post ID. Useful for obtaining updates or details about incidents or announcements.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts/{post_id}".format( # noqa: UP032 + id=status_page_id, post_id=status_page_post_id + ), + method="GET", + params=remove_none_values({"include[]": include_models}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_status_page_post( + context: ToolContext, + status_page_id: Annotated[ + str, "The ID of the status page from which the post will be deleted." + ], + status_page_post_id: Annotated[str, "The unique ID of the Status Page Post to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteStatusPagePost'."]: + """Delete a post from a status page by ID. + + This tool deletes a specific post from a status page using the Status Page ID and Post ID. It requires appropriate OAuth authentication with `status_pages.write` scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts/{post_id}".format( # noqa: UP032 + id=status_page_id, post_id=status_page_post_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_status_page_post_updates( + context: ToolContext, + status_page_id: Annotated[ + str, "The ID of the status page resource to retrieve post updates from." + ], + status_page_post_id: Annotated[ + str, + "The unique identifier for a specific post on the status page. Used to fetch related post updates.", # noqa: E501 + ], + filter_by_reviewed_status: Annotated[ + str | None, "Filter post updates by their reviewed status ('approved' or 'not_reviewed')." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPagePostUpdates'."]: + """Retrieve updates for a specific status page post. + + This tool fetches post updates for a given status page by specifying the status page ID and post ID. It should be called when you need detailed updates or changes for a specific post on a status page.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/post_updates".format( # noqa: UP032 + id=status_page_id, post_id=status_page_post_id + ), + method="GET", + params=remove_none_values({"reviewed_status": filter_by_reviewed_status}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_post_update( + context: ToolContext, + resource_id: Annotated[str, "The unique ID of the resource to retrieve the post update."], + status_page_post_id: Annotated[ + str, "The unique ID of the Status Page Post to retrieve the update for." + ], + status_page_post_update_id: Annotated[ + str, "The ID of the Status Page Post Update to be retrieved from Pagerduty." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getPostUpdate'."]: + """Retrieve a specific post update by post and update ID. + + Fetch a post update for a post using the post ID and post update ID on Pagerduty.""" + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}".format( # noqa: UP032 + id=resource_id, post_id=status_page_post_id, post_update_id=status_page_post_update_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_status_page_post_update( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier for the resource to be deleted."], + status_page_post_id: Annotated[ + str, "The ID of the Status Page Post to identify which post's update will be deleted." + ], + status_page_post_update_id: Annotated[ + str, "The ID of the specific Status Page Post Update to be deleted." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteStatusPagePostUpdate'."]: + """Deletes a specific post update from a status page. + + Use this tool to delete a specific post update from a status page by providing the relevant IDs. This action requires appropriate permissions (`status_pages.write`).""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}".format( # noqa: UP032 + id=resource_id, post_id=status_page_post_id, post_update_id=status_page_post_update_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_postmortem_report( + context: ToolContext, + resource_id: Annotated[str, "The unique ID of the resource to retrieve the postmortem report."], + status_page_post_id: Annotated[ + str, "The unique identifier of the Status Page Post to retrieve the postmortem details." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getPostmortem'."]: + """Retrieve postmortem details using a specific post ID. + + This tool fetches the postmortem report for a given post ID from Pagerduty's status pages. It's useful for obtaining detailed insights after incidents. Requires status_pages.read OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/postmortem".format( # noqa: UP032 + id=resource_id, post_id=status_page_post_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_postmortem( + context: ToolContext, + resource_id: Annotated[str, "The unique ID of the resource to delete the postmortem from."], + status_page_post_id: Annotated[ + str, "The ID of the specific Status Page Post to delete the postmortem from." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteStatusPagePostmortem'."]: + """Delete a postmortem from a Pagerduty status page post. + + This tool deletes a postmortem associated with a specific post on a Pagerduty status page using the post ID. It requires appropriate OAuth scope permissions to execute.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/postmortem".format( # noqa: UP032 + id=resource_id, post_id=status_page_post_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_page_subscriptions( + context: ToolContext, + status_page_id: Annotated[str, "The ID of the status page to retrieve subscriptions for."], + subscription_status_filter: Annotated[ + str | None, "Filter subscriptions by status: 'active' or 'pending'." + ] = None, + subscription_channel_filter: Annotated[ + str | None, + "Filter subscriptions by channel type. Accepted values: 'webhook', 'email', 'slack'.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listStatusPageSubscriptions'."]: + """Retrieve subscriptions for a specific status page using its ID.""" + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/subscriptions".format(id=status_page_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "status": subscription_status_filter, + "channel": subscription_channel_filter, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_status_page_subscription( + context: ToolContext, + status_page_id: Annotated[str, "The unique identifier for the Status Page resource."], + status_page_subscription_id: Annotated[ + str, "The ID of the Status Page subscription to be retrieved." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getStatusPageSubscription'."]: + """Retrieve a subscription from a Status Page using IDs. + + Use this tool to retrieve details of a subscription on a specific Status Page by providing the Status Page ID and Subscription ID. Appropriate for monitoring status page subscriptions or checking specific subscription details.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/subscriptions/{subscription_id}".format( # noqa: UP032 + id=status_page_id, subscription_id=status_page_subscription_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_status_page_subscription( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the status page resource that needs subscription deletion." + ], + status_page_subscription_id: Annotated[ + str, "The ID of the Status Page subscription to be deleted." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteStatusPageSubscription'."]: + """Delete a subscription for a status page by ID. + + Use this tool to delete a subscription from a status page using the status page ID and subscription ID. This should be called when you need to remove user subscriptions from specific status pages.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/status_pages/{id}/subscriptions/{subscription_id}".format( # noqa: UP032 + id=resource_id, subscription_id=status_page_subscription_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_account_tags( + context: ToolContext, + results_per_page: Annotated[int | None, "The number of tag results to return per page."] = None, + pagination_offset: Annotated[ + int | None, "Offset index from where to start returning paginated search results." + ] = None, + label_filter: Annotated[ + str | None, "Filter results to show only tags with labels matching the specified query." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total count in the pagination response, otherwise it will remain null for faster responses.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listTags'."]: + """Retrieve all tags for your Pagerduty account. + + This tool fetches all tags from your Pagerduty account, which can be used to filter escalation policies, teams, or users. Use this tool when you need a complete list of tags associated with your account.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/tags", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "query": label_filter, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_existing_tag_details( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier of the tag resource to retrieve details for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getTag'."]: + """Retrieve details of an existing tag in Pagerduty. + + Use this tool to get information about a specific tag that is applied to Escalation Policies, Teams, or Users in Pagerduty.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/tags/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_pagerduty_tag( + context: ToolContext, + resource_id: Annotated[ + str, "The ID of the Pagerduty resource from which the tag will be removed." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteTag'."]: + """Remove an existing tag from Pagerduty entities. + + This tool removes a specified tag from Escalation Policies, Teams, or Users in Pagerduty. It is useful for managing tags that are used to filter these entities. Requires appropriate OAuth scope (`tags.write`).""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/tags/{id}".format(id=resource_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_related_entities_by_tag( + context: ToolContext, + resource_id: Annotated[ + str, + "The identifier for the resource (user, team, or escalation policy) to retrieve related entities by tag.", # noqa: E501 + ], + entity_type: Annotated[ + str, + "Specifies the type of entity related with the tag, such as users, teams, or escalation policies.", # noqa: E501 + ], + results_per_page: Annotated[ + int | None, + "Specify the number of results to return per page when retrieving entities by tag.", + ] = None, + pagination_offset: Annotated[ + int | None, "Offset to start pagination of search results, specifying where to begin." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total count of results in pagination responses. This may increase response time.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getTagsByEntityType'."]: + """Retrieve related users, teams, or escalation policies by tag. + + Utilize this tool to get users, teams, or escalation policies that are associated with a specific tag. Tags are applied to filter these entities for better organization and management.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/tags/{id}/{entity_type}".format( # noqa: UP032 + id=resource_id, entity_type=entity_type + ), + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_pagerduty_teams( + context: ToolContext, + results_per_page: Annotated[ + int | None, "Specify the number of results to be displayed per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination of search results. Specify an integer value to skip a number of results.", # noqa: E501 + ] = None, + search_query: Annotated[ + str | None, "Filter the teams to list only those whose names match the search query." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the total field in pagination responses. This toggles total count retrieval for results.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listTeams'."]: + """Retrieve teams from your PagerDuty account. + + Use this tool to list all teams within your PagerDuty account. Teams consist of users and escalation policies representing groups within an organization. You can also apply a search filter. Requires 'teams.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "query": search_query, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_team_details( + context: ToolContext, + team_id: Annotated[str, "The ID of the team resource to retrieve details for."], + include_additional_models: Annotated[ + str | None, "Specifies additional models to include in the response, such as 'privileges'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getTeam'."]: + """Retrieve details about a specific team. + + This tool retrieves details about an existing team in Pagerduty. Teams are collections of users and escalation policies representing groups within an organization. Use this tool to obtain information about a specific team by providing the team ID.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}".format(id=team_id), # noqa: UP032 + method="GET", + params=remove_none_values({"include[]": include_additional_models}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_existing_team( + context: ToolContext, + team_id: Annotated[str, "The unique identifier for the team to be deleted."], + reassignment_team_id: Annotated[ + str | None, + "The ID of the team to which unresolved incidents will be reassigned. If omitted, incidents become account-level.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteTeam'."]: + """Delete an existing team in Pagerduty. + + Use this tool to delete a team in Pagerduty, provided the team has no associated Escalation Policies, Services, Schedules, or Subteams. Unresolved incidents will be reassigned or become account-level. Note that the incident reassignment process is asynchronous.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}".format(id=team_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({"reassignment_team": reassignment_team_id}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_team_audit_records( + context: ToolContext, + team_id: Annotated[str, "The unique identifier for the team to retrieve audit records for."], + records_limit: Annotated[ + int | None, + "Specify the maximum number of audit records to return. This should be the lesser of the requested limit or the maximum allowed by the API.", # noqa: E501 + ] = None, + next_result_cursor: Annotated[ + str | None, + "The cursor to retrieve the next set of results, usually obtained from `next_cursor` of the previous request. If not provided, starts from the beginning.", # noqa: E501 + ] = None, + start_date: Annotated[ + str | None, + "The start date for the audit record search. Defaults to 24 hours ago if not specified.", + ] = None, + end_date: Annotated[ + str | None, + "The end of the date range for searching audit records. Defaults to the current date if not specified. Must be within 31 days of the start date.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listTeamsAuditRecords'."]: + """Retrieve audit records for a specific team. + + Use this tool to get a list of audit records for a specified team, sorted by execution time from newest to oldest. Useful for tracking changes or actions within a team. Requires proper OAuth scope for access.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}/audit/records".format(id=team_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": records_limit, + "cursor": next_result_cursor, + "since": start_date, + "until": end_date, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_team_escalation_policy( + context: ToolContext, + resource_id: Annotated[str, "The ID of the team resource to modify."], + escalation_policy_id: Annotated[ + str, + "The ID of the escalation policy to be removed from the team. It should be provided as a string.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteTeamEscalationPolicy'."]: + """Remove an escalation policy from a specified team in PagerDuty. + + Use this tool to delete a specific escalation policy from a given team within PagerDuty. This operation modifies the team's configured escalation policies and requires appropriate OAuth permissions (`teams.write`).""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}/escalation_policies/{escalation_policy_id}".format( # noqa: UP032 + id=resource_id, escalation_policy_id=escalation_policy_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def add_escalation_policy_to_team( + context: ToolContext, + team_id: Annotated[ + str, "The unique identifier for the team to which the escalation policy will be added." + ], + escalation_policy_id: Annotated[str, "The ID of the escalation policy to add to the team."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'updateTeamEscalationPolicy'."]: + """Add an escalation policy to a team in Pagerduty. + + Use this tool to add an escalation policy to a specified team within an organization using Pagerduty. Requires `teams.write` permission for OAuth.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}/escalation_policies/{escalation_policy_id}".format( # noqa: UP032 + id=team_id, escalation_policy_id=escalation_policy_id + ), + method="PUT", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_team_members( + context: ToolContext, + team_id: Annotated[str, "The unique identifier of the team whose members are being retrieved."], + results_per_page: Annotated[ + int | None, "Specify the number of results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "The starting point for pagination in search results. Useful for navigating through large sets of data.", # noqa: E501 + ] = None, + include_additional_models: Annotated[ + str | None, "Include additional models such as 'users' in the response." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to populate the total number of results in the response, enhancing pagination metrics.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listTeamUsers'."]: + """Retrieve details of members in a specific team. + + This tool fetches information about the members of a specific team, which includes users and escalation policies within an organization. It should be used when you need to access the list of users associated with a team. Requires OAuth scope: `teams.read`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}/members".format(id=team_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "include[]": include_additional_models, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_team_notification_subscriptions( + context: ToolContext, + team_id: Annotated[ + str, + "The unique identifier of the team whose notification subscriptions are to be retrieved.", + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getTeamNotificationSubscriptions'." +]: + """Retrieve a team's notification subscriptions. + + Call this tool to get the list of notification subscriptions for a specified team in Pagerduty. It requires that teams have been added through the appropriate POST request. OAuth scope needed: `subscribers.read`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}/notification_subscriptions".format(id=team_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_user_from_team( + context: ToolContext, + resource_id: Annotated[str, "The ID of the team from which the user will be removed."], + user_id_on_team: Annotated[ + str, + "The ID of the user to be removed from the team. This identifies the specific team member.", + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteTeamUser'."]: + """Remove a user from a specific team. + + Call this tool to remove a user from a team. Useful for managing team membership by deleting users who are no longer required in a specific team. Requires appropriate OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/teams/{id}/users/{user_id}".format( # noqa: UP032 + id=resource_id, user_id=user_id_on_team + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_all_templates( + context: ToolContext, + results_per_page: Annotated[ + int | None, "The number of results to return per page. Use to control pagination." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset index to start pagination in search results. This is used to navigate through paginated results efficiently.", # noqa: E501 + ] = None, + template_search_query: Annotated[ + str | None, "Template name or description to search within the account's templates." + ] = None, + filter_by_template_type: Annotated[ + str | None, + "Filters the templates by their type. Provide the type of template you want to retrieve.", + ] = None, + sort_templates_by: Annotated[ + str | None, + "Specifies the field and direction to sort results, such as 'name' or 'created_at'. Defaults to ascending order if not specified.", # noqa: E501 + ] = None, + include_total_in_pagination: Annotated[ + bool | None, + "Set to true to include the total field in pagination responses for detailed counts.", + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getTemplates'."]: + """Retrieve all templates from a Pagerduty account. + + This tool retrieves a list of all the templates available in a Pagerduty account. It should be called when you need to access or manage template information in the account. Scoped OAuth with `templates.read` is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/templates", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_pagination, + "query": template_search_query, + "template_type": filter_by_template_type, + "sort_by": sort_templates_by, + }), + headers=remove_none_values({ + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ) + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_template_details( + context: ToolContext, + template_id: Annotated[str, "The ID of the Pagerduty template to retrieve."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getTemplate'."]: + """Retrieve details of a specific Pagerduty template. + + Use this tool to get detailed information about a single template in your Pagerduty account. It requires the 'templates.read' permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/templates/{id}".format(id=template_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ) + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_template( + context: ToolContext, + template_id: Annotated[str, "The unique identifier for the template to delete."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteTemplate'."]: + """Delete a specific template from the account. + + Call this tool to delete a specific template from a Pagerduty account. Ensure that the necessary permissions (`templates.write`) are in place before attempting this operation.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/templates/{id}".format(id=template_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ) + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_template_fields( + context: ToolContext, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getTemplateFields'."]: + """Retrieve fields for account templates in Pagerduty. + + Use this tool to get a list of fields that can be utilized on the account templates. It requires the `templates.read` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/templates/fields", + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_pagerduty_users( + context: ToolContext, + user_name_filter: Annotated[ + str | None, + "Filter results to show only users whose names match this query. Use a string to specify the filter.", # noqa: E501 + ] = None, + team_ids: Annotated[ + list[str] | None, "Array of team IDs to filter results. Requires 'teams' ability." + ] = None, + results_per_page: Annotated[ + int | None, "The number of user records to return per page of results." + ] = None, + pagination_offset_start: Annotated[ + int | None, + "Offset to start pagination search results. Use this to skip a specified number of results when retrieving the list of users.", # noqa: E501 + ] = None, + include_additional_models: Annotated[ + str | None, + "Array specifying which additional models to include in the response, such as 'contact_methods', 'notification_rules', 'teams', or 'subdomains'.", # noqa: E501 + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total count of records in the response. This may slow down response time.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listUsers'."]: + """Retrieve a list of users from your PagerDuty account. + + Use this tool to get a list of users in your PagerDuty account. You can optionally filter users by a search query. This is useful for managing account members and their interactions with Incidents and other data.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users", + method="GET", + params=remove_none_values({ + "query": user_name_filter, + "team_ids[]": team_ids, + "limit": results_per_page, + "offset": pagination_offset_start, + "total": include_total_in_response, + "include[]": include_additional_models, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_details( + context: ToolContext, + user_id: Annotated[str, "The unique ID of the PagerDuty user to retrieve details for."], + include_models: Annotated[ + str | None, + "Specify additional models to include in the response. Options: 'contact_methods', 'notification_rules', 'teams', 'subdomains'.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUser'."]: + """Retrieve detailed information about a PagerDuty user. + + Use this tool to obtain detailed information about a specific user in a PagerDuty account. It provides insights into the user's ability to interact with incidents and other data on the account. This tool requires 'users.read' permission to access the user's information.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}".format(id=user_id), # noqa: UP032 + method="GET", + params=remove_none_values({"include[]": include_models}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_existing_user( + context: ToolContext, + user_id: Annotated[str, "The unique ID of the user to be removed from the Pagerduty account."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteUser'."]: + """Delete a user from the Pagerduty account. + + This tool removes an existing user from a Pagerduty account. It should be called when you want to delete a user. Note that it returns a 400 error if the user has assigned incidents unless your pricing plan supports the 'offboarding' feature and it's configured appropriately. The incidents reassignment process is asynchronous and may not complete before the API call returns.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}".format(id=user_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_audit_records( + context: ToolContext, + user_id: Annotated[str, "The unique ID of the user whose audit records you want to retrieve."], + result_limit: Annotated[ + int | None, + "Defines the maximum number of audit records to retrieve per request. The request will return up to this number of records, or fewer if the result set is smaller.", # noqa: E501 + ] = None, + next_results_cursor: Annotated[ + str | None, + "Cursor for the next set of results. Use the `next_cursor` from the previous request to continue paging.", # noqa: E501 + ] = None, + start_date: Annotated[ + str | None, + "The start of the date range for the audit record search. Defaults to 24 hours ago if not specified.", # noqa: E501 + ] = None, + end_date: Annotated[ + str | None, + "Specify the end date for the search range. Defaults to now; cannot exceed 31 days beyond the 'since' date.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listUsersAuditRecords'."]: + """Retrieve audit records for a specified user from Pagerduty. + + This tool fetches audit records related to specific changes made to a user in Pagerduty. The records are sorted by execution time and provide insights into user-related changes. Use this tool when you need to review or audit user modifications. It requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/audit/records".format(id=user_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "limit": result_limit, + "cursor": next_results_cursor, + "since": start_date, + "until": end_date, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_user_contact_methods( + context: ToolContext, + user_id: Annotated[ + str, "The unique identifier for the PagerDuty user to retrieve contact methods for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserContactMethods'."]: + """Retrieves contact methods for a specific PagerDuty user. + + Use this tool to obtain the contact methods associated with a PagerDuty user. This is useful for managing or displaying user contact preferences in incident management processes.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/contact_methods".format(id=user_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_contact_method( + context: ToolContext, + user_id: Annotated[ + str, "The unique identifier for the user whose contact method details are being retrieved." + ], + contact_method_id: Annotated[ + str, "The unique identifier for a user's contact method in Pagerduty." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserContactMethod'."]: + """Retrieve details about a user's contact method. + + Call this tool to obtain information on a specific contact method for a user in a PagerDuty account. Useful for managing or verifying user contact details.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/contact_methods/{contact_method_id}".format( # noqa: UP032 + id=user_id, contact_method_id=contact_method_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_user_contact_method( + context: ToolContext, + user_resource_id: Annotated[str, "The unique ID of the user resource in PagerDuty."], + contact_method_id: Annotated[ + str, "The ID of the contact method to be removed from the user's profile in PagerDuty." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteUserContactMethod'."]: + """Removes a user's contact method in PagerDuty. + + Use this tool to remove a specific contact method from a user's profile in PagerDuty. Useful when managing users' contact preferences.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/contact_methods/{contact_method_id}".format( # noqa: UP032 + id=user_resource_id, contact_method_id=contact_method_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_license( + context: ToolContext, + user_id: Annotated[ + str, "The unique identifier for the user whose license information is being retrieved." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserLicense'."]: + """Retrieve the license allocated to a Pagerduty user. + + Use this tool to get detailed information about the license assigned to a specific user on Pagerduty. Useful for managing user permissions and account settings.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/license".format(id=user_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_user_notification_rules( + context: ToolContext, + user_id: Annotated[ + str, + "The unique identifier of the PagerDuty user whose notification rules are being retrieved.", + ], + include_additional_details: Annotated[ + str | None, "Specify additional details to include, such as 'contact_methods'." + ] = None, + incident_urgency: Annotated[ + str | None, + "The urgency level for applying notification rules. Options: 'high', 'low', 'all'. Defaults to 'high'.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserNotificationRules'."]: + """Retrieve notification rules for a PagerDuty user. + + This tool retrieves the list of notification rules for a specified PagerDuty user, allowing you to see how notifications are configured. Use it to manage or review user notifications.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/notification_rules".format(id=user_id), # noqa: UP032 + method="GET", + params=remove_none_values({ + "include[]": include_additional_details, + "urgency": incident_urgency, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_notification_rule( + context: ToolContext, + user_id: Annotated[ + str, "The unique identifier for the user whose notification rule is being accessed." + ], + notification_rule_id: Annotated[str, "The ID of the notification rule for the specific user."], + include_additional_details: Annotated[ + str | None, "Specify additional details to include, such as 'contact_methods'." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserNotificationRule'."]: + """Retrieve details of a user's notification rule from PagerDuty. + + This tool retrieves information about a specific user's notification rule in PagerDuty. It is useful for understanding how a user is notified about incidents. Ensure you have the appropriate OAuth scope: `users:contact_methods.read`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/notification_rules/{notification_rule_id}".format( # noqa: UP032 + id=user_id, notification_rule_id=notification_rule_id + ), + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_user_notification_rule( + context: ToolContext, + resource_id: Annotated[ + str, "The ID of the PagerDuty user whose notification rule is to be deleted." + ], + notification_rule_id: Annotated[ + str, + "The ID of the notification rule to be removed for the user. This is required to specify which rule to delete.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteUserNotificationRule'."]: + """Remove a notification rule for a PagerDuty user. + + Call this tool to delete a specific notification rule associated with a user in a PagerDuty account. This is useful when a user's notification preferences need to be updated or maintained. Ensure the required OAuth scope is available: `users:contact_methods.write`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/notification_rules/{notification_rule_id}".format( # noqa: UP032 + id=resource_id, notification_rule_id=notification_rule_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_notification_subscriptions( + context: ToolContext, + user_resource_id: Annotated[ + str, + "The unique identifier for the user whose notification subscriptions are being retrieved.", + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getUserNotificationSubscriptions'." +]: + """Retrieve a user's notification subscriptions. + + Get a list of notification subscriptions for a specific user. Use when you need to know which notifications a user is subscribed to. Requires the user to be previously added via `POST /users/{id}/notification_subscriptions`. Scoped OAuth with `subscribers.read` is necessary.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/notification_subscriptions".format( # noqa: UP032 + id=user_resource_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_user_handoff_notification_rules( + context: ToolContext, + user_id: Annotated[ + str, "Specify the ID of the PagerDuty user to retrieve their handoff notification rules." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserHandoffNotificationRules'."]: + """Retrieve handoff notification rules for a PagerDuty user. + + This tool retrieves the handoff notification rules for a specified user in PagerDuty. It's useful for understanding how a user is notified during on-call handoffs. Requires 'users.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/oncall_handoff_notification_rules".format( # noqa: UP032 + id=user_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_handoff_notification_rule( + context: ToolContext, + user_id: Annotated[ + str, + "The unique identifier of the user resource in Pagerduty whose handoff notification rule details are being retrieved.", # noqa: E501 + ], + handoff_notification_rule_id: Annotated[ + str, "The ID of the user's oncall handoff notification rule to retrieve details for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserHandoffNotifiactionRule'."]: + """Retrieve a user's handoff notification rule details. + + This tool retrieves details about a specific user's handoff notification rule in a PagerDuty account. It should be called when you need to access information about how users are notified during handoffs. Requires appropriate user permissions to read data.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}".format( # noqa: UP032 + id=user_id, oncall_handoff_notification_rule_id=handoff_notification_rule_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def remove_user_handoff_notification_rule( + context: ToolContext, + user_resource_id: Annotated[ + str, + "The ID of the user resource to identify which users notification rule is being removed.", + ], + oncall_handoff_notification_rule_id: Annotated[ + str, "The ID of the oncall handoff notification rule to be removed for the user." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteUserHandoffNotificationRule'." +]: + """Remove a user's handoff notification rule on PagerDuty. + + This tool removes a specified user's handoff notification rule in a PagerDuty account. It should be called when you need to delete a user's notification rule for on-call handoffs. OAuth scope 'users.write' is required for this operation.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}".format( # noqa: UP032 + id=user_resource_id, + oncall_handoff_notification_rule_id=oncall_handoff_notification_rule_id, + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_active_user_sessions( + context: ToolContext, + user_id: Annotated[ + str, "The unique ID of the PagerDuty user whose active sessions you want to retrieve." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserSessions'."]: + """Retrieve active PagerDuty user sessions. + + This tool fetches active sessions for a specific PagerDuty user, excluding newly issued OAuth tokens. It's useful for monitoring user activity and requires OAuth with `users:sessions.read` scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/sessions".format(id=user_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_session_details( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the resource to retrieve session details." + ], + session_type: Annotated[ + str, + "Specifies the session type for the user session ID. Expect a string value indicating the type.", # noqa: E501 + ], + user_session_id: Annotated[ + str, "The unique session ID for the PagerDuty user session to retrieve details." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getUserSession'."]: + """Retrieve details about a specific PagerDuty user session. + + This tool is used to get information about a user's session in PagerDuty. It does not include OAuth tokens issued after November 2021. Users are members of a PagerDuty account who can interact with account data, including incidents. Ensure appropriate OAuth scopes (`users:sessions.read`) are set.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/sessions/{type}/{session_id}".format( # noqa: UP032 + id=resource_id, type=session_type, session_id=user_session_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_status_update_rules( + context: ToolContext, + user_id: Annotated[ + str, + "The ID of the PagerDuty user whose status update notification rules you want to retrieve.", + ], + include_additional_details: Annotated[ + str | None, "Specify additional details to include, such as 'contact_methods'." + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getUserStatusUpdateNotificationRules'." +]: + """List a user's status update notification rules on PagerDuty. + + Use this tool to retrieve the status update notification rules for a specific user in PagerDuty. Useful for managing or reviewing how users are notified about incidents. Requires 'users.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/status_update_notification_rules".format( # noqa: UP032 + id=user_id + ), + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def create_user_status_update_notification_rule( + context: ToolContext, + user_resource_id: Annotated[ + str, "The ID of the user resource for which the notification rule should be created." + ], + status_update_notification_rule: Annotated[ + dict[str, dict[str, dict[str, str]]] | None, + "JSON object defining the status update notification rule. Must include contact method details.", # noqa: E501 + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'createUserStatusUpdateNotificationRule'." +]: + """Creates a user's status update notification rule on PagerDuty. + + This tool is used to create a new status update notification rule for a user on PagerDuty. It should be called when there's a need to set up notifications for user status updates. This action requires appropriate OAuth permissions ('users.write').""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/status_update_notification_rules".format( # noqa: UP032 + id=user_resource_id + ), + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({"requestBody": status_update_notification_rule}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_user_status_update_notification_rule( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier of the user resource in PagerDuty."], + status_update_notification_rule_id: Annotated[ + str, "The ID of the user's status update notification rule to retrieve details for." + ], + include_additional_details: Annotated[ + str | None, + "Specify details to include, such as contact methods. Use values like 'contact_methods'.", + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getUserStatusUpdateNotificationRule'." +]: + """Retrieve a user's status update notification rule details. + + This tool retrieves specific details about a user's status update notification rule in PagerDuty. It is useful for understanding how a user is notified about status updates. OAuth permission 'users.read' is required.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/status_update_notification_rules/{status_update_notification_rule_id}".format( # noqa: UP032 + id=resource_id, status_update_notification_rule_id=status_update_notification_rule_id + ), + method="GET", + params=remove_none_values({"include[]": include_additional_details}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_user_notification_rule( + context: ToolContext, + user_id: Annotated[ + str, "The unique identifier of the user whose notification rule is to be deleted." + ], + status_update_notification_rule_id: Annotated[ + str, "The ID of the status update notification rule to be removed for the user." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteUserStatusUpdateNotificationRule'." +]: + """Remove a user's status update notification rule. + + This tool removes a specific status update notification rule for a user on PagerDuty. It is used when you want to delete a notification rule to stop receiving updates for incidents. Requires appropriate permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/{id}/status_update_notification_rules/{status_update_notification_rule_id}".format( # noqa: UP032 + id=user_id, status_update_notification_rule_id=status_update_notification_rule_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_current_user_details( + context: ToolContext, + include_additional_models: Annotated[ + str | None, + "Specify additional models to include in the response, such as contact methods, notification rules, teams, or subdomains.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getCurrentUser'."]: + """Retrieve details of the current Pagerduty user. + + This tool fetches detailed information about the currently authenticated user in Pagerduty. It should be called when user-specific information is needed, such as user profile details and interactions within the Pagerduty system.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/users/me", + method="GET", + params=remove_none_values({"include[]": include_additional_models}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_vendors( + context: ToolContext, + results_per_page: Annotated[ + int | None, "The number of vendor results to return per page." + ] = None, + pagination_offset: Annotated[ + int | None, + "Offset to start pagination for search results, indicating the number of initial items to skip.", # noqa: E501 + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to `true` to populate the `total` field in pagination responses, otherwise it remains `null` to optimize response time.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listVendors'."]: + """Retrieve a list of all PagerDuty vendors. + + This tool is used to retrieve a list of all vendors available in PagerDuty, representing specific types of integrations such as AWS Cloudwatch, Splunk, and Datadog. Useful for users needing to know available integration options.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/vendors", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_vendor_details( + context: ToolContext, + vendor_id: Annotated[str, "The unique identifier for the vendor integration to be retrieved."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getVendor'."]: + """Get details about a specific vendor integration. + + Use this tool to retrieve detailed information about a specific PagerDuty vendor integration. A vendor in PagerDuty represents a specific type of integration, such as AWS Cloudwatch, Splunk, or Datadog. This tool is particularly useful for understanding integration capabilities and requirements. Requires 'vendors.read' OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/vendors/{id}".format(id=vendor_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_webhook_subscriptions( + context: ToolContext, + results_per_page: Annotated[int | None, "The number of results to display per page."] = None, + pagination_offset: Annotated[int | None, "Offset to start pagination search results."] = None, + resource_filter_type: Annotated[ + str | None, "Specify the type of resource to filter: 'account', 'service', or 'team'." + ] = None, + resource_filter_id: Annotated[ + str | None, "The ID of the resource to filter by, required if filtering by service or team." + ] = None, + include_total_in_response: Annotated[ + bool | None, + "Set to true to include the total number of results in the response, which might affect response times.", # noqa: E501 + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listWebhookSubscriptions'."]: + """Retrieve existing webhook subscriptions from Pagerduty. + + Use this tool to list all existing webhook subscriptions, optionally filtered by service or team. Useful for managing or reviewing webhook integrations. Requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions", + method="GET", + params=remove_none_values({ + "limit": results_per_page, + "offset": pagination_offset, + "total": include_total_in_response, + "filter_type": resource_filter_type, + "filter_id": resource_filter_id, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_webhook_subscription_details( + context: ToolContext, + webhook_subscription_id: Annotated[ + str, "The unique identifier of the webhook subscription to retrieve details for." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getWebhookSubscription'."]: + """Retrieve details of a specific webhook subscription. + + Use this tool to obtain information about an existing webhook subscription in Pagerduty, using the subscription ID.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions/{id}".format( # noqa: UP032 + id=webhook_subscription_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_webhook_subscription( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier of the webhook subscription to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteWebhookSubscription'."]: + """Deletes a specified webhook subscription in Pagerduty. + + Use this tool to delete an existing webhook subscription in Pagerduty. It is applicable when a user wants to remove a webhook they no longer need or want to replace. The operation requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions/{id}".format(id=resource_id), # noqa: UP032 + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def enable_webhook_subscription( + context: ToolContext, + resource_id: Annotated[str, "The unique identifier for the webhook to be reactivated."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'enableWebhookSubscription'."]: + """Enable a temporarily disabled webhook subscription. + + This tool enables a webhook subscription that has been temporarily disabled due to delivery method rejections. It should be called when you need to reactivate such a subscription without providing a request body.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions/{id}/enable".format(id=resource_id), # noqa: UP032 + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def test_webhook_subscription( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the webhook subscription resource to be tested." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'testWebhookSubscription'."]: + """Test a webhook subscription with a ping event. + + This tool fires a test event against a specified webhook subscription by sending a `pagey.ping` event to the target destination. It helps verify the correct configuration of the webhook subscription. Useful for ensuring that webhook endpoints are properly set up and can receive events. Requires `webhook_subscriptions.write` OAuth scope.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions/{id}/ping".format(id=resource_id), # noqa: UP032 + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_oauth_clients( + context: ToolContext, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listOauthClients'."]: + """Retrieve all OAuth clients for webhook subscriptions. + + Call this tool to list all OAuth clients associated with webhook subscriptions in a Pagerduty account. This requires admin or owner role permissions and can list up to 10 clients per account.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions/oauth_clients", + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_oauth_client_details( + context: ToolContext, + resource_id: Annotated[ + str, + "The unique ID of the OAuth client resource to retrieve details for. Requires admin or owner role permissions.", # noqa: E501 + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getOauthClient'."]: + """Retrieve details of a specific OAuth client by ID. + + Use this tool to obtain detailed information about a specific OAuth client using its ID. It requires admin or owner role permissions in the Pagerduty service.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions/oauth_clients/{id}".format( # noqa: UP032 + id=resource_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_oauth_client( + context: ToolContext, + resource_id: Annotated[str, "The ID of the OAuth client to be deleted."], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'deleteOauthClient'."]: + """Delete an OAuth client and disassociate subscriptions. + + Use this tool to delete an OAuth client in Pagerduty. This action will also remove the OAuth client association from any webhook subscriptions using it. Requires admin or owner role permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/webhook_subscriptions/oauth_clients/{id}".format( # noqa: UP032 + id=resource_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_workflow_integrations( + context: ToolContext, + result_limit: Annotated[ + int | None, "Specifies the maximum number of workflow integrations to retrieve in one call." + ] = None, + pagination_cursor: Annotated[ + str | None, + "A token to retrieve the next set of results. Obtain from `next_cursor` of the previous response. Defaults to the start if empty.", # noqa: E501 + ] = None, + include_deprecated_integrations: Annotated[ + bool | None, "Include deprecated integrations in the response if true." + ] = None, +) -> Annotated[dict[str, Any], "Response from the API endpoint 'listWorkflowIntegrations'."]: + """Retrieve available Workflow Integrations from Pagerduty. + + Use this tool to access a list of available Workflow Integrations via Pagerduty's API. Requires appropriate OAuth permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations", + method="GET", + params=remove_none_values({ + "limit": result_limit, + "cursor": pagination_cursor, + "include_deprecated": include_deprecated_integrations, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_workflow_integration_details( + context: ToolContext, + resource_id: Annotated[ + str, "The unique identifier for the Workflow Integration resource in Pagerduty." + ], +) -> Annotated[dict[str, Any], "Response from the API endpoint 'getWorkflowIntegration'."]: + """Retrieve details about a Workflow Integration. + + Use this tool to get information about a specific Workflow Integration in Pagerduty. It requires 'workflow_integrations.read' permissions.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations/{id}".format(id=resource_id), # noqa: UP032 + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def list_workflow_integration_connections( + context: ToolContext, + result_limit: Annotated[ + int | None, + "Specify the maximum number of results to return. Defaults to the smaller of the request's limit or the API's maximum.", # noqa: E501 + ] = None, + next_page_cursor: Annotated[ + str | None, + "Optional parameter for requesting the next set of results. Use the value from `next_cursor` of the previous response. Leave empty to start from the beginning.", # noqa: E501 + ] = None, + filter_by_partial_name: Annotated[ + str | None, "Filter integrations based on a partial name match." + ] = None, +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'listWorkflowIntegrationConnections'." +]: + """Retrieve all Workflow Integration Connections from Pagerduty. + + Use this tool to access and list all Workflow Integration Connections via Pagerduty. It requires appropriate OAuth scope for access.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations/connections", + method="GET", + params=remove_none_values({ + "limit": result_limit, + "cursor": next_page_cursor, + "name": filter_by_partial_name, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_integration_connections( + context: ToolContext, + workflow_integration_id: Annotated[ + str, "The unique identifier for the specific Workflow Integration." + ], + request_limit: Annotated[ + int | None, + "Defines the maximum number of integration connections to retrieve in one request.", + ] = None, + result_cursor: Annotated[ + str | None, + "Cursor for fetching the next set of results, obtained from the `next_cursor` of the previous request. If not provided, fetches from the start.", # noqa: E501 + ] = None, + filter_integration_by_partial_name: Annotated[ + str | None, "Filter results by a partial name of the integration to narrow down the search." + ] = None, +) -> Annotated[ + dict[str, Any], + "Response from the API endpoint 'listWorkflowIntegrationConnectionsByIntegration'.", +]: + """Retrieve connections for a specific workflow integration. + + Use this tool to fetch all workflow integration connections related to a particular integration within Pagerduty. This is useful for managing or auditing connections associated with a specific workflow integration.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations/{integration_id}/connections".format( # noqa: UP032 + integration_id=workflow_integration_id + ), + method="GET", + params=remove_none_values({ + "limit": request_limit, + "cursor": result_cursor, + "name": filter_integration_by_partial_name, + }), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def create_workflow_integration_connection( + context: ToolContext, + workflow_integration_id: Annotated[ + str, "The unique ID of the workflow integration to create a connection for." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'createWorkflowIntegrationConnection'." +]: + """Create a new workflow integration connection in Pagerduty. + + This tool creates a new workflow integration connection on Pagerduty. Use it when you need to establish a connection for a workflow integration. Requires OAuth with the 'workflow_integrations:connections.write' permission.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations/{integration_id}/connections".format( # noqa: UP032 + integration_id=workflow_integration_id + ), + method="POST", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def get_workflow_integration_connection_details( + context: ToolContext, + workflow_integration_id: Annotated[ + str, "The unique ID of the Workflow Integration to retrieve connection details for." + ], + resource_id: Annotated[str, "The ID of the resource to get details for."], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'getWorkflowIntegrationConnection'." +]: + """Retrieve details of a Workflow Integration Connection. + + Use this tool to obtain specific details regarding a Workflow Integration Connection in Pagerduty. This is useful for understanding the setup and configuration of a connection associated with a workflow integration.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations/{integration_id}/connections/{id}".format( # noqa: UP032 + integration_id=workflow_integration_id, id=resource_id + ), + method="GET", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def update_workflow_integration_connection( + context: ToolContext, + workflow_integration_id: Annotated[str, "The ID of the Workflow Integration to be updated."], + resource_id: Annotated[ + str, "The ID of the resource to update in the workflow integration connection." + ], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'updateWorkflowIntegrationConnection'." +]: + """Update an existing Workflow Integration Connection. + + This tool updates an existing Workflow Integration Connection in Pagerduty. It requires the `workflow_integrations:connections.write` permission scope and is used when modifications to an integration connection are needed.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations/{integration_id}/connections/{id}".format( # noqa: UP032 + integration_id=workflow_integration_id, id=resource_id + ), + method="PATCH", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Content-Type": "application/json", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} + + +@tool(requires_auth=OAuth2(id="arcade-pagerduty")) +async def delete_workflow_integration_connection( + context: ToolContext, + workflow_integration_id: Annotated[ + str, "The unique ID of the Workflow Integration to be deleted." + ], + resource_id: Annotated[str, "The unique identifier of the resource to be deleted."], +) -> Annotated[ + dict[str, Any], "Response from the API endpoint 'deleteWorkflowIntegrationConnection'." +]: + """Delete a workflow integration connection in PagerDuty. + + Use this tool to delete a specific workflow integration connection in PagerDuty. Ensure you have the necessary OAuth scope: `workflow_integrations:connections.write`.""" # noqa: E501 + response = await make_request( + url="https://api.pagerduty.com/workflows/integrations/{integration_id}/connections/{id}".format( # noqa: UP032 + integration_id=workflow_integration_id, id=resource_id + ), + method="DELETE", + params=remove_none_values({}), + headers=remove_none_values({ + "Accept": "application/vnd.pagerduty+json;version=2", + "Authorization": "Bearer {authorization}".format( # noqa: UP032 + authorization=context.get_auth_token_or_empty() + ), + }), + data=remove_none_values({}), + ) + try: + return {"response_json": response.json()} + except Exception: + return {"response_text": response.text} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/AddEscalationPolicyToTeam.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/AddEscalationPolicyToTeam.json new file mode 100644 index 00000000..149bf7c4 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/AddEscalationPolicyToTeam.json @@ -0,0 +1,205 @@ +{ + "name": "AddEscalationPolicyToTeam", + "fully_qualified_name": "PagerdutyApi.AddEscalationPolicyToTeam@0.1.0", + "description": "Add an escalation policy to a team in Pagerduty.\n\nUse this tool to add an escalation policy to a specified team within an organization using Pagerduty. Requires `teams.write` permission for OAuth.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "team_id", + "required": true, + "description": "The unique identifier for the team to which the escalation policy will be added.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "escalation_policy_id", + "required": true, + "description": "The ID of the escalation policy to add to the team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The escalation policy ID on the team." + }, + "inferrable": true, + "http_endpoint_parameter_name": "escalation_policy_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The `Accept` header for specifying the API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'updateTeamEscalationPolicy'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}/escalation_policies/{escalation_policy_id}", + "http_method": "PUT", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "team_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "escalation_policy_id", + "tool_parameter_name": "escalation_policy_id", + "description": "The escalation policy ID on the team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The escalation policy ID on the team." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CheckAccountAbility.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CheckAccountAbility.json new file mode 100644 index 00000000..4fc38eb5 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CheckAccountAbility.json @@ -0,0 +1,172 @@ +{ + "name": "CheckAccountAbility", + "fully_qualified_name": "PagerdutyApi.CheckAccountAbility@0.1.0", + "description": "Check if your account has a specific feature ability.\n\nUse this tool to verify whether your Pagerduty account has a specific feature ability based on various factors like pricing or account state.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the specific account ability to check.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The version of the API to be used. This should be provided in the format required by the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the MIME type of the request body, typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAbility'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/abilities/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ClearPriorityThresholds.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ClearPriorityThresholds.json new file mode 100644 index 00000000..e8e3bc4c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ClearPriorityThresholds.json @@ -0,0 +1,102 @@ +{ + "name": "ClearPriorityThresholds", + "fully_qualified_name": "PagerdutyApi.ClearPriorityThresholds@0.1.0", + "description": "Clears the priority thresholds for business services.\n\nUse this tool to clear the priority threshold for an account, allowing any incident with a priority to impact business services.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteBusinessServicePriorityThresholds'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/priority_thresholds", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ConvertEventRulesToOrchestration.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ConvertEventRulesToOrchestration.json new file mode 100644 index 00000000..9a415551 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ConvertEventRulesToOrchestration.json @@ -0,0 +1,172 @@ +{ + "name": "ConvertEventRulesToOrchestration", + "fully_qualified_name": "PagerdutyApi.ConvertEventRulesToOrchestration@0.1.0", + "description": "Convert service event rules to event orchestration rules.\n\nThis tool converts a service's event rules into equivalent event orchestration rules, making the original rules read-only. It should be used to migrate rules before their end-of-life to utilize new orchestration features.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the resource to be converted. This is required for the conversion process.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version using the `Accept` header. Required for versioning the response format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The media type for the request payload, set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'convertServiceEventRulesToEventOrchestration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/rules/convert", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateCacheVariableForEvent.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateCacheVariableForEvent.json new file mode 100644 index 00000000..3fae8f42 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateCacheVariableForEvent.json @@ -0,0 +1,172 @@ +{ + "name": "CreateCacheVariableForEvent", + "fully_qualified_name": "PagerdutyApi.CreateCacheVariableForEvent@0.1.0", + "description": "Create a cache variable for service event orchestration.\n\nThis tool creates a cache variable for storing event data on a service event orchestration. It is useful for leveraging data in event orchestration rules as part of conditions or actions. Requires 'services.write' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier for the service where the cache variable will be created.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The versioning header used to specify the API version for requests.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type of the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'createCacheVarOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateCacheVariableGlobalEvent.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateCacheVariableGlobalEvent.json new file mode 100644 index 00000000..1e61b376 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateCacheVariableGlobalEvent.json @@ -0,0 +1,172 @@ +{ + "name": "CreateCacheVariableGlobalEvent", + "fully_qualified_name": "PagerdutyApi.CreateCacheVariableGlobalEvent@0.1.0", + "description": "Create a cache variable for global event orchestration.\n\nThis tool creates a cache variable for a Global Event Orchestration in Pagerduty. It is used to store event data which can be utilized in event orchestration rules for conditions or actions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for the Event Orchestration. This ID is used to specify which orchestration the cache variable will be created for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the `Accept` versioning header for API version control. Required for obtaining the correct API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'createCacheVarOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateUserStatusUpdateNotificationRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateUserStatusUpdateNotificationRule.json new file mode 100644 index 00000000..b80bca65 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateUserStatusUpdateNotificationRule.json @@ -0,0 +1,241 @@ +{ + "name": "CreateUserStatusUpdateNotificationRule", + "fully_qualified_name": "PagerdutyApi.CreateUserStatusUpdateNotificationRule@0.1.0", + "description": "Creates a user's status update notification rule on PagerDuty.\n\nThis tool is used to create a new status update notification rule for a user on PagerDuty. It should be called when there's a need to set up notifications for user status updates. This action requires appropriate OAuth permissions ('users.write').", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_resource_id", + "required": true, + "description": "The ID of the user resource for which the notification rule should be created.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the API version to use as an accept header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the request body. Must be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "status_update_notification_rule", + "required": false, + "description": "JSON object defining the status update notification rule. Must include contact method details.", + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": { + "status_update_notification_rule": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": { + "contact_method": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "inner_properties": null, + "description": "A rule for contacting the user for Incident Status Updates." + } + }, + "inner_properties": null, + "description": "The status update notification rule to be created." + }, + "inferrable": true, + "http_endpoint_parameter_name": "requestBody" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'createUserStatusUpdateNotificationRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/status_update_notification_rules", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + }, + { + "name": "requestBody", + "tool_parameter_name": "status_update_notification_rule", + "description": "The status update notification rule to be created.", + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": { + "status_update_notification_rule": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": { + "contact_method": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "inner_properties": null, + "description": "A rule for contacting the user for Incident Status Updates." + } + }, + "inner_properties": null, + "description": "The status update notification rule to be created." + }, + "accepted_as": "body", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateWorkflowIntegrationConnection.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateWorkflowIntegrationConnection.json new file mode 100644 index 00000000..decf452f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/CreateWorkflowIntegrationConnection.json @@ -0,0 +1,172 @@ +{ + "name": "CreateWorkflowIntegrationConnection", + "fully_qualified_name": "PagerdutyApi.CreateWorkflowIntegrationConnection@0.1.0", + "description": "Create a new workflow integration connection in Pagerduty.\n\nThis tool creates a new workflow integration connection on Pagerduty. Use it when you need to establish a connection for a workflow integration. Requires OAuth with the 'workflow_integrations:connections.write' permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "workflow_integration_id", + "required": true, + "description": "The unique ID of the workflow integration to create a connection for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version using the 'Accept' header; typically a string like 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The content type for the request header, should be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'createWorkflowIntegrationConnection'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations/{integration_id}/connections", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "integration_id", + "tool_parameter_name": "workflow_integration_id", + "description": "The ID of the Workflow Integration", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAlertGroupingSetting.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAlertGroupingSetting.json new file mode 100644 index 00000000..c226df72 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAlertGroupingSetting.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteAlertGroupingSetting", + "fully_qualified_name": "PagerdutyApi.DeleteAlertGroupingSetting@0.1.0", + "description": "Delete an existing alert grouping setting.\n\nUse this tool to delete an alert grouping setting in Pagerduty. This is useful when you need to remove specific alert configurations. Requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "alert_grouping_setting_id", + "required": true, + "description": "The ID of the alert grouping setting to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API to use by setting the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The Content-Type header value, must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteAlertGroupingSetting'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/alert_grouping_settings/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "alert_grouping_setting_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAutomationAction.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAutomationAction.json new file mode 100644 index 00000000..0c0dc9d9 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAutomationAction.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteAutomationAction", + "fully_qualified_name": "PagerdutyApi.DeleteAutomationAction@0.1.0", + "description": "Delete a specified automation action by ID.\n\nThis tool deletes an automation action in PagerDuty by its ID. Use it when you need to remove an existing automation action from your configuration.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique ID of the automation action to delete. It identifies which action will be removed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the API version to use with the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the content type of the request body. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteAutomationAction'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAutomationActionRunner.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAutomationActionRunner.json new file mode 100644 index 00000000..089210f3 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteAutomationActionRunner.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteAutomationActionRunner", + "fully_qualified_name": "PagerdutyApi.DeleteAutomationActionRunner@0.1.0", + "description": "Delete an Automation Action runner by ID.\n\nUse this tool to delete an Automation Action runner in Pagerduty. It should be called when you need to remove an existing runner by specifying its ID.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "automation_action_runner_id", + "required": true, + "description": "The unique identifier for the Automation Action runner to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API to use for the request by setting the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type as 'application/json'. Default is 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteAutomationActionsRunner'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/runners/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "automation_action_runner_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteBusinessService.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteBusinessService.json new file mode 100644 index 00000000..67a2d687 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteBusinessService.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteBusinessService", + "fully_qualified_name": "PagerdutyApi.DeleteBusinessService@0.1.0", + "description": "Delete an existing business service.\n\nUse this tool to delete a specific business service from PagerDuty. Once deleted, the service will not be accessible, and no new incidents can be created for it. Appropriate when managing services spanning multiple teams.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "business_service_id", + "required": true, + "description": "The unique identifier of the business service to delete.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "Specify the version of the API to use by setting the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The Content-Type header for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteBusinessService'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "business_service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCacheVariable.json new file mode 100644 index 00000000..3c77daf5 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteCacheVariable", + "fully_qualified_name": "PagerdutyApi.DeleteCacheVariable@0.1.0", + "description": "Delete a cache variable from a service event orchestration.\n\nUse this tool to delete a Cache Variable associated with a Service Event Orchestration in PagerDuty. Cache Variables store event data and are used in orchestration rules for conditions or actions. This operation requires OAuth with 'services.write' permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier for the service related to the event orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The ID of the Cache Variable to be deleted from the service event orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "api_version_accept_header", + "required": true, + "description": "Specify the API version using the `Accept` header for version control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The MIME type for the request content, should be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteCacheVarOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCacheVariableEventOrchestration.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCacheVariableEventOrchestration.json new file mode 100644 index 00000000..0f2a0c59 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCacheVariableEventOrchestration.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteCacheVariableEventOrchestration", + "fully_qualified_name": "PagerdutyApi.DeleteCacheVariableEventOrchestration@0.1.0", + "description": "Delete a cache variable for a global event orchestration.\n\nUse this tool to delete a cache variable associated with a global event orchestration on Pagerduty. Cache variables store event data that can be utilized in orchestration rules. Requires appropriate OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The ID of the Event Orchestration to identify which orchestration's cache variable to delete.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The ID of a specific Cache Variable to be deleted. Required for identifying the variable within the event orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specifies the versioning of the API using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the resource (must be 'application/json').", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteCacheVarOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCustomFieldOption.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCustomFieldOption.json new file mode 100644 index 00000000..11182a2e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteCustomFieldOption.json @@ -0,0 +1,238 @@ +{ + "name": "DeleteCustomFieldOption", + "fully_qualified_name": "PagerdutyApi.DeleteCustomFieldOption@0.1.0", + "description": "Delete a field option from a custom incident field.\n\nUse this tool to delete a specific field option for a custom field in Pagerduty incidents. This is useful for managing custom data associated with incidents, especially when you need to update filtering, search, or analytics capabilities. Requires `custom_fields.write` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_type_id_or_name", + "required": true, + "description": "The ID or name of the Incident Type to delete the custom field option from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type_id_or_name" + }, + { + "name": "field_option_id", + "required": true, + "description": "Specify the ID of the field option to delete from the custom field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_option_id" + }, + { + "name": "field_id", + "required": true, + "description": "The unique identifier of the custom field associated with the incident type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the `Accept` header for API versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "set_content_type", + "required": true, + "description": "Specify the media type of the request payload. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteIncidentTypeCustomFieldFieldOption'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "type_id_or_name", + "tool_parameter_name": "incident_type_id_or_name", + "description": "The ID or name of the Incident Type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_option_id", + "tool_parameter_name": "field_option_id", + "description": "The ID of the field option.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_id", + "tool_parameter_name": "field_id", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "set_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteEscalationPolicy.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteEscalationPolicy.json new file mode 100644 index 00000000..498563df --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteEscalationPolicy.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteEscalationPolicy", + "fully_qualified_name": "PagerdutyApi.DeleteEscalationPolicy@0.1.0", + "description": "Delete an existing escalation policy.\n\nRemove an existing escalation policy and its rules. Ensure the policy is not in use by any services before attempting deletion. Requires appropriate OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the escalation policy to be deleted. Ensure it is not in use before proceeding.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version for the `Accept` header as a string. This is required for versioning the API call.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the request body. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteEscalationPolicy'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/escalation_policies/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteEventRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteEventRule.json new file mode 100644 index 00000000..34f37d3d --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteEventRule.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteEventRule", + "fully_qualified_name": "PagerdutyApi.DeleteEventRule@0.1.0", + "description": "Delete an event rule from a ruleset in Pagerduty.\n\nUse this tool to delete an existing event rule from a specified ruleset in Pagerduty. This is useful for managing and updating event routing and actions. Note: Migration to Event Orchestration is recommended for enhanced features.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the ruleset resource to delete the event rule from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "event_rule_id", + "required": true, + "description": "The ID of the event rule to delete from the ruleset in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "inferrable": true, + "http_endpoint_parameter_name": "rule_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API you want to use by setting the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the media type for the request payload. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteRulesetEventRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/rulesets/{id}/rules/{rule_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "rule_id", + "tool_parameter_name": "event_rule_id", + "description": "The id of the Event Rule to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExistingTeam.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExistingTeam.json new file mode 100644 index 00000000..f55af71d --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExistingTeam.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteExistingTeam", + "fully_qualified_name": "PagerdutyApi.DeleteExistingTeam@0.1.0", + "description": "Delete an existing team in Pagerduty.\n\nUse this tool to delete a team in Pagerduty, provided the team has no associated Escalation Policies, Services, Schedules, or Subteams. Unresolved incidents will be reassigned or become account-level. Note that the incident reassignment process is asynchronous.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "team_id", + "required": true, + "description": "The unique identifier for the team to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_header", + "required": true, + "description": "Specify the versioning information using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the resource. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "reassignment_team_id", + "required": false, + "description": "The ID of the team to which unresolved incidents will be reassigned. If omitted, incidents become account-level.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Team to reassign unresolved incident to.\nIf an unresolved incident exists on both the reassignment team and\nthe team being deleted, a duplicate will not be made. If not supplied,\nunresolved incidents will be made account-level.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "reassignment_team" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteTeam'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "reassignment_team", + "tool_parameter_name": "reassignment_team_id", + "description": "Team to reassign unresolved incident to.\nIf an unresolved incident exists on both the reassignment team and\nthe team being deleted, a duplicate will not be made. If not supplied,\nunresolved incidents will be made account-level.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Team to reassign unresolved incident to.\nIf an unresolved incident exists on both the reassignment team and\nthe team being deleted, a duplicate will not be made. If not supplied,\nunresolved incidents will be made account-level.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "team_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExtension.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExtension.json new file mode 100644 index 00000000..5ccb4d38 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExtension.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteExtension", + "fully_qualified_name": "PagerdutyApi.DeleteExtension@0.1.0", + "description": "Delete an existing extension in Pagerduty.\n\nUse this tool to delete an extension in Pagerduty. Once deleted, the extension becomes inaccessible from the web UI, and new incidents can't be created for it. This is useful for cleaning up or managing extensions attached to services.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "extension_id", + "required": true, + "description": "The unique identifier for the extension to be deleted. This is necessary to specify which extension to remove.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Set the `Accept` header for versioning. Specify the API version to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The Content-Type header must be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteExtension'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/extensions/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "extension_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExternalDataCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExternalDataCacheVariable.json new file mode 100644 index 00000000..1fa3b3cb --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteExternalDataCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteExternalDataCacheVariable", + "fully_qualified_name": "PagerdutyApi.DeleteExternalDataCacheVariable@0.1.0", + "description": "Deletes data for a cache variable in Global Event Orchestration.\n\nUse this tool to delete data stored in an `external_data` type cache variable within a Global Event Orchestration. This is essential for managing values used in orchestration rules, such as conditions or actions. Requires scoped OAuth with `event_orchestrations.write` permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for an Event Orchestration. Required for specifying which orchestration's cache variable to delete.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The unique identifier for the specific cache variable to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the API version with the Accept header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the Content-Type header for requests. Only 'application/json' is valid.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteExternalDataCacheVarDataOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteFutureOrActiveMaintenanceWindow.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteFutureOrActiveMaintenanceWindow.json new file mode 100644 index 00000000..c3242581 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteFutureOrActiveMaintenanceWindow.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteFutureOrActiveMaintenanceWindow", + "fully_qualified_name": "PagerdutyApi.DeleteFutureOrActiveMaintenanceWindow@0.1.0", + "description": "Delete or end a future or active maintenance window.\n\nUse this tool to delete a maintenance window that is scheduled for the future or actively ongoing. It cannot delete maintenance windows that have already ended. Suitable for managing service disruptions temporarily.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "maintenance_window_id", + "required": true, + "description": "The ID of the maintenance window to be deleted or ended.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the version for the API by using the 'Accept' header. This is required for versioning of the API response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the format of the request body. Must be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteMaintenanceWindow'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/maintenance_windows/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "maintenance_window_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteGlobalEventOrchestration.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteGlobalEventOrchestration.json new file mode 100644 index 00000000..07a26665 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteGlobalEventOrchestration.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteGlobalEventOrchestration", + "fully_qualified_name": "PagerdutyApi.DeleteGlobalEventOrchestration@0.1.0", + "description": "Delete a Global Event Orchestration in PagerDuty.\n\nUse this tool to delete a Global Event Orchestration in PagerDuty. This action ceases the capability to ingest events using the Orchestration's Routing Key. Requires appropriate OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier of the Event Orchestration to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the version of the API to accept. Used for content negotiation and ensuring compatibility.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteOrchestration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentCustomField.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentCustomField.json new file mode 100644 index 00000000..d291f01f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentCustomField.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteIncidentCustomField", + "fully_qualified_name": "PagerdutyApi.DeleteIncidentCustomField@0.1.0", + "description": "Delete a custom field from an incident type.\n\nUse this tool to remove a custom field associated with a specific incident type, allowing for updated configurations and management of incident data.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_type_identifier", + "required": true, + "description": "The ID or name of the incident type for which the custom field should be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type_id_or_name" + }, + { + "name": "field_id", + "required": true, + "description": "The unique identifier for the custom field to be deleted from the incident type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "version_accept_header", + "required": true, + "description": "Specify the API version using the `Accept` header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the content type of the request body, usually 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteIncidentTypeCustomField'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "type_id_or_name", + "tool_parameter_name": "incident_type_identifier", + "description": "The ID or name of the Incident Type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_id", + "tool_parameter_name": "field_id", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentWorkflow.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentWorkflow.json new file mode 100644 index 00000000..4e2ece51 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentWorkflow.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteIncidentWorkflow", + "fully_qualified_name": "PagerdutyApi.DeleteIncidentWorkflow@0.1.0", + "description": "Deletes an existing incident workflow by ID.\n\nUse this tool to delete an existing incident workflow that consists of configurable steps and triggers for incident automation. Requires the appropriate OAuth scope to perform this action.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the incident workflow to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "The API versioning header used for specifying which version of the API to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The media type of the request, set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteIncidentWorkflow'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentWorkflowTrigger.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentWorkflowTrigger.json new file mode 100644 index 00000000..99f0da21 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIncidentWorkflowTrigger.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteIncidentWorkflowTrigger", + "fully_qualified_name": "PagerdutyApi.DeleteIncidentWorkflowTrigger@0.1.0", + "description": "Deletes an existing incident workflow trigger.\n\nUse this tool to delete an existing incident workflow trigger in Pagerduty. Requires the 'incident_workflows.write' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the incident workflow trigger to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The versioning identifier for the API, specified in the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type of the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteIncidentWorkflowTrigger'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/triggers/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIntegrationWithRoutingKey.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIntegrationWithRoutingKey.json new file mode 100644 index 00000000..0b384479 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteIntegrationWithRoutingKey.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteIntegrationWithRoutingKey", + "fully_qualified_name": "PagerdutyApi.DeleteIntegrationWithRoutingKey@0.1.0", + "description": "Deletes a PagerDuty integration and its routing key.\n\nUse this tool to delete an integration in PagerDuty along with its associated routing key. This operation ensures that no future events are sent to PagerDuty using the obsolete routing key. Requires appropriate OAuth scope ('event_orchestrations.write').", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The ID of the Event Orchestration to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "integration_identifier", + "required": true, + "description": "The unique identifier for the PagerDuty integration to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Integration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the API version to use for the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the content type for the request. It should be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteOrchestrationIntegration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/integrations/{integration_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "integration_id", + "tool_parameter_name": "integration_identifier", + "description": "The ID of an Integration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Integration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteOauthClient.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteOauthClient.json new file mode 100644 index 00000000..00361211 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteOauthClient.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteOauthClient", + "fully_qualified_name": "PagerdutyApi.DeleteOauthClient@0.1.0", + "description": "Delete an OAuth client and disassociate subscriptions.\n\nUse this tool to delete an OAuth client in Pagerduty. This action will also remove the OAuth client association from any webhook subscriptions using it. Requires admin or owner role permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the OAuth client to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version using the 'Accept' header for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the format of the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteOauthClient'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions/oauth_clients/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteOnCallSchedule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteOnCallSchedule.json new file mode 100644 index 00000000..63e2a3ff --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteOnCallSchedule.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteOnCallSchedule", + "fully_qualified_name": "PagerdutyApi.DeleteOnCallSchedule@0.1.0", + "description": "Delete an on-call schedule in PagerDuty.\n\nUse this tool to delete an existing on-call schedule in PagerDuty. This action is typically required when a schedule is no longer needed. Ensure the right schedule ID is provided for deletion.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "schedule_id", + "required": true, + "description": "The unique identifier of the on-call schedule to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The versioning header for the request, typically specifying API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteSchedule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/schedules/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "schedule_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeletePostmortem.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeletePostmortem.json new file mode 100644 index 00000000..30f48575 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeletePostmortem.json @@ -0,0 +1,168 @@ +{ + "name": "DeletePostmortem", + "fully_qualified_name": "PagerdutyApi.DeletePostmortem@0.1.0", + "description": "Delete a postmortem from a Pagerduty status page post.\n\nThis tool deletes a postmortem associated with a specific post on a Pagerduty status page using the post ID. It requires appropriate OAuth scope permissions to execute.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique ID of the resource to delete the postmortem from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_post_id", + "required": true, + "description": "The ID of the specific Status Page Post to delete the postmortem from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The header used for API versioning. Specify the API version needed for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteStatusPagePostmortem'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/postmortem", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_id", + "tool_parameter_name": "status_page_post_id", + "description": "The ID of the Status Page Post.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteRuleset.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteRuleset.json new file mode 100644 index 00000000..e04ff29f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteRuleset.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteRuleset", + "fully_qualified_name": "PagerdutyApi.DeleteRuleset@0.1.0", + "description": "Delete a ruleset from Pagerduty.\n\nUse this tool to delete a specific ruleset from Pagerduty. This action will remove the ruleset, which is used to route events and apply event rules. It's recommended to migrate to Event Orchestration for enhanced functionality.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "ruleset_id", + "required": true, + "description": "The unique identifier for the ruleset to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "use_versioning_header", + "required": true, + "description": "Specify the `Accept` versioning header to determine the API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteRuleset'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/rulesets/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "ruleset_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "use_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteService.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteService.json new file mode 100644 index 00000000..19780584 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteService.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteService", + "fully_qualified_name": "PagerdutyApi.DeleteService@0.1.0", + "description": "Delete an existing service in Pagerduty.\n\nUse this tool to delete an existing service from Pagerduty. Once deleted, the service cannot be accessed through the web UI, and new incidents cannot be created for it. This is typically used for applications, components, or teams that no longer need incident tracking.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique ID of the service to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header", + "required": true, + "description": "Specify the version of the API to use via the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The MIME type of the request body, must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteService'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceCacheVariableData.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceCacheVariableData.json new file mode 100644 index 00000000..a0865abb --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceCacheVariableData.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteServiceCacheVariableData", + "fully_qualified_name": "PagerdutyApi.DeleteServiceCacheVariableData@0.1.0", + "description": "Delete cache variable data for a service event orchestration.\n\nThis tool deletes data for an `external_data` type cache variable in a service event orchestration on Pagerduty. It should be used to clear stored values that are used in conditions or actions within event orchestration rules.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier for the service whose cache variable data will be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The unique identifier for a Cache Variable in a service's event orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The version of the API to use, specified by the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The Content-Type header for the request, typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteExternalDataCacheVarDataOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceCustomField.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceCustomField.json new file mode 100644 index 00000000..24c9a1fa --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceCustomField.json @@ -0,0 +1,172 @@ +{ + "name": "DeleteServiceCustomField", + "fully_qualified_name": "PagerdutyApi.DeleteServiceCustomField@0.1.0", + "description": "Delete a custom field from a service in PagerDuty.\n\nUse this tool to delete a custom field from services in PagerDuty. Requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "field_id", + "required": true, + "description": "The unique identifier of the custom field to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "api_version_header", + "required": true, + "description": "The versioning header for the request, specifying the API version to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type as 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteServiceCustomField'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/custom_fields/{field_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "field_id", + "tool_parameter_name": "field_id", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceEventRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceEventRule.json new file mode 100644 index 00000000..3899c42d --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteServiceEventRule.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteServiceEventRule", + "fully_qualified_name": "PagerdutyApi.DeleteServiceEventRule@0.1.0", + "description": "Delete an event rule from a service in Pagerduty.\n\nUse this tool to delete an event rule from a specified service within Pagerduty. This is important for managing and updating service event rules as part of migrating to Event Orchestration. Ensure you have the required OAuth access: `services.write`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the resource from which the event rule will be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "event_rule_id", + "required": true, + "description": "The unique identifier of the Event Rule to delete from a service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "inferrable": true, + "http_endpoint_parameter_name": "rule_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The `Accept` header for specifying the API version in the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the `Content-Type` for the request, typically `application/json`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteServiceEventRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/rules/{rule_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "rule_id", + "tool_parameter_name": "event_rule_id", + "description": "The id of the Event Rule to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPagePost.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPagePost.json new file mode 100644 index 00000000..afe67afa --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPagePost.json @@ -0,0 +1,168 @@ +{ + "name": "DeleteStatusPagePost", + "fully_qualified_name": "PagerdutyApi.DeleteStatusPagePost@0.1.0", + "description": "Delete a post from a status page by ID.\n\nThis tool deletes a specific post from a status page using the Status Page ID and Post ID. It requires appropriate OAuth authentication with `status_pages.write` scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The ID of the status page from which the post will be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_post_id", + "required": true, + "description": "The unique ID of the Status Page Post to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the versioning for the API using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteStatusPagePost'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts/{post_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_id", + "tool_parameter_name": "status_page_post_id", + "description": "The ID of the Status Page Post.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPagePostUpdate.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPagePostUpdate.json new file mode 100644 index 00000000..0295a271 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPagePostUpdate.json @@ -0,0 +1,201 @@ +{ + "name": "DeleteStatusPagePostUpdate", + "fully_qualified_name": "PagerdutyApi.DeleteStatusPagePostUpdate@0.1.0", + "description": "Deletes a specific post update from a status page.\n\nUse this tool to delete a specific post update from a status page by providing the relevant IDs. This action requires appropriate permissions (`status_pages.write`).", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the resource to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_post_id", + "required": true, + "description": "The ID of the Status Page Post to identify which post's update will be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_id" + }, + { + "name": "status_page_post_update_id", + "required": true, + "description": "The ID of the specific Status Page Post Update to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post Update." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_update_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the version of the API to accept. Typically a string like 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteStatusPagePostUpdate'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_id", + "tool_parameter_name": "status_page_post_id", + "description": "The ID of the Status Page Post.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_update_id", + "tool_parameter_name": "status_page_post_update_id", + "description": "The ID of the Status Page Post Update.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post Update." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPageSubscription.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPageSubscription.json new file mode 100644 index 00000000..42255472 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteStatusPageSubscription.json @@ -0,0 +1,168 @@ +{ + "name": "DeleteStatusPageSubscription", + "fully_qualified_name": "PagerdutyApi.DeleteStatusPageSubscription@0.1.0", + "description": "Delete a subscription for a status page by ID.\n\nUse this tool to delete a subscription from a status page using the status page ID and subscription ID. This should be called when you need to remove user subscriptions from specific status pages.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the status page resource that needs subscription deletion.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_subscription_id", + "required": true, + "description": "The ID of the Status Page subscription to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page subscription." + }, + "inferrable": true, + "http_endpoint_parameter_name": "subscription_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "A string for the `Accept` header, used for API versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteStatusPageSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/subscriptions/{subscription_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "subscription_id", + "tool_parameter_name": "status_page_subscription_id", + "description": "The ID of the Status Page subscription.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page subscription." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteTemplate.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteTemplate.json new file mode 100644 index 00000000..723862dd --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteTemplate.json @@ -0,0 +1,102 @@ +{ + "name": "DeleteTemplate", + "fully_qualified_name": "PagerdutyApi.DeleteTemplate@0.1.0", + "description": "Delete a specific template from the account.\n\nCall this tool to delete a specific template from a Pagerduty account. Ensure that the necessary permissions (`templates.write`) are in place before attempting this operation.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "template_id", + "required": true, + "description": "The unique identifier for the template to delete.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteTemplate'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/templates/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "template_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteUserNotificationRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteUserNotificationRule.json new file mode 100644 index 00000000..5d8819ac --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteUserNotificationRule.json @@ -0,0 +1,205 @@ +{ + "name": "DeleteUserNotificationRule", + "fully_qualified_name": "PagerdutyApi.DeleteUserNotificationRule@0.1.0", + "description": "Remove a user's status update notification rule.\n\nThis tool removes a specific status update notification rule for a user on PagerDuty. It is used when you want to delete a notification rule to stop receiving updates for incidents. Requires appropriate permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique identifier of the user whose notification rule is to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_update_notification_rule_id", + "required": true, + "description": "The ID of the status update notification rule to be removed for the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The status update notification rule ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "status_update_notification_rule_id" + }, + { + "name": "accept_header_versioning", + "required": true, + "description": "Specify the API version using the Accept header for versioning purposes. This helps determine the format of the response you will receive.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the resource, required as 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteUserStatusUpdateNotificationRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/status_update_notification_rules/{status_update_notification_rule_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "status_update_notification_rule_id", + "tool_parameter_name": "status_update_notification_rule_id", + "description": "The status update notification rule ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The status update notification rule ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteWebhookSubscription.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteWebhookSubscription.json new file mode 100644 index 00000000..5d7fb768 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteWebhookSubscription.json @@ -0,0 +1,135 @@ +{ + "name": "DeleteWebhookSubscription", + "fully_qualified_name": "PagerdutyApi.DeleteWebhookSubscription@0.1.0", + "description": "Deletes a specified webhook subscription in Pagerduty.\n\nUse this tool to delete an existing webhook subscription in Pagerduty. It is applicable when a user wants to remove a webhook they no longer need or want to replace. The operation requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the webhook subscription to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The `Accept` header specifying API version for webhook deletion.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteWebhookSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteWorkflowIntegrationConnection.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteWorkflowIntegrationConnection.json new file mode 100644 index 00000000..e7c81972 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DeleteWorkflowIntegrationConnection.json @@ -0,0 +1,168 @@ +{ + "name": "DeleteWorkflowIntegrationConnection", + "fully_qualified_name": "PagerdutyApi.DeleteWorkflowIntegrationConnection@0.1.0", + "description": "Delete a workflow integration connection in PagerDuty.\n\nUse this tool to delete a specific workflow integration connection in PagerDuty. Ensure you have the necessary OAuth scope: `workflow_integrations:connections.write`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "workflow_integration_id", + "required": true, + "description": "The unique ID of the Workflow Integration to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the resource to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the `Accept` header for versioning the API request. Required for specifying the API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteWorkflowIntegrationConnection'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations/{integration_id}/connections/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "integration_id", + "tool_parameter_name": "workflow_integration_id", + "description": "The ID of the Workflow Integration", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateAutomationAction.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateAutomationAction.json new file mode 100644 index 00000000..b8a05d58 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateAutomationAction.json @@ -0,0 +1,205 @@ +{ + "name": "DisassociateAutomationAction", + "fully_qualified_name": "PagerdutyApi.DisassociateAutomationAction@0.1.0", + "description": "Disassociate an Automation Action from a service.\n\nUse this tool to remove the association between an automation action and a specified service when you need to manage or update service configurations.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the resource to be disassociated from the service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "service_identifier", + "required": true, + "description": "The unique identifier for the service from which the automation action will be disassociated.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "api_version", + "required": true, + "description": "Specify the API version using the `Accept` header format, e.g., 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set the content type for the request header. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteAutomationActionServiceAssociation'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}/services/{service_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "service_identifier", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateAutomationActionFromTeam.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateAutomationActionFromTeam.json new file mode 100644 index 00000000..5558cd32 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateAutomationActionFromTeam.json @@ -0,0 +1,205 @@ +{ + "name": "DisassociateAutomationActionFromTeam", + "fully_qualified_name": "PagerdutyApi.DisassociateAutomationActionFromTeam@0.1.0", + "description": "Disassociate an Automation Action from a team in Pagerduty.\n\nUse this tool to remove the association between a specific automation action and a team in Pagerduty when changes in team management or responsibilities occur.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the resource to be disassociated. It should be a string.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "team_identifier", + "required": true, + "description": "The unique identifier for the team to disassociate from the automation action.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The value for the `Accept` header used to specify the API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the format for the request body. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteAutomationActionTeamAssociation'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}/teams/{team_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_id", + "tool_parameter_name": "team_identifier", + "description": "The team ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateRunnerFromTeam.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateRunnerFromTeam.json new file mode 100644 index 00000000..046c8786 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/DisassociateRunnerFromTeam.json @@ -0,0 +1,205 @@ +{ + "name": "DisassociateRunnerFromTeam", + "fully_qualified_name": "PagerdutyApi.DisassociateRunnerFromTeam@0.1.0", + "description": "Disassociates a runner from a team in Pagerduty.\n\nThis tool removes the association between a specified runner and a team in Pagerduty's automation actions. Use it to manage runner and team assignments efficiently.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "runner_resource_id", + "required": true, + "description": "The unique ID of the runner resource to be disassociated from the team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "team_id", + "required": true, + "description": "The ID of the team to disassociate the runner from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the version of the API to use via the `Accept` header. Format usually like 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "set_content_type_header", + "required": true, + "description": "Specifies the Content-Type header for the request. Use 'application/json' as the value.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteAutomationActionsRunnerTeamAssociation'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/runners/{id}/teams/{team_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "runner_resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_id", + "tool_parameter_name": "team_id", + "description": "The team ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "set_content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/EnableExtension.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/EnableExtension.json new file mode 100644 index 00000000..6af4637c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/EnableExtension.json @@ -0,0 +1,172 @@ +{ + "name": "EnableExtension", + "fully_qualified_name": "PagerdutyApi.EnableExtension@0.1.0", + "description": "Enable a temporarily disabled extension in Pagerduty.\n\nCall this tool to enable an extension that has been temporarily disabled on Pagerduty. The extension is linked to a specific service and no request body is required. Suitable for reactivating functionalities swiftly. Requires 'extensions.write' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the extension resource to enable in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version", + "required": true, + "description": "Specify the API version using the 'Accept' header for versioning purposes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type of the request as 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'enableExtension'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/extensions/{id}/enable", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/EnableWebhookSubscription.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/EnableWebhookSubscription.json new file mode 100644 index 00000000..c55fd935 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/EnableWebhookSubscription.json @@ -0,0 +1,135 @@ +{ + "name": "EnableWebhookSubscription", + "fully_qualified_name": "PagerdutyApi.EnableWebhookSubscription@0.1.0", + "description": "Enable a temporarily disabled webhook subscription.\n\nThis tool enables a webhook subscription that has been temporarily disabled due to delivery method rejections. It should be called when you need to reactivate such a subscription without providing a request body.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the webhook to be reactivated.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The `Accept` header value for versioning the API response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'enableWebhookSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions/{id}/enable", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchAutomationActionRunner.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchAutomationActionRunner.json new file mode 100644 index 00000000..5f2568dd --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchAutomationActionRunner.json @@ -0,0 +1,172 @@ +{ + "name": "FetchAutomationActionRunner", + "fully_qualified_name": "PagerdutyApi.FetchAutomationActionRunner@0.1.0", + "description": "Retrieve details of an Automation Action runner by ID.\n\nCall this tool to get detailed information about a specific automation action runner using its ID.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the automation action runner to fetch details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the API version using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the request body. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsRunner'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/runners/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchIncidentLogs.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchIncidentLogs.json new file mode 100644 index 00000000..253c1bb5 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchIncidentLogs.json @@ -0,0 +1,446 @@ +{ + "name": "FetchIncidentLogs", + "fully_qualified_name": "PagerdutyApi.FetchIncidentLogs@0.1.0", + "description": "Retrieve all incident log entries from the account.\n\nThis tool retrieves a comprehensive list of all log entries for incidents across the entire account. Use it to access detailed logs of events related to incidents.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header", + "required": true, + "description": "The versioning header for API requests. Specify the API version to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_content_type", + "required": true, + "description": "Specifies the media type for the response. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of log entry results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset value to start the pagination of search results. Used for controlling which set of results are displayed.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "render_results_in_time_zone", + "required": false, + "description": "Specify the time zone for rendering results. Defaults to the account's time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "start_date_range", + "required": false, + "description": "The start date for the range to search incident log entries. Format as 'YYYY-MM-DD'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date_range", + "required": false, + "description": "Specify the end date for the search date range. This is used to filter log entries up to a specific date.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "additional_models_to_include", + "required": false, + "description": "Array of additional models such as 'incidents', 'services', 'channels', 'teams' to include in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incidents", + "services", + "channels", + "teams" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "team_ids", + "required": false, + "description": "An array of team IDs for filtering log entries by team. Requires 'teams' ability.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the total field in pagination responses, showing the total number of items.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + }, + { + "name": "overview_only", + "required": false, + "description": "Set to true to return only the most important changes to incidents.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If `true`, will return a subset of log entries that show only the most important changes to the incident." + }, + "inferrable": true, + "http_endpoint_parameter_name": "is_overview" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listLogEntries'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/log_entries", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "time_zone", + "tool_parameter_name": "render_results_in_time_zone", + "description": "Time zone in which results will be rendered. This will default to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date_range", + "description": "The start of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date_range", + "description": "The end of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "is_overview", + "tool_parameter_name": "overview_only", + "description": "If `true`, will return a subset of log entries that show only the most important changes to the incident.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If `true`, will return a subset of log entries that show only the most important changes to the incident." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_models_to_include", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incidents", + "services", + "channels", + "teams" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchRecentPausedIncidentAlerts.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchRecentPausedIncidentAlerts.json new file mode 100644 index 00000000..67783ed7 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/FetchRecentPausedIncidentAlerts.json @@ -0,0 +1,271 @@ +{ + "name": "FetchRecentPausedIncidentAlerts", + "fully_qualified_name": "PagerdutyApi.FetchRecentPausedIncidentAlerts@0.1.0", + "description": "Fetch recent paused and resolved incident alerts.\n\nThis tool retrieves the five most recent alerts triggered and resolved after being paused within a specified reporting period of up to 6 months. It's available with the Event Intelligence package or Digital Operations plan.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "The version of the API to use, specified by the `Accept` header. Used for versioning control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set this to 'application/json' to specify the format of the request content.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "start_date_range", + "required": false, + "description": "The start date for the search range in ISO 8601 format (YYYY-MM-DD).", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "Specifies the end date for the search range to look up paused incident alerts. The format should be in ISO 8601 (YYYY-MM-DD).", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "filter_by_service_id", + "required": false, + "description": "Provide a specific service ID to limit report scope to that service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to limit the scope of reporting to a particular service" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "filter_by_suspension_method", + "required": false, + "description": "Filter alerts by suspension method: 'Auto Pause' or 'Event Rules'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to scope the response to either alerts suspended by Auto Pause or Event Rules." + }, + "inferrable": true, + "http_endpoint_parameter_name": "suspended_by" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getPausedIncidentReportAlerts'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/paused_incident_reports/alerts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "since", + "tool_parameter_name": "start_date_range", + "description": "The start of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "filter_by_service_id", + "description": "Specifies a filter to limit the scope of reporting to a particular service", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to limit the scope of reporting to a particular service" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "suspended_by", + "tool_parameter_name": "filter_by_suspension_method", + "description": "Specifies a filter to scope the response to either alerts suspended by Auto Pause or Event Rules.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to scope the response to either alerts suspended by Auto Pause or Event Rules." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAccountAbilities.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAccountAbilities.json new file mode 100644 index 00000000..e7ce2914 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAccountAbilities.json @@ -0,0 +1,139 @@ +{ + "name": "GetAccountAbilities", + "fully_qualified_name": "PagerdutyApi.GetAccountAbilities@0.1.0", + "description": "Retrieve a list of all abilities for your account.\n\nCall this tool to get a list of your account's abilities, which describe its capabilities based on your pricing plan or account state. Useful for understanding what features are available to your account.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "The `Accept` header specifying the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the resource. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listAbilities'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/abilities", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAccountStandards.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAccountStandards.json new file mode 100644 index 00000000..d5b076d6 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAccountStandards.json @@ -0,0 +1,172 @@ +{ + "name": "GetAccountStandards", + "fully_qualified_name": "PagerdutyApi.GetAccountStandards@0.1.0", + "description": "Retrieve all standards for a PagerDuty account.\n\nThis tool retrieves all the standards associated with a PagerDuty account. It requires OAuth permission 'standards.read' to access the data. Call this tool when you need to obtain a list of standards configured in a PagerDuty account.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to use for retrieving account standards. This is included in the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "standard_resource_type", + "required": false, + "description": "Specify the type of resource for standards, e.g., 'technical_service'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "technical_service" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "resource_type" + }, + { + "name": "active_standards_only", + "required": false, + "description": "Return only active standards if true; otherwise, return all standards.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "active" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStandards'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/standards", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "active", + "tool_parameter_name": "active_standards_only", + "description": "", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "resource_type", + "tool_parameter_name": "standard_resource_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "technical_service" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetActionTeamAssociation.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetActionTeamAssociation.json new file mode 100644 index 00000000..b09ce7a9 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetActionTeamAssociation.json @@ -0,0 +1,205 @@ +{ + "name": "GetActionTeamAssociation", + "fully_qualified_name": "PagerdutyApi.GetActionTeamAssociation@0.1.0", + "description": "Fetch details of an Automation Action and team relationship.\n\nUse this tool to retrieve information about the relationship between an Automation Action and a specific team in Pagerduty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the Automation Action resource to fetch its details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "team_id", + "required": true, + "description": "The unique identifier for the team in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_id" + }, + { + "name": "api_version", + "required": true, + "description": "Specify the API version using the `Accept` header format (e.g., application/vnd.pagerduty+json;version=2).", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsActionTeamAssociation'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}/teams/{team_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_id", + "tool_parameter_name": "team_id", + "description": "The team ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetActiveUserSessions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetActiveUserSessions.json new file mode 100644 index 00000000..5dee2575 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetActiveUserSessions.json @@ -0,0 +1,172 @@ +{ + "name": "GetActiveUserSessions", + "fully_qualified_name": "PagerdutyApi.GetActiveUserSessions@0.1.0", + "description": "Retrieve active PagerDuty user sessions.\n\nThis tool fetches active sessions for a specific PagerDuty user, excluding newly issued OAuth tokens. It's useful for monitoring user activity and requires OAuth with `users:sessions.read` scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique ID of the PagerDuty user whose active sessions you want to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_accept_header", + "required": true, + "description": "Specify the `Accept` header to determine the API version you want to interact with.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the request body. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserSessions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/sessions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAddonDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAddonDetails.json new file mode 100644 index 00000000..1701a182 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAddonDetails.json @@ -0,0 +1,172 @@ +{ + "name": "GetAddonDetails", + "fully_qualified_name": "PagerdutyApi.GetAddonDetails@0.1.0", + "description": "Retrieve details of a specific Pagerduty Add-on.\n\nThis tool retrieves information about an existing Add-on integrated into Pagerduty's UI. Use it when you need to view specific details of an Add-on by providing its ID.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "addon_id", + "required": true, + "description": "The unique ID of the Pagerduty Add-on to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the version of the API to accept. Used for versioning the response format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAddon'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/addons/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "addon_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAlertGroupingSetting.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAlertGroupingSetting.json new file mode 100644 index 00000000..8053d986 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAlertGroupingSetting.json @@ -0,0 +1,172 @@ +{ + "name": "GetAlertGroupingSetting", + "fully_qualified_name": "PagerdutyApi.GetAlertGroupingSetting@0.1.0", + "description": "Retrieve an existing alert grouping setting by ID.\n\nUse this tool to obtain details of a specific alert grouping setting in Pagerduty by providing the setting ID. This helps in understanding and managing how alerts are grouped. Requires `services.read` scope for OAuth.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "alert_grouping_setting_id", + "required": true, + "description": "The unique identifier of the alert grouping setting to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Versioning header for API requests, specifies the format of the response data.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The MIME type of the request content. Use 'application/json' for this API.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAlertGroupingSetting'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/alert_grouping_settings/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "alert_grouping_setting_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAllTemplates.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAllTemplates.json new file mode 100644 index 00000000..ec19350a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAllTemplates.json @@ -0,0 +1,281 @@ +{ + "name": "GetAllTemplates", + "fully_qualified_name": "PagerdutyApi.GetAllTemplates@0.1.0", + "description": "Retrieve all templates from a Pagerduty account.\n\nThis tool retrieves a list of all the templates available in a Pagerduty account. It should be called when you need to access or manage template information in the account. Scoped OAuth with `templates.read` is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "results_per_page", + "required": false, + "description": "The number of results to return per page. Use to control pagination.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset index to start pagination in search results. This is used to navigate through paginated results efficiently.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "template_search_query", + "required": false, + "description": "Template name or description to search within the account's templates.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Template name or description to search" + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "filter_by_template_type", + "required": false, + "description": "Filters the templates by their type. Provide the type of template you want to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters templates by type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "template_type" + }, + { + "name": "sort_templates_by", + "required": false, + "description": "Specifies the field and direction to sort results, such as 'name' or 'created_at'. Defaults to ascending order if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name", + "name:asc", + "name:desc", + "created_at", + "created_at:asc", + "created_at:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify both the field you wish to sort the results on (name/created_at), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. Sort direction defaults to ascending." + }, + "inferrable": true, + "http_endpoint_parameter_name": "sort_by" + }, + { + "name": "include_total_in_pagination", + "required": false, + "description": "Set to true to include the total field in pagination responses for detailed counts.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTemplates'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/templates", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_pagination", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "query", + "tool_parameter_name": "template_search_query", + "description": "Template name or description to search", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Template name or description to search" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "template_type", + "tool_parameter_name": "filter_by_template_type", + "description": "Filters templates by type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters templates by type." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "sort_by", + "tool_parameter_name": "sort_templates_by", + "description": "Used to specify both the field you wish to sort the results on (name/created_at), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. Sort direction defaults to ascending.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name", + "name:asc", + "name:desc", + "created_at", + "created_at:asc", + "created_at:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify both the field you wish to sort the results on (name/created_at), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. Sort direction defaults to ascending." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAssociatedServices.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAssociatedServices.json new file mode 100644 index 00000000..14d85678 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAssociatedServices.json @@ -0,0 +1,172 @@ +{ + "name": "GetAssociatedServices", + "fully_qualified_name": "PagerdutyApi.GetAssociatedServices@0.1.0", + "description": "Retrieve services associated with an Automation Action.\n\nUse this tool to obtain all service references that are linked to a specific Automation Action identified by its ID.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the resource to fetch associated services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_header", + "required": true, + "description": "String to specify the version of the API to accept, used in the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set to 'application/json' to specify the media type for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsActionServiceAssociations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}/services", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationAction.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationAction.json new file mode 100644 index 00000000..0b4c72fe --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationAction.json @@ -0,0 +1,172 @@ +{ + "name": "GetAutomationAction", + "fully_qualified_name": "PagerdutyApi.GetAutomationAction@0.1.0", + "description": "Retrieve details of a specific automation action.\n\nUse this tool to get information about a specific automation action in Pagerduty by providing the action ID. Ideal for checking action configurations or status.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "automation_action_id", + "required": true, + "description": "The unique ID of the automation action to retrieve from Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "Specifies the version of the API to accept. Required for determining the versioning scheme.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type of the request. For this endpoint, use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationAction'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "automation_action_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationActionInvocation.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationActionInvocation.json new file mode 100644 index 00000000..28407b5e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationActionInvocation.json @@ -0,0 +1,172 @@ +{ + "name": "GetAutomationActionInvocation", + "fully_qualified_name": "PagerdutyApi.GetAutomationActionInvocation@0.1.0", + "description": "Retrieve detailed information about an automation action invocation.\n\nThis tool is used to obtain detailed information about a specific automation action invocation by ID within Pagerduty. Call this tool when you need to understand the status or outcome of a particular action.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the automation action invocation.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specify the versioning header for the API request. Use this to indicate the version of the API to be used.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the resource. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsInvocation'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/invocations/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationActionServiceDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationActionServiceDetails.json new file mode 100644 index 00000000..a9bd49e7 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetAutomationActionServiceDetails.json @@ -0,0 +1,205 @@ +{ + "name": "GetAutomationActionServiceDetails", + "fully_qualified_name": "PagerdutyApi.GetAutomationActionServiceDetails@0.1.0", + "description": "Retrieve details of a service's automation action relationship.\n\nThis tool retrieves information about the relationship between a specific automation action and a service in Pagerduty. Use it to understand how actions are associated with services, enhancing monitoring and automation configurations.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the automation action or service resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "service_id", + "required": true, + "description": "The unique identifier for the service whose automation action relationship details are needed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the version of the API to accept, used for versioning control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The 'Content-Type' header specifies the media type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsActionServiceAssociation'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}/services/{service_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceDependencies.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceDependencies.json new file mode 100644 index 00000000..31a4fa8a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceDependencies.json @@ -0,0 +1,172 @@ +{ + "name": "GetBusinessServiceDependencies", + "fully_qualified_name": "PagerdutyApi.GetBusinessServiceDependencies@0.1.0", + "description": "Fetch immediate dependencies of a specified Business Service.\n\nThis tool retrieves all immediate dependencies of a specified Business Service within Pagerduty. Business Services may involve multiple technical services and can be managed by different teams. Use this tool to understand the dependencies affecting a Business Service.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the Business Service whose dependencies you want to fetch.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "The versioning header to specify API version, using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the content type. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getBusinessServiceServiceDependencies'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/service_dependencies/business_services/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceDetails.json new file mode 100644 index 00000000..0941b4ce --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceDetails.json @@ -0,0 +1,172 @@ +{ + "name": "GetBusinessServiceDetails", + "fully_qualified_name": "PagerdutyApi.GetBusinessServiceDetails@0.1.0", + "description": "Retrieve details of an existing business service.\n\nUse this tool to get detailed information about a business service, which represents capabilities spanning multiple technical services.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "business_service_id", + "required": true, + "description": "The unique identifier of the business service to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version", + "required": true, + "description": "Specify the API version using the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type of the response. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getBusinessService'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "business_service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceImpacts.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceImpacts.json new file mode 100644 index 00000000..fa98435a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceImpacts.json @@ -0,0 +1,174 @@ +{ + "name": "GetBusinessServiceImpacts", + "fully_qualified_name": "PagerdutyApi.GetBusinessServiceImpacts@0.1.0", + "description": "Retrieve top business services by impact with status included.\n\nFetch a list of top-level business services sorted by highest impact, including status. Useful for identifying the most affected services up to a limit of 200. Use the 'ids[]' parameter to get information on specific services. Requires 'services.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specify the version of the API to use in the `Accept` header for versioning purposes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "include_additional_fields", + "required": false, + "description": "Specify additional fields to include, like highest impacting priority or total impacted count. Options: 'services.highest_impacting_priority', 'total_impacted_count'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "inferrable": true, + "http_endpoint_parameter_name": "additional_fields[]" + }, + { + "name": "specific_business_service_ids", + "required": false, + "description": "List of specific Business Service IDs to retrieve impact information for. Use this to target particular services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The IDs of the resources." + }, + "inferrable": true, + "http_endpoint_parameter_name": "ids[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getBusinessServiceImpacts'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/impacts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "additional_fields[]", + "tool_parameter_name": "include_additional_fields", + "description": "Provides access to additional fields such as highest priority per business service and total impacted count", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "ids[]", + "tool_parameter_name": "specific_business_service_ids", + "description": "The IDs of the resources.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The IDs of the resources." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceSubscribers.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceSubscribers.json new file mode 100644 index 00000000..308ebecb --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetBusinessServiceSubscribers.json @@ -0,0 +1,135 @@ +{ + "name": "GetBusinessServiceSubscribers", + "fully_qualified_name": "PagerdutyApi.GetBusinessServiceSubscribers@0.1.0", + "description": "Retrieve subscribers of a business service.\n\nFetches a list of users subscribed for notifications on a specified business service. Ensure users are added through the appropriate POST method to be available via this endpoint. This requires OAuth scope 'subscribers.read'.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "business_service_id", + "required": true, + "description": "The ID of the business service to retrieve subscribers for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The version identifier for the API, supplied in the 'Accept' header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getBusinessServiceSubscribers'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/{id}/subscribers", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "business_service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetChangeEventDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetChangeEventDetails.json new file mode 100644 index 00000000..4dd3302f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetChangeEventDetails.json @@ -0,0 +1,172 @@ +{ + "name": "GetChangeEventDetails", + "fully_qualified_name": "PagerdutyApi.GetChangeEventDetails@0.1.0", + "description": "Retrieve details about a specific change event.\n\nUse this tool to obtain detailed information about an existing change event. Ideal for monitoring changes or audits.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique ID of the change event to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Sets the media type of the response. Typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getChangeEvent'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/change_events/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCurrentUserDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCurrentUserDetails.json new file mode 100644 index 00000000..e03d71f0 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCurrentUserDetails.json @@ -0,0 +1,182 @@ +{ + "name": "GetCurrentUserDetails", + "fully_qualified_name": "PagerdutyApi.GetCurrentUserDetails@0.1.0", + "description": "Retrieve details of the current Pagerduty user.\n\nThis tool fetches detailed information about the currently authenticated user in Pagerduty. It should be called when user-specific information is needed, such as user profile details and interactions within the Pagerduty system.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_header", + "required": true, + "description": "The `Accept` header for specifying the API version in the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the data being sent. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_models", + "required": false, + "description": "Specify additional models to include in the response, such as contact methods, notification rules, teams, or subdomains.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods", + "notification_rules", + "teams", + "subdomains" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getCurrentUser'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/me", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods", + "notification_rules", + "teams", + "subdomains" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCustomFieldForIncidentType.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCustomFieldForIncidentType.json new file mode 100644 index 00000000..b95a6b0e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCustomFieldForIncidentType.json @@ -0,0 +1,242 @@ +{ + "name": "GetCustomFieldForIncidentType", + "fully_qualified_name": "PagerdutyApi.GetCustomFieldForIncidentType@0.1.0", + "description": "Retrieve a custom field for a specific incident type.\n\n", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_type_identifier", + "required": true, + "description": "The ID or name of the incident type to retrieve the custom field for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type_id_or_name" + }, + { + "name": "field_identifier", + "required": true, + "description": "The unique ID of the custom field to retrieve for the incident type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "versioning_accept_header", + "required": true, + "description": "The `Accept` header used for versioning the API response. Specify the version needed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the content type for the response, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_field_options", + "required": false, + "description": "Optional: Specify 'field_options' to include additional details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentTypeCustomField'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_field_options", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "type_id_or_name", + "tool_parameter_name": "incident_type_identifier", + "description": "The ID or name of the Incident Type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_id", + "tool_parameter_name": "field_identifier", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCustomFieldOptionDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCustomFieldOptionDetails.json new file mode 100644 index 00000000..52eea931 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetCustomFieldOptionDetails.json @@ -0,0 +1,238 @@ +{ + "name": "GetCustomFieldOptionDetails", + "fully_qualified_name": "PagerdutyApi.GetCustomFieldOptionDetails@0.1.0", + "description": "Retrieve details of a specific custom field option for an incident type.\n\nUse this tool to get information about a specific field option in a custom field, which provides additional context to incidents in Pagerduty. Useful for customized filtering, search, and analytics. Requires `custom_fields.read` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_type_identifier", + "required": true, + "description": "The ID or name of the Incident Type for which you want to retrieve the custom field option details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type_id_or_name" + }, + { + "name": "field_option_id", + "required": true, + "description": "The unique ID of the field option to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_option_id" + }, + { + "name": "field_identifier", + "required": true, + "description": "The unique ID of the custom field for the incident type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the version of the API to use by setting the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the request. Usually set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentTypeCustomFieldFieldOptions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options/{field_option_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "type_id_or_name", + "tool_parameter_name": "incident_type_identifier", + "description": "The ID or name of the Incident Type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_option_id", + "tool_parameter_name": "field_option_id", + "description": "The ID of the field option.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_id", + "tool_parameter_name": "field_identifier", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEnrichedIncidentData.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEnrichedIncidentData.json new file mode 100644 index 00000000..de4772bc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEnrichedIncidentData.json @@ -0,0 +1,172 @@ +{ + "name": "GetEnrichedIncidentData", + "fully_qualified_name": "PagerdutyApi.GetEnrichedIncidentData@0.1.0", + "description": "Retrieve enriched data and metrics for a specific incident.\n\nUse this tool to get detailed analytics and metrics for a single incident, including resolution time, engagement time, and other key metrics. Ideal for analyzing incident performance and response.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique ID of the incident for which to retrieve enriched analytics and metrics.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "Specify the version of the API to request. This uses the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_content_type", + "required": true, + "description": "Specifies the format of the returned data. Use 'application/json' for JSON responses.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAnalyticsIncidentsById'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/analytics/raw/incidents/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEscalationPolicyAuditRecords.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEscalationPolicyAuditRecords.json new file mode 100644 index 00000000..10f38e2e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEscalationPolicyAuditRecords.json @@ -0,0 +1,304 @@ +{ + "name": "GetEscalationPolicyAuditRecords", + "fully_qualified_name": "PagerdutyApi.GetEscalationPolicyAuditRecords@0.1.0", + "description": "Retrieve audit records for an escalation policy.\n\nCall this tool to get audit records related to a specific escalation policy, sorted by execution time from newest to oldest. Useful for tracking changes and actions on escalation policies.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the escalation policy to retrieve audit records for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_header", + "required": true, + "description": "Specify the API version header using the 'Accept' header to determine response format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the response. Set as 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "result_limit", + "required": false, + "description": "Specify the maximum number of audit records to return, capped by the API's maximum limit.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_cursor", + "required": false, + "description": "Optional string to request the next set of results. Use the `next_cursor` from the previous response to continue paging.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "start_date_range", + "required": false, + "description": "The start date for the search range. Defaults to the past 24 hours if not specified. Format as YYYY-MM-DD.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date_range_for_search", + "required": false, + "description": "End of the date range for searching audit records. Defaults to current date if unspecified. Max 31 days after start.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listEscalationPolicyAuditRecords'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/escalation_policies/{id}/audit/records", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "result_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "pagination_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date_range", + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date_range_for_search", + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEscalationPolicyInfo.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEscalationPolicyInfo.json new file mode 100644 index 00000000..862f15d9 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEscalationPolicyInfo.json @@ -0,0 +1,213 @@ +{ + "name": "GetEscalationPolicyInfo", + "fully_qualified_name": "PagerdutyApi.GetEscalationPolicyInfo@0.1.0", + "description": "Retrieve details of an escalation policy and its rules.\n\nUse this tool to get information about a specific escalation policy, which defines alerting rules for users. Useful for understanding who is alerted and when in your Pagerduty setup.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the escalation policy resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "response_versioning_header", + "required": true, + "description": "Specifies the API version for the response format. Use the `Accept` header to manage versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_content_type", + "required": true, + "description": "Specifies the response format of the API. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "additional_models_to_include", + "required": false, + "description": "Array of additional models to include in the escalation policy response. Options are 'services', 'teams', or 'targets'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "teams", + "targets" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getEscalationPolicy'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/escalation_policies/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "additional_models_to_include", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "teams", + "targets" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEventRuleDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEventRuleDetails.json new file mode 100644 index 00000000..dd90d204 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetEventRuleDetails.json @@ -0,0 +1,205 @@ +{ + "name": "GetEventRuleDetails", + "fully_qualified_name": "PagerdutyApi.GetEventRuleDetails@0.1.0", + "description": "Retrieve details of a specific event rule from a ruleset.\n\nThis tool retrieves information about a specific Event Rule within a ruleset in Pagerduty. Event Rules define actions based on event content. Use this tool to access the rule details before migrating to Event Orchestration.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the resource within Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "event_rule_id", + "required": true, + "description": "The ID of the specific Event Rule to retrieve from a ruleset.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "inferrable": true, + "http_endpoint_parameter_name": "rule_id" + }, + { + "name": "accept_header_versioning", + "required": true, + "description": "Specifies the version of the API to use via the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The media type of the resource. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getRulesetEventRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/rulesets/{id}/rules/{rule_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "rule_id", + "tool_parameter_name": "event_rule_id", + "description": "The id of the Event Rule to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExistingTagDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExistingTagDetails.json new file mode 100644 index 00000000..f372139b --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExistingTagDetails.json @@ -0,0 +1,172 @@ +{ + "name": "GetExistingTagDetails", + "fully_qualified_name": "PagerdutyApi.GetExistingTagDetails@0.1.0", + "description": "Retrieve details of an existing tag in Pagerduty.\n\nUse this tool to get information about a specific tag that is applied to Escalation Policies, Teams, or Users in Pagerduty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the tag resource to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_versioning", + "required": true, + "description": "The Accept header used for API versioning in Pagerduty requests.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTag'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/tags/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExtensionDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExtensionDetails.json new file mode 100644 index 00000000..87ddb7ac --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExtensionDetails.json @@ -0,0 +1,213 @@ +{ + "name": "GetExtensionDetails", + "fully_qualified_name": "PagerdutyApi.GetExtensionDetails@0.1.0", + "description": "Retrieve details of a PagerDuty extension by ID.\n\nCall this tool to get detailed information about a specific PagerDuty extension using its ID. Useful for understanding configurations and properties attached to services.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "extension_id", + "required": true, + "description": "The unique ID of the PagerDuty extension to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The versioning header for the API request. Specify the desired API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Indicates the format of the request payload. Use \"application/json\" for JSON formatted data.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include in the response. Options are 'extension_schemas', 'extension_objects', and 'temporarily_disabled'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "extension_schemas", + "extension_objects", + "temporarily_disabled" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getExtension'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/extensions/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "extension_schemas", + "extension_objects", + "temporarily_disabled" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "extension_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExtensionVendorDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExtensionVendorDetails.json new file mode 100644 index 00000000..610d6d0c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExtensionVendorDetails.json @@ -0,0 +1,172 @@ +{ + "name": "GetExtensionVendorDetails", + "fully_qualified_name": "PagerdutyApi.GetExtensionVendorDetails@0.1.0", + "description": "Retrieve details of a specific PagerDuty extension vendor.\n\nThis tool fetches detailed information about a specific extension vendor in PagerDuty, such as types like Slack or ServiceNow. Use this when you need to understand the capabilities of an extension vendor.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "extension_vendor_id", + "required": true, + "description": "The unique identifier for the specific PagerDuty extension vendor.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the API version to use. Set this using the `Accept` header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the response content. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getExtensionSchema'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/extension_schemas/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "extension_vendor_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExternalDataCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExternalDataCacheVariable.json new file mode 100644 index 00000000..d39c7923 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetExternalDataCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "GetExternalDataCacheVariable", + "fully_qualified_name": "PagerdutyApi.GetExternalDataCacheVariable@0.1.0", + "description": "Retrieve cache variable data from a Global Orchestration.\n\nUse this tool to get the data of an external data type cache variable from a specified Global Orchestration in Pagerduty. This can include string, number, or boolean values stored for use in event orchestration rules. Requires appropriate OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for an Event Orchestration in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The ID of the cache variable to retrieve data for in the orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The `Accept` header used for API versioning. Specify the desired version format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Sets the content type of the request to 'application/json'. This is required for the API call.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getExternalDataCacheVarDataOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalEventOrchestration.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalEventOrchestration.json new file mode 100644 index 00000000..598db478 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalEventOrchestration.json @@ -0,0 +1,172 @@ +{ + "name": "GetGlobalEventOrchestration", + "fully_qualified_name": "PagerdutyApi.GetGlobalEventOrchestration@0.1.0", + "description": "Fetch details of a Global Event Orchestration by ID.\n\nRetrieves information about a Global Event Orchestration, including Global Rules and Router Rules applied to events. Useful for understanding event routing and actions based on orchestration settings.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique ID of the Global Event Orchestration to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_versioning_header", + "required": true, + "description": "Specifies the version of the API to use for requests. Determines response format and features.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The media type of the request body. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOrchestration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalOrchCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalOrchCacheVariable.json new file mode 100644 index 00000000..878b0420 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalOrchCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "GetGlobalOrchCacheVariable", + "fully_qualified_name": "PagerdutyApi.GetGlobalOrchCacheVariable@0.1.0", + "description": "Fetch a Cache Variable for a Global Event Orchestration.\n\nUse this tool to retrieve a specific Cache Variable within a Global Event Orchestration, which is useful for managing event data in orchestration rules for conditions or actions. Scoped OAuth with `event_orchestrations.read` is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The ID of an Event Orchestration to identify which orchestration to retrieve the cache variable from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "cache_variable_identifier", + "required": true, + "description": "The unique ID of a Cache Variable to retrieve within a Global Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "use_versioning_header", + "required": true, + "description": "Specify the API version using the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set the Content-Type for the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getCacheVarOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_identifier", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "use_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalOrchestrationRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalOrchestrationRules.json new file mode 100644 index 00000000..c9198bcc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetGlobalOrchestrationRules.json @@ -0,0 +1,172 @@ +{ + "name": "GetGlobalOrchestrationRules", + "fully_qualified_name": "PagerdutyApi.GetGlobalOrchestrationRules@0.1.0", + "description": "Fetch the Global Orchestration Rules for Event Processing.\n\nUse this tool to obtain the global orchestration rules for a specific event orchestration. Useful for understanding how events are processed and modified globally. OAuth with 'event_orchestrations.read' is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for an Event Orchestration, required to fetch its global orchestration rules.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The `Accept` header specifies the API version for the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The content type header for the request, expected to be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOrchPathGlobal'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/global", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetImpactedBusinessServices.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetImpactedBusinessServices.json new file mode 100644 index 00000000..00fc1dbd --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetImpactedBusinessServices.json @@ -0,0 +1,135 @@ +{ + "name": "GetImpactedBusinessServices", + "fully_qualified_name": "PagerdutyApi.GetImpactedBusinessServices@0.1.0", + "description": "Retrieve impacted business services for an incident.\n\nRetrieve a list of business services that are impacted by a specific incident. This tool should be called when you need to understand the impact of an incident on various business services.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique identifier for the incident affecting business services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API to use by providing the appropriate `Accept` header value.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentImpactedBusinessServices'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/business_services/impacts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetImpactedServicesByDashboardId.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetImpactedServicesByDashboardId.json new file mode 100644 index 00000000..09f78d39 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetImpactedServicesByDashboardId.json @@ -0,0 +1,174 @@ +{ + "name": "GetImpactedServicesByDashboardId", + "fully_qualified_name": "PagerdutyApi.GetImpactedServicesByDashboardId@0.1.0", + "description": "Retrieve impacted Business Services for a specific Dashboard.\n\nUse this tool to get the most impacted Business Services for a specified Status Dashboard. It returns up to 200 services, sorted by impact, recency, and name. Ideal for identifying major service impacts quickly.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "dashboard_id", + "required": true, + "description": "The unique identifier for the Status Dashboard to fetch impacted services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the version of the API to use in the request header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "include_additional_fields", + "required": false, + "description": "Specify additional fields to include, such as highest impacting priority or total impacted count.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "inferrable": true, + "http_endpoint_parameter_name": "additional_fields[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusDashboardServiceImpactsById'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_dashboards/{id}/service_impacts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "additional_fields[]", + "tool_parameter_name": "include_additional_fields", + "description": "Provides access to additional fields such as highest priority per business service and total impacted count", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "dashboard_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentAlertDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentAlertDetails.json new file mode 100644 index 00000000..5c76d570 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentAlertDetails.json @@ -0,0 +1,205 @@ +{ + "name": "GetIncidentAlertDetails", + "fully_qualified_name": "PagerdutyApi.GetIncidentAlertDetails@0.1.0", + "description": "Retrieve detailed information about a specific alert.\n\nUse this tool to get detailed information about a specific alert using the alert ID. Useful for understanding and resolving problems associated with incidents.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the alert resource to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "alert_id", + "required": true, + "description": "The ID of the alert you want to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the alert to retrieve." + }, + "inferrable": true, + "http_endpoint_parameter_name": "alert_id" + }, + { + "name": "response_version_header", + "required": true, + "description": "Specifies the API version to use in the request via the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request. For this API, use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentAlert'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/alerts/{alert_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "alert_id", + "tool_parameter_name": "alert_id", + "description": "The id of the alert to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the alert to retrieve." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentFieldValues.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentFieldValues.json new file mode 100644 index 00000000..91755ab5 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentFieldValues.json @@ -0,0 +1,102 @@ +{ + "name": "GetIncidentFieldValues", + "fully_qualified_name": "PagerdutyApi.GetIncidentFieldValues@0.1.0", + "description": "Retrieve custom field values for a specific incident.\n\nCall this tool to obtain custom field values associated with a specific incident in Pagerduty. Useful for when detailed information about incident fields is required. Requires 'incidents.read' permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique identifier of the incident to retrieve field values for. This is required for the API call.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentFieldValues'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/custom_fields/values", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentLogEntry.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentLogEntry.json new file mode 100644 index 00000000..8efe483f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentLogEntry.json @@ -0,0 +1,248 @@ +{ + "name": "GetIncidentLogEntry", + "fully_qualified_name": "PagerdutyApi.GetIncidentLogEntry@0.1.0", + "description": "Retrieve details of a specific incident log entry.\n\nFetch additional information about a specific incident log entry to access raw event data. This is useful for understanding all events associated with an incident.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_log_entry_id", + "required": true, + "description": "The unique identifier of the incident log entry to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API using the `Accept` header versioning format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type of the request header. Use 'application/json' for JSON responses.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_time_zone", + "required": false, + "description": "Specify the time zone for rendering results. Defaults to the account's time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "include_models", + "required": false, + "description": "List of additional models to include in the response, such as incidents, services, channels, or teams.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incidents", + "services", + "channels", + "teams" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getLogEntry'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/log_entries/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "time_zone", + "tool_parameter_name": "results_time_zone", + "description": "Time zone in which results will be rendered. This will default to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incidents", + "services", + "channels", + "teams" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "incident_log_entry_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentNotificationSubscribers.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentNotificationSubscribers.json new file mode 100644 index 00000000..ad837d12 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentNotificationSubscribers.json @@ -0,0 +1,135 @@ +{ + "name": "GetIncidentNotificationSubscribers", + "fully_qualified_name": "PagerdutyApi.GetIncidentNotificationSubscribers@0.1.0", + "description": "Retrieve subscribers for an incident's notification.\n\nCall this tool to get a list of notification subscribers for a specific incident. This is useful for understanding who will receive updates about the incident's status. Users must be added through the corresponding POST endpoint to be included.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique identifier for the incident to retrieve its notification subscribers.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the 'Accept' header for API versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentNotificationSubscribers'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/status_updates/subscribers", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentTypeInfo.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentTypeInfo.json new file mode 100644 index 00000000..b44ffdc7 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentTypeInfo.json @@ -0,0 +1,172 @@ +{ + "name": "GetIncidentTypeInfo", + "fully_qualified_name": "PagerdutyApi.GetIncidentTypeInfo@0.1.0", + "description": "Get detailed information about a specific incident type.\n\nUse this tool to obtain detailed information about a single incident type by providing either its ID or name. It helps categorize incidents as security, major, or fraud-related. Requires scoped OAuth authorization with 'incident_types.read'.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_type_identifier", + "required": true, + "description": "The ID or name of the incident type to get detailed information about it.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type_id_or_name" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version for response format using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the Content-Type for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentType'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types/{type_id_or_name}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "type_id_or_name", + "tool_parameter_name": "incident_type_identifier", + "description": "The ID or name of the Incident Type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflow.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflow.json new file mode 100644 index 00000000..2584bdbb --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflow.json @@ -0,0 +1,172 @@ +{ + "name": "GetIncidentWorkflow", + "fully_qualified_name": "PagerdutyApi.GetIncidentWorkflow@0.1.0", + "description": "Retrieve details of an existing Incident Workflow.\n\nCall this tool to obtain information about a specific Incident Workflow in Pagerduty. An Incident Workflow includes a sequence of steps and triggers for automated actions related to an incident.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the Incident Workflow you wish to retrieve. This ID is required to specify the exact workflow in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "The `Accept` header specifies the API version for retrieving the Incident Workflow.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set to 'application/json' to specify the format of the data being sent.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentWorkflow'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflowAction.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflowAction.json new file mode 100644 index 00000000..0f30a940 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflowAction.json @@ -0,0 +1,172 @@ +{ + "name": "GetIncidentWorkflowAction", + "fully_qualified_name": "PagerdutyApi.GetIncidentWorkflowAction@0.1.0", + "description": "Retrieve details of a specific incident workflow action.\n\nUse this tool to obtain information about a specific incident workflow action in Pagerduty. Useful for monitoring and managing incident workflows.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the incident workflow action to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_accept_header", + "required": true, + "description": "The versioning header used for API version control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the request body. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentWorkflowAction'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/actions/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflowTrigger.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflowTrigger.json new file mode 100644 index 00000000..f79408d1 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIncidentWorkflowTrigger.json @@ -0,0 +1,172 @@ +{ + "name": "GetIncidentWorkflowTrigger", + "fully_qualified_name": "PagerdutyApi.GetIncidentWorkflowTrigger@0.1.0", + "description": "Retrieve details of an existing Incident Workflows Trigger.\n\nCall this tool to get information about a specific Incident Workflows Trigger using its ID. Useful for accessing detailed trigger configurations or statuses in Pagerduty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the resource to retrieve the Incident Workflows Trigger.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the version of the API to use. This is set via the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the returned data. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncidentWorkflowTrigger'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/triggers/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIntegrationConnections.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIntegrationConnections.json new file mode 100644 index 00000000..c72115e2 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIntegrationConnections.json @@ -0,0 +1,234 @@ +{ + "name": "GetIntegrationConnections", + "fully_qualified_name": "PagerdutyApi.GetIntegrationConnections@0.1.0", + "description": "Retrieve connections for a specific workflow integration.\n\nUse this tool to fetch all workflow integration connections related to a particular integration within Pagerduty. This is useful for managing or auditing connections associated with a specific workflow integration.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "workflow_integration_id", + "required": true, + "description": "The unique identifier for the specific Workflow Integration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "version_header", + "required": true, + "description": "The versioning header used in the 'Accept' field to specify API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "request_limit", + "required": false, + "description": "Defines the maximum number of integration connections to retrieve in one request.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "result_cursor", + "required": false, + "description": "Cursor for fetching the next set of results, obtained from the `next_cursor` of the previous request. If not provided, fetches from the start.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "filter_integration_by_partial_name", + "required": false, + "description": "Filter results by a partial name of the integration to narrow down the search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter Integrations by partial name." + }, + "inferrable": true, + "http_endpoint_parameter_name": "name" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listWorkflowIntegrationConnectionsByIntegration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations/{integration_id}/connections", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "request_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "result_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "name", + "tool_parameter_name": "filter_integration_by_partial_name", + "description": "Filter Integrations by partial name.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter Integrations by partial name." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "integration_id", + "tool_parameter_name": "workflow_integration_id", + "description": "The ID of the Workflow Integration", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIntegrationDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIntegrationDetails.json new file mode 100644 index 00000000..613d8736 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetIntegrationDetails.json @@ -0,0 +1,205 @@ +{ + "name": "GetIntegrationDetails", + "fully_qualified_name": "PagerdutyApi.GetIntegrationDetails@0.1.0", + "description": "Retrieve integration details for event orchestrations.\n\nThis tool fetches details of a specific integration associated with event orchestrations in PagerDuty using the routing key. Ideal for obtaining integration information to facilitate event handling. Requires appropriate OAuth scope for access.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The ID of an Event Orchestration to retrieve its integration details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "integration_id", + "required": true, + "description": "The unique identifier for the specific integration to retrieve details from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Integration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The versioning header to specify the API response format. Use correct API versioning as required.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type for the request headers. Only 'application/json' is accepted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOrchestrationIntegration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/integrations/{integration_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "integration_id", + "tool_parameter_name": "integration_id", + "description": "The ID of an Integration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Integration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetMaintenanceWindow.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetMaintenanceWindow.json new file mode 100644 index 00000000..c92b8a11 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetMaintenanceWindow.json @@ -0,0 +1,213 @@ +{ + "name": "GetMaintenanceWindow", + "fully_qualified_name": "PagerdutyApi.GetMaintenanceWindow@0.1.0", + "description": "Retrieve details of a specific maintenance window.\n\nUse this tool to obtain information about an existing maintenance window, which temporarily disables services for a defined period. Scoped OAuth with 'services.read' is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "maintenance_window_id", + "required": true, + "description": "The ID of the maintenance window you want to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the versioning header using the `Accept` header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "set_content_type", + "required": true, + "description": "Sets the content type for the request. Typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_models", + "required": false, + "description": "Specify additional models to include in the response. Options: 'teams', 'services', 'users'. Accepts an array of strings.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "teams", + "services", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getMaintenanceWindow'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/maintenance_windows/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "teams", + "services", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "maintenance_window_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "set_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOauthClientDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOauthClientDetails.json new file mode 100644 index 00000000..528925ea --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOauthClientDetails.json @@ -0,0 +1,172 @@ +{ + "name": "GetOauthClientDetails", + "fully_qualified_name": "PagerdutyApi.GetOauthClientDetails@0.1.0", + "description": "Retrieve details of a specific OAuth client by ID.\n\nUse this tool to obtain detailed information about a specific OAuth client using its ID. It requires admin or owner role permissions in the Pagerduty service.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique ID of the OAuth client resource to retrieve details for. Requires admin or owner role permissions.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the API version using the `Accept` header. Provide the version format required by the service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_content_type", + "required": true, + "description": "Specifies the format of the response. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOauthClient'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions/oauth_clients/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOrchestrationRoutingRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOrchestrationRoutingRules.json new file mode 100644 index 00000000..de8c41f7 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOrchestrationRoutingRules.json @@ -0,0 +1,172 @@ +{ + "name": "GetOrchestrationRoutingRules", + "fully_qualified_name": "PagerdutyApi.GetOrchestrationRoutingRules@0.1.0", + "description": "Retrieve routing rules for a Global Orchestration.\n\nUse this tool to obtain the set of Event Rules in a Global Orchestration Router. It evaluates and routes events to a specific service based on matching rules or defaults to an 'Unrouted' service.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for the Event Orchestration to retrieve routing rules.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to use, using the `Accept` header as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "set_content_type", + "required": true, + "description": "Specify the Content-Type header. Only 'application/json' is accepted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOrchPathRouter'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/router", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "set_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOutlierIncidentInfo.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOutlierIncidentInfo.json new file mode 100644 index 00000000..a9af96db --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetOutlierIncidentInfo.json @@ -0,0 +1,242 @@ +{ + "name": "GetOutlierIncidentInfo", + "fully_qualified_name": "PagerdutyApi.GetOutlierIncidentInfo@0.1.0", + "description": "Retrieve outlier incident details for a specific incident.\n\nUse this tool to obtain detailed information about an outlier incident associated with a specific service incident in Pagerduty. Requires scoped OAuth with `incidents.read` permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique ID of the incident to retrieve outlier details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specify the API version as a string using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the request body. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "start_date_for_search", + "required": false, + "description": "The start date of the range for searching outlier incidents.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "additional_attributes_for_related_incidents", + "required": false, + "description": "List of additional attributes for the returned related incidents. Options include 'incident'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional attributes to any of the returned incidents for related incidents." + }, + "inferrable": true, + "http_endpoint_parameter_name": "additional_details[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOutlierIncident'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/outlier_incident", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "since", + "tool_parameter_name": "start_date_for_search", + "description": "The start of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "additional_details[]", + "tool_parameter_name": "additional_attributes_for_related_incidents", + "description": "Array of additional attributes to any of the returned incidents for related incidents.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional attributes to any of the returned incidents for related incidents." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPagerdutyRuleset.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPagerdutyRuleset.json new file mode 100644 index 00000000..bc3745c4 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPagerdutyRuleset.json @@ -0,0 +1,172 @@ +{ + "name": "GetPagerdutyRuleset", + "fully_qualified_name": "PagerdutyApi.GetPagerdutyRuleset@0.1.0", + "description": "Retrieve a PagerDuty ruleset for event routing.\n\nUse this tool to obtain details about a specific ruleset in PagerDuty, which allows you to route events and define actions based on event content. Note that rulesets and event rules are nearing end-of-life, so consider migrating to Event Orchestration for improved features.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "ruleset_id", + "required": true, + "description": "The unique identifier for the PagerDuty ruleset to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the version of the API to accept using the `Accept` header. This is used for versioning the API response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_json", + "required": true, + "description": "The 'Content-Type' header must be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getRuleset'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/rulesets/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "ruleset_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_json", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPausedIncidentReportCounts.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPausedIncidentReportCounts.json new file mode 100644 index 00000000..50b753ec --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPausedIncidentReportCounts.json @@ -0,0 +1,271 @@ +{ + "name": "GetPausedIncidentReportCounts", + "fully_qualified_name": "PagerdutyApi.GetPausedIncidentReportCounts@0.1.0", + "description": "Retrieve paused incident reporting counts for a specified period.\n\nThis tool fetches reporting counts for paused incident usage within a specific reporting period, with a maximum lookback of 6 months. It is part of the Event Intelligence package or Digital Operations plan. Use this tool to assess incident management efficiency over time.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "use_accept_versioning", + "required": true, + "description": "Specify if the `Accept` header should be used as a versioning header. True to enable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Sets the content type for the request; must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "start_date", + "required": false, + "description": "The start date for the search range in YYYY-MM-DD format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "The end date of the reporting period to search for paused incidents. Format: YYYY-MM-DD.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "filter_by_service_id", + "required": false, + "description": "Specifies a filter to limit the scope of reporting to a particular service by its ID.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to limit the scope of reporting to a particular service" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "filter_by_suspended_source", + "required": false, + "description": "Filter response to alerts suspended by Auto Pause or Event Rules.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to scope the response to either alerts suspended by Auto Pause or Event Rules." + }, + "inferrable": true, + "http_endpoint_parameter_name": "suspended_by" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getPausedIncidentReportCounts'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/paused_incident_reports/counts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "filter_by_service_id", + "description": "Specifies a filter to limit the scope of reporting to a particular service", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to limit the scope of reporting to a particular service" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "suspended_by", + "tool_parameter_name": "filter_by_suspended_source", + "description": "Specifies a filter to scope the response to either alerts suspended by Auto Pause or Event Rules.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specifies a filter to scope the response to either alerts suspended by Auto Pause or Event Rules." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "use_accept_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPostUpdate.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPostUpdate.json new file mode 100644 index 00000000..2157258c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPostUpdate.json @@ -0,0 +1,201 @@ +{ + "name": "GetPostUpdate", + "fully_qualified_name": "PagerdutyApi.GetPostUpdate@0.1.0", + "description": "Retrieve a specific post update by post and update ID.\n\nFetch a post update for a post using the post ID and post update ID on Pagerduty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique ID of the resource to retrieve the post update.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_post_id", + "required": true, + "description": "The unique ID of the Status Page Post to retrieve the update for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_id" + }, + { + "name": "status_page_post_update_id", + "required": true, + "description": "The ID of the Status Page Post Update to be retrieved from Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post Update." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_update_id" + }, + { + "name": "accept_header", + "required": true, + "description": "The `Accept` header used for versioning. Specify the API version required.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getPostUpdate'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_id", + "tool_parameter_name": "status_page_post_id", + "description": "The ID of the Status Page Post.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_update_id", + "tool_parameter_name": "status_page_post_update_id", + "description": "The ID of the Status Page Post Update.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post Update." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPostmortemReport.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPostmortemReport.json new file mode 100644 index 00000000..d68faf2d --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPostmortemReport.json @@ -0,0 +1,168 @@ +{ + "name": "GetPostmortemReport", + "fully_qualified_name": "PagerdutyApi.GetPostmortemReport@0.1.0", + "description": "Retrieve postmortem details using a specific post ID.\n\nThis tool fetches the postmortem report for a given post ID from Pagerduty's status pages. It's useful for obtaining detailed insights after incidents. Requires status_pages.read OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique ID of the resource to retrieve the postmortem report.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_post_id", + "required": true, + "description": "The unique identifier of the Status Page Post to retrieve the postmortem details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_id" + }, + { + "name": "response_version_header", + "required": true, + "description": "Specifies the `Accept` header for versioning the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getPostmortem'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/postmortem", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_id", + "tool_parameter_name": "status_page_post_id", + "description": "The ID of the Status Page Post.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPriorityThresholds.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPriorityThresholds.json new file mode 100644 index 00000000..685ef499 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetPriorityThresholds.json @@ -0,0 +1,102 @@ +{ + "name": "GetPriorityThresholds", + "fully_qualified_name": "PagerdutyApi.GetPriorityThresholds@0.1.0", + "description": "Retrieve priority threshold information for an account.\n\nFetches the global priority threshold to determine which incidents impact business services. Useful for understanding incident impacts based on set priorities.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_header", + "required": true, + "description": "Specifies the API version in the 'Accept' header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getBusinessServicePriorityThresholds'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/priority_thresholds", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRecentRelatedIncidents.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRecentRelatedIncidents.json new file mode 100644 index 00000000..6487dfe9 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRecentRelatedIncidents.json @@ -0,0 +1,209 @@ +{ + "name": "GetRecentRelatedIncidents", + "fully_qualified_name": "PagerdutyApi.GetRecentRelatedIncidents@0.1.0", + "description": "Fetch recent related incidents impacting responders and services.\n\nUse this tool to obtain the 20 most recent related incidents impacting other responders and services. This is available with the Event Intelligence package or Digital Operations plan.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the resource to fetch related incidents for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API using the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Sets the 'Content-Type' header. Should be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_incident_details", + "required": false, + "description": "Indicate if additional attributes should be included for returned incidents. Valid option is 'incident'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional attributes to any of the returned incidents for related incidents." + }, + "inferrable": true, + "http_endpoint_parameter_name": "additional_details[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getRelatedIncidents'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/related_incidents", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "additional_details[]", + "tool_parameter_name": "include_additional_incident_details", + "description": "Array of additional attributes to any of the returned incidents for related incidents.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional attributes to any of the returned incidents for related incidents." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRelatedEntitiesByTag.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRelatedEntitiesByTag.json new file mode 100644 index 00000000..08ab4f35 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRelatedEntitiesByTag.json @@ -0,0 +1,312 @@ +{ + "name": "GetRelatedEntitiesByTag", + "fully_qualified_name": "PagerdutyApi.GetRelatedEntitiesByTag@0.1.0", + "description": "Retrieve related users, teams, or escalation policies by tag.\n\nUtilize this tool to get users, teams, or escalation policies that are associated with a specific tag. Tags are applied to filter these entities for better organization and management.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The identifier for the resource (user, team, or escalation policy) to retrieve related entities by tag.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "entity_type", + "required": true, + "description": "Specifies the type of entity related with the tag, such as users, teams, or escalation policies.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users", + "teams", + "escalation_policies" + ], + "properties": null, + "inner_properties": null, + "description": "Type of entity related with the tag" + }, + "inferrable": true, + "http_endpoint_parameter_name": "entity_type" + }, + { + "name": "response_format_version", + "required": true, + "description": "Specifies the API version for the request. This is set using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the resource. Default and only valid value is 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of results to return per page when retrieving entities by tag.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination of search results, specifying where to begin.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total count of results in pagination responses. This may increase response time.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTagsByEntityType'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/tags/{id}/{entity_type}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "entity_type", + "tool_parameter_name": "entity_type", + "description": "Type of entity related with the tag", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users", + "teams", + "escalation_policies" + ], + "properties": null, + "inner_properties": null, + "description": "Type of entity related with the tag" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_format_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRelatedTags.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRelatedTags.json new file mode 100644 index 00000000..a18e9b28 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRelatedTags.json @@ -0,0 +1,312 @@ +{ + "name": "GetRelatedTags", + "fully_qualified_name": "PagerdutyApi.GetRelatedTags@0.1.0", + "description": "Retrieve related tags for Users, Teams, or Escalation Policies.\n\nUse this tool to get tags associated with specific Users, Teams, or Escalation Policies in Pagerduty. Tags help in filtering these entities. Requires 'tags.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "entity_type", + "required": true, + "description": "The type of entity (users, teams, or escalation_policies) related to the tag to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users", + "teams", + "escalation_policies" + ], + "properties": null, + "inner_properties": null, + "description": "Type of entity related with the tag" + }, + "inferrable": true, + "http_endpoint_parameter_name": "entity_type" + }, + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the resource you want to retrieve tags for, such as a User, Team, or Escalation Policy.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_accept_header", + "required": true, + "description": "Specify the version of the API response format using this header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type for the request. Only 'application/json' is supported.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page_limit", + "required": false, + "description": "Specify the number of results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination of search results. Useful for navigating through pages of results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_pagination", + "required": false, + "description": "Set to true to include the total count of results in pagination responses. Defaults to false for faster response times.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getEntityTypeByIdTags'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/{entity_type}/{id}/tags", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page_limit", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_pagination", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "entity_type", + "tool_parameter_name": "entity_type", + "description": "Type of entity related with the tag", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users", + "teams", + "escalation_policies" + ], + "properties": null, + "inner_properties": null, + "description": "Type of entity related with the tag" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetResourceStandards.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetResourceStandards.json new file mode 100644 index 00000000..3b925029 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetResourceStandards.json @@ -0,0 +1,172 @@ +{ + "name": "GetResourceStandards", + "fully_qualified_name": "PagerdutyApi.GetResourceStandards@0.1.0", + "description": "Retrieve standards for a specific resource in PagerDuty.\n\nUse this tool to list the standards applied to a specific resource in PagerDuty. Ideal for checking compliance or reviewing standard applications. Requires `standards.read` permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the resource for which to list the standards.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Id of the resource to apply the standards." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "resource_type", + "required": true, + "description": "The type of resource to list standards for. Accepted value: 'technical_services'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "technical_services" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "resource_type" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the version of the API response format using this header, such as 'application/vnd.pagerduty.v2+json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listResourceStandards'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/standards/scores/{resource_type}/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "Id of the resource to apply the standards.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Id of the resource to apply the standards." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "resource_type", + "tool_parameter_name": "resource_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "technical_services" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRunnerTeamAssociation.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRunnerTeamAssociation.json new file mode 100644 index 00000000..2cfb80ce --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRunnerTeamAssociation.json @@ -0,0 +1,205 @@ +{ + "name": "GetRunnerTeamAssociation", + "fully_qualified_name": "PagerdutyApi.GetRunnerTeamAssociation@0.1.0", + "description": "Fetch details of a runner and team association on Pagerduty.\n\nUse this tool to obtain information about the relationship between a specific runner and a team on Pagerduty. Ideal for understanding associations and assignments between automation runners and teams.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the resource to get details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "team_id", + "required": true, + "description": "The unique identifier for the team whose runner association details are being fetched.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the resource. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsRunnerTeamAssociation'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/runners/{id}/teams/{team_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_id", + "tool_parameter_name": "team_id", + "description": "The team ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The team ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRunnerTeamAssociations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRunnerTeamAssociations.json new file mode 100644 index 00000000..a82f1e95 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetRunnerTeamAssociations.json @@ -0,0 +1,172 @@ +{ + "name": "GetRunnerTeamAssociations", + "fully_qualified_name": "PagerdutyApi.GetRunnerTeamAssociations@0.1.0", + "description": "Retrieve team associations for a specific runner.\n\nThis tool retrieves all team references associated with a specific automation actions runner in Pagerduty. It should be called when you need to find out which teams are linked to a particular runner.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the runner resource to retrieve associated team references.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The `Accept` header for API versioning, typically in format `application/vnd.pagerduty+json;version=2`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the format of content, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsRunnerTeamAssociations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/runners/{id}/teams", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetScheduleAuditRecords.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetScheduleAuditRecords.json new file mode 100644 index 00000000..7e69e0f9 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetScheduleAuditRecords.json @@ -0,0 +1,304 @@ +{ + "name": "GetScheduleAuditRecords", + "fully_qualified_name": "PagerdutyApi.GetScheduleAuditRecords@0.1.0", + "description": "Retrieve audit records for a specific schedule.\n\nThis tool retrieves audit records for a specific schedule in PagerDuty, sorted by execution time from newest to oldest. It requires audit_records.read permission and is useful for tracking changes or events associated with a schedule. Refer to the Pagination documentation for navigating large data sets.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the schedule resource to retrieve audit records for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The versioning header used to specify the API response format. Provide the version of the API you are targeting.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Defines the format of the response. It should always be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "maximum_records", + "required": false, + "description": "Specifies the maximum number of audit records to retrieve in one request. It is the lesser of this value or the API's maximum limit.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_cursor", + "required": false, + "description": "Optional string to request the next set of results. It starts at the beginning if not provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "start_date", + "required": false, + "description": "The start date for the audit record search range. Defaults to 24 hours ago if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "The end date for the audit record search range. Defaults to now if not specified. Cannot be more than 31 days after the start date.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listSchedulesAuditRecords'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/schedules/{id}/audit/records", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "maximum_records", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "pagination_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetScheduleInfo.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetScheduleInfo.json new file mode 100644 index 00000000..51e7d7bc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetScheduleInfo.json @@ -0,0 +1,337 @@ +{ + "name": "GetScheduleInfo", + "fully_qualified_name": "PagerdutyApi.GetScheduleInfo@0.1.0", + "description": "Retrieve detailed schedule information from Pagerduty.\n\nThis tool retrieves comprehensive information regarding a specific schedule from Pagerduty, including details for each schedule layer. Utilize this tool when you need to access and display schedule information. Requires schedule ID to function.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "schedule_id", + "required": true, + "description": "The unique identifier for the schedule resource in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_versioning", + "required": true, + "description": "The `Accept` header specifies versioning information for the API request. Use a valid versioning value formatted as a string.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the MIME type of the request body. Must be 'application/json' for this endpoint.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "time_zone_for_results", + "required": false, + "description": "Specify the time zone for rendering results. Defaults to the schedule's time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the schedule's time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "start_date", + "required": false, + "description": "The start date for the schedule entries. Defaults to 2 weeks before 'until' if not provided. This is optional and affects the rendered_schedule_entries fields when include[] for schedule types is used.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to show schedule entries. Defaults to 2 weeks before until if an until is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "The end of the date range to show schedule entries. Defaults to 2 weeks after the start date if not provided. Optional.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to show schedule entries. Defaults to 2 weeks after since if a since is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "user_id_for_next_oncall", + "required": false, + "description": "Specify a user ID to get information about this user's next on-call schedule.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specify an `user_id`, and the schedule list API will return information about this user's next on-call." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include_next_oncall_for_user" + }, + { + "name": "allow_overflow", + "required": false, + "description": "Set true to include schedule entries beyond date range bounds.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter `overflow=true` is passed. This parameter defaults to false.\nFor instance, if your schedule is a rotation that changes daily at midnight UTC, and your date range is from `2011-06-01T10:00:00Z` to `2011-06-01T14:00:00Z`:\n\n\n- If you don't pass the `overflow=true` parameter, you will get one schedule entry returned with a start of `2011-06-01T10:00:00Z` and end of `2011-06-01T14:00:00Z`.\n- If you do pass the `overflow=true` parameter, you will get one schedule entry returned with a start of `2011-06-01T00:00:00Z` and end of `2011-06-02T00:00:00Z`.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "overflow" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getSchedule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/schedules/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "time_zone", + "tool_parameter_name": "time_zone_for_results", + "description": "Time zone in which results will be rendered. This will default to the schedule's time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the schedule's time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to show schedule entries. Defaults to 2 weeks before until if an until is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to show schedule entries. Defaults to 2 weeks before until if an until is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to show schedule entries. Defaults to 2 weeks after since if a since is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to show schedule entries. Defaults to 2 weeks after since if a since is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "overflow", + "tool_parameter_name": "allow_overflow", + "description": "Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter `overflow=true` is passed. This parameter defaults to false.\nFor instance, if your schedule is a rotation that changes daily at midnight UTC, and your date range is from `2011-06-01T10:00:00Z` to `2011-06-01T14:00:00Z`:\n\n\n- If you don't pass the `overflow=true` parameter, you will get one schedule entry returned with a start of `2011-06-01T10:00:00Z` and end of `2011-06-01T14:00:00Z`.\n- If you do pass the `overflow=true` parameter, you will get one schedule entry returned with a start of `2011-06-01T00:00:00Z` and end of `2011-06-02T00:00:00Z`.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter `overflow=true` is passed. This parameter defaults to false.\nFor instance, if your schedule is a rotation that changes daily at midnight UTC, and your date range is from `2011-06-01T10:00:00Z` to `2011-06-01T14:00:00Z`:\n\n\n- If you don't pass the `overflow=true` parameter, you will get one schedule entry returned with a start of `2011-06-01T10:00:00Z` and end of `2011-06-01T14:00:00Z`.\n- If you do pass the `overflow=true` parameter, you will get one schedule entry returned with a start of `2011-06-01T00:00:00Z` and end of `2011-06-02T00:00:00Z`.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include_next_oncall_for_user", + "tool_parameter_name": "user_id_for_next_oncall", + "description": "Specify an `user_id`, and the schedule list API will return information about this user's next on-call.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specify an `user_id`, and the schedule list API will return information about this user's next on-call." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "schedule_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceCustomFieldOption.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceCustomFieldOption.json new file mode 100644 index 00000000..c3b30e04 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceCustomFieldOption.json @@ -0,0 +1,205 @@ +{ + "name": "GetServiceCustomFieldOption", + "fully_qualified_name": "PagerdutyApi.GetServiceCustomFieldOption@0.1.0", + "description": "Retrieve a specific field option for a service.\n\nUse this tool to get details of a custom field option for a specific field within a service in Pagerduty. It requires 'custom_fields.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "field_identifier", + "required": true, + "description": "The unique identifier for the field whose option needs to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "field_option_id", + "required": true, + "description": "The identifier for the specific field option to retrieve details from a service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_option_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The versioning header to specify the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Set the 'Content-Type' header to specify the media type. Use 'application/json' for this API.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getServiceCustomFieldOption'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/custom_fields/{field_id}/field_options/{field_option_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "field_id", + "tool_parameter_name": "field_identifier", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_option_id", + "tool_parameter_name": "field_option_id", + "description": "The ID of the field option.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceCustomFieldValues.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceCustomFieldValues.json new file mode 100644 index 00000000..0d8bc532 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceCustomFieldValues.json @@ -0,0 +1,172 @@ +{ + "name": "GetServiceCustomFieldValues", + "fully_qualified_name": "PagerdutyApi.GetServiceCustomFieldValues@0.1.0", + "description": "Retrieve custom field values for a specified service in Pagerduty.\n\nUse this tool to obtain custom field values for a specific service in Pagerduty. This requires `services.read` permissions and is ideal when detailed configuration or metadata for a service is needed.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the Pagerduty service to retrieve custom field values for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the version of the API to use for this request. It's sent in the Accept header to control versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getServiceCustomFieldValues'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/custom_fields/values", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceDetails.json new file mode 100644 index 00000000..a136f9c2 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceDetails.json @@ -0,0 +1,215 @@ +{ + "name": "GetServiceDetails", + "fully_qualified_name": "PagerdutyApi.GetServiceDetails@0.1.0", + "description": "Retrieve details about a Pagerduty service.\n\nUse this tool to get information about an existing Pagerduty service, which may represent an application, component, or team. This is useful for understanding the entities you may wish to open incidents against.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier of the Pagerduty service to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specify the versioning for the API response using the `Accept` header value.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the request payload. Typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify which additional details to include, such as escalation policies, teams, integrations, and auto pause notifications parameters.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "escalation_policies", + "teams", + "auto_pause_notifications_parameters", + "integrations" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getService'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "escalation_policies", + "teams", + "auto_pause_notifications_parameters", + "integrations" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceEventCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceEventCacheVariable.json new file mode 100644 index 00000000..e06e2a20 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceEventCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "GetServiceEventCacheVariable", + "fully_qualified_name": "PagerdutyApi.GetServiceEventCacheVariable@0.1.0", + "description": "Retrieve a cache variable from a service event orchestration.\n\nThis tool retrieves a specific cache variable associated with a service event orchestration in Pagerduty. Cache variables are used to store event data and can be utilized in orchestration rules for conditions or actions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "A string representing the unique ID of the service for which the cache variable is to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The unique identifier for the cache variable in the service event orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the API versioning using the 'Accept' header. Provide the version of the API you want to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the resource, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getCacheVarOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceEventRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceEventRule.json new file mode 100644 index 00000000..5c023fc0 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceEventRule.json @@ -0,0 +1,205 @@ +{ + "name": "GetServiceEventRule", + "fully_qualified_name": "PagerdutyApi.GetServiceEventRule@0.1.0", + "description": "Retrieve a specific event rule from a Pagerduty service.\n\nThis tool fetches an event rule associated with a specified service in Pagerduty. It should be called when you need detailed information about a specific rule linked to a Pagerduty service. Note that event rules and rulesets will soon be discontinued, so consider migrating to Event Orchestration for enhanced features.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique ID of the Pagerduty service resource to fetch the event rule from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "event_rule_id", + "required": true, + "description": "The ID of the event rule to retrieve from the specified service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "inferrable": true, + "http_endpoint_parameter_name": "rule_id" + }, + { + "name": "accept_header", + "required": true, + "description": "The `Accept` header specifies the API version to use for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Indicates the format of the content being sent. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getServiceEventRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/rules/{rule_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "rule_id", + "tool_parameter_name": "event_rule_id", + "description": "The id of the Event Rule to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the Event Rule to retrieve." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceImpactsByUrlSlug.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceImpactsByUrlSlug.json new file mode 100644 index 00000000..34889dfd --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceImpactsByUrlSlug.json @@ -0,0 +1,174 @@ +{ + "name": "GetServiceImpactsByUrlSlug", + "fully_qualified_name": "PagerdutyApi.GetServiceImpactsByUrlSlug@0.1.0", + "description": "Retrieve impacted business services by dashboard URL slug.\n\nFetches the most impacted business services based on a given status dashboard `url_slug`, providing insights up to a limit of 200.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_dashboard_url_slug", + "required": true, + "description": "The URL slug for the status dashboard to identify and retrieve impacted business services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `url_slug` for a status dashboard" + }, + "inferrable": true, + "http_endpoint_parameter_name": "url_slug" + }, + { + "name": "response_versioning_header", + "required": true, + "description": "Specifies the API version for the request using the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "include_additional_fields", + "required": false, + "description": "Specify additional fields like highest impacting priority or total impacted count for business services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "inferrable": true, + "http_endpoint_parameter_name": "additional_fields[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusDashboardServiceImpactsByUrlSlug'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_dashboards/url_slugs/{url_slug}/service_impacts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "additional_fields[]", + "tool_parameter_name": "include_additional_fields", + "description": "Provides access to additional fields such as highest priority per business service and total impacted count", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "url_slug", + "tool_parameter_name": "status_dashboard_url_slug", + "description": "The `url_slug` for a status dashboard", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `url_slug` for a status dashboard" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceIntegrationDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceIntegrationDetails.json new file mode 100644 index 00000000..81318cf4 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceIntegrationDetails.json @@ -0,0 +1,244 @@ +{ + "name": "GetServiceIntegrationDetails", + "fully_qualified_name": "PagerdutyApi.GetServiceIntegrationDetails@0.1.0", + "description": "Retrieve integration details for a given service.\n\nUse this tool to obtain information about a specific integration associated with a service on Pagerduty. This is useful for understanding the integrations linked to applications, components, or teams for incident management.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The ID of the service resource to retrieve integration details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "integration_id", + "required": true, + "description": "The unique ID of the integration associated with a service. Required to retrieve specific integration details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The integration ID on the service." + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "version_header", + "required": true, + "description": "A versioning string for the `Accept` header to specify API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the request body. Use 'application/json' for JSON formatted requests.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as 'services' or 'vendors'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "vendors" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getServiceIntegration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/integrations/{integration_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "vendors" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "integration_id", + "tool_parameter_name": "integration_id", + "description": "The integration ID on the service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The integration ID on the service." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceOrchestration.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceOrchestration.json new file mode 100644 index 00000000..edf84bff --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceOrchestration.json @@ -0,0 +1,209 @@ +{ + "name": "GetServiceOrchestration", + "fully_qualified_name": "PagerdutyApi.GetServiceOrchestration@0.1.0", + "description": "Retrieve orchestration rules for a specific service.\n\nThis tool retrieves the orchestration rules set for a specific service in Pagerduty. It evaluates events against these rules to modify, enhance, or route them. Useful for understanding event processing and service automation configurations.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_identifier", + "required": true, + "description": "The unique ID of the service for which orchestration details are to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "response_version", + "required": true, + "description": "Specifies the API version for the response using the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_models", + "required": false, + "description": "An array of additional models like 'migrated_metadata' to include in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "migrated_metadata" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOrchPathService'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "migrated_metadata" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "service_identifier", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceOrchestrationStatus.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceOrchestrationStatus.json new file mode 100644 index 00000000..b59d58d8 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetServiceOrchestrationStatus.json @@ -0,0 +1,172 @@ +{ + "name": "GetServiceOrchestrationStatus", + "fully_qualified_name": "PagerdutyApi.GetServiceOrchestrationStatus@0.1.0", + "description": "Retrieve a service orchestration's active status.\n\nUse this tool to determine if a service orchestration is currently active, indicating if an event will be evaluated against a service orchestration path or ruleset. Useful for monitoring and managing service workflows.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier for the service you want to query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "api_version_accept_header", + "required": true, + "description": "The `Accept` header to specify the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOrchActiveStatus'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/active", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboard.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboard.json new file mode 100644 index 00000000..b3a9c024 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboard.json @@ -0,0 +1,135 @@ +{ + "name": "GetStatusDashboard", + "fully_qualified_name": "PagerdutyApi.GetStatusDashboard@0.1.0", + "description": "Retrieve a status dashboard using its URL slug.\n\nFetch a custom Status Dashboard from PagerDuty using a human-readable URL slug, which is typically a dash-separated string. This tool should be called when you need to access the status of specific dashboards created or modified in the UI.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_dashboard_url_slug", + "required": true, + "description": "The human-readable URL slug for the status dashboard, typically a dash-separated string.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `url_slug` for a status dashboard" + }, + "inferrable": true, + "http_endpoint_parameter_name": "url_slug" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to use for fetching the status dashboard. This is set via the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusDashboardByUrlSlug'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_dashboards/url_slugs/{url_slug}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "url_slug", + "tool_parameter_name": "status_dashboard_url_slug", + "description": "The `url_slug` for a status dashboard", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `url_slug` for a status dashboard" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboardById.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboardById.json new file mode 100644 index 00000000..845bd1bc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboardById.json @@ -0,0 +1,135 @@ +{ + "name": "GetStatusDashboardById", + "fully_qualified_name": "PagerdutyApi.GetStatusDashboardById@0.1.0", + "description": "Retrieve a status dashboard using its PagerDuty ID.\n\nUse this tool to get detailed information about a specific status dashboard by supplying the PagerDuty ID. Requires the `status_dashboards.read` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "dashboard_id", + "required": true, + "description": "The unique PagerDuty ID of the status dashboard to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_accept_header", + "required": true, + "description": "The versioning header for the API request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusDashboardById'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_dashboards/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "dashboard_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboards.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboards.json new file mode 100644 index 00000000..5b36ea91 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusDashboards.json @@ -0,0 +1,102 @@ +{ + "name": "GetStatusDashboards", + "fully_qualified_name": "PagerdutyApi.GetStatusDashboards@0.1.0", + "description": "Retrieve all custom status dashboard views.\n\nUse this tool to get all custom Status Dashboard views associated with your Pagerduty account. It requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_versioning", + "required": true, + "description": "The Accept header versioning for the API request. Specify the API version you want to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusDashboards'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_dashboards", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageImpact.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageImpact.json new file mode 100644 index 00000000..b43c0f38 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageImpact.json @@ -0,0 +1,168 @@ +{ + "name": "GetStatusPageImpact", + "fully_qualified_name": "PagerdutyApi.GetStatusPageImpact@0.1.0", + "description": "Retrieve impact details for a specific status page using IDs.\n\nThis tool retrieves the impact details for a specific status page identified by the status page ID and impact ID. It should be called when detailed information about an impact on a status page is needed.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The unique identifier for the status page resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_impact_id", + "required": true, + "description": "The unique identifier for the impact on the status page. Required to retrieve specific impact details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Impact." + }, + "inferrable": true, + "http_endpoint_parameter_name": "impact_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the API versioning for the Accept header. Use the format 'application/vnd.pagerduty+json;version=1'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusPageImpact'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/impacts/{impact_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "impact_id", + "tool_parameter_name": "status_page_impact_id", + "description": "The ID of the Status Page Impact.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Impact." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPagePost.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPagePost.json new file mode 100644 index 00000000..c47be8dd --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPagePost.json @@ -0,0 +1,201 @@ +{ + "name": "GetStatusPagePost", + "fully_qualified_name": "PagerdutyApi.GetStatusPagePost@0.1.0", + "description": "Retrieve a post from a status page using page and post IDs.\n\nCall this tool to get information about a specific post on a status page using the status page ID and the post ID. Useful for obtaining updates or details about incidents or announcements.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The unique identifier of the status page to retrieve the post from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_post_id", + "required": true, + "description": "The unique identifier for the specific status page post to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_id" + }, + { + "name": "versioning_header_accept", + "required": true, + "description": "Specify the version of the API to use with the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "include_models", + "required": false, + "description": "Array of additional models to include in the response. Add model names as needed.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusPagePost'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts/{post_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_id", + "tool_parameter_name": "status_page_post_id", + "description": "The ID of the Status Page Post.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header_accept", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageService.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageService.json new file mode 100644 index 00000000..0946666a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageService.json @@ -0,0 +1,168 @@ +{ + "name": "GetStatusPageService", + "fully_qualified_name": "PagerdutyApi.GetStatusPageService@0.1.0", + "description": "Retrieve service details for a specific status page.\n\nThis tool retrieves the details of a specific service on a status page using the Status Page ID and Service ID. Use it to obtain current service information displayed on a status page.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the status page resource to retrieve the service from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_service_id", + "required": true, + "description": "The unique ID of the Status Page service to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page service." + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the version of the API to be used by setting the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusPageService'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/services/{service_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "status_page_service_id", + "description": "The ID of the Status Page service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page service." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSeverity.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSeverity.json new file mode 100644 index 00000000..908c4e95 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSeverity.json @@ -0,0 +1,168 @@ +{ + "name": "GetStatusPageSeverity", + "fully_qualified_name": "PagerdutyApi.GetStatusPageSeverity@0.1.0", + "description": "Retrieve severity details for a status page by ID.\n\nUse this tool to get detailed information about a specific severity level for a status page using the status page ID and severity ID. Useful for monitoring and response teams to understand the impact level of issues.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The ID of the status page to retrieve severity details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "severity_id", + "required": true, + "description": "The ID of the specific severity for the status page. Use this to retrieve severity details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page severity." + }, + "inferrable": true, + "http_endpoint_parameter_name": "severity_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the version of the API response format using the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusPageSeverity'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/severities/{severity_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "severity_id", + "tool_parameter_name": "severity_id", + "description": "The ID of the Status Page severity.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page severity." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageStatus.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageStatus.json new file mode 100644 index 00000000..b813050f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageStatus.json @@ -0,0 +1,168 @@ +{ + "name": "GetStatusPageStatus", + "fully_qualified_name": "PagerdutyApi.GetStatusPageStatus@0.1.0", + "description": "Retrieve the status of a specific status page.\n\nUse this tool to get the current status of a status page by providing the Status Page ID and Status ID. This is helpful for monitoring the status of services or systems.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The ID of the status page resource to retrieve status for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_status_id", + "required": true, + "description": "Provide the ID of the Status Page status to retrieve its current status.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page status." + }, + "inferrable": true, + "http_endpoint_parameter_name": "status_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The `Accept` header specifying the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusPageStatus'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/statuses/{status_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "status_id", + "tool_parameter_name": "status_page_status_id", + "description": "The ID of the Status Page status.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page status." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSubscription.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSubscription.json new file mode 100644 index 00000000..e24ac4bd --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSubscription.json @@ -0,0 +1,168 @@ +{ + "name": "GetStatusPageSubscription", + "fully_qualified_name": "PagerdutyApi.GetStatusPageSubscription@0.1.0", + "description": "Retrieve a subscription from a Status Page using IDs.\n\nUse this tool to retrieve details of a subscription on a specific Status Page by providing the Status Page ID and Subscription ID. Appropriate for monitoring status page subscriptions or checking specific subscription details.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The unique identifier for the Status Page resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_subscription_id", + "required": true, + "description": "The ID of the Status Page subscription to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page subscription." + }, + "inferrable": true, + "http_endpoint_parameter_name": "subscription_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API using the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getStatusPageSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/subscriptions/{subscription_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "subscription_id", + "tool_parameter_name": "status_page_subscription_id", + "description": "The ID of the Status Page subscription.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page subscription." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSubscriptions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSubscriptions.json new file mode 100644 index 00000000..74661e72 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetStatusPageSubscriptions.json @@ -0,0 +1,215 @@ +{ + "name": "GetStatusPageSubscriptions", + "fully_qualified_name": "PagerdutyApi.GetStatusPageSubscriptions@0.1.0", + "description": "Retrieve subscriptions for a specific status page using its ID.\n\n", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The ID of the status page to retrieve subscriptions for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Versioning information for the API request, set via the 'Accept' HTTP header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "subscription_status_filter", + "required": false, + "description": "Filter subscriptions by status: 'active' or 'pending'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "active", + "pending" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Subscription status." + }, + "inferrable": true, + "http_endpoint_parameter_name": "status" + }, + { + "name": "subscription_channel_filter", + "required": false, + "description": "Filter subscriptions by channel type. Accepted values: 'webhook', 'email', 'slack'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "webhook", + "email", + "slack" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Subscription channel." + }, + "inferrable": true, + "http_endpoint_parameter_name": "channel" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPageSubscriptions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/subscriptions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "status", + "tool_parameter_name": "subscription_status_filter", + "description": "Filter by Subscription status.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "active", + "pending" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Subscription status." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "channel", + "tool_parameter_name": "subscription_channel_filter", + "description": "Filter by Subscription channel.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "webhook", + "email", + "slack" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Subscription channel." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetSupportingServiceImpacts.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetSupportingServiceImpacts.json new file mode 100644 index 00000000..e4a707fa --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetSupportingServiceImpacts.json @@ -0,0 +1,207 @@ +{ + "name": "GetSupportingServiceImpacts", + "fully_qualified_name": "PagerdutyApi.GetSupportingServiceImpacts@0.1.0", + "description": "Retrieve supporting business services sorted by impact level.\n\nUse this tool to get the most impacted business services supporting a given business service, up to a limit of 200. The services are sorted by impact, recent impact, and name.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the business service to retrieve supporting impacts for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version", + "required": true, + "description": "Specifies the versioning header for the API response format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "include_additional_fields", + "required": false, + "description": "Specify additional fields like highest impacting priority or total impacted count to be included in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "inferrable": true, + "http_endpoint_parameter_name": "additional_fields[]" + }, + { + "name": "resource_ids", + "required": false, + "description": "A list of resource IDs to get impact information about specific business services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The IDs of the resources." + }, + "inferrable": true, + "http_endpoint_parameter_name": "ids[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getBusinessServiceSupportingServiceImpacts'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/{id}/supporting_services/impacts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "additional_fields[]", + "tool_parameter_name": "include_additional_fields", + "description": "Provides access to additional fields such as highest priority per business service and total impacted count", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services.highest_impacting_priority", + "total_impacted_count" + ], + "properties": null, + "inner_properties": null, + "description": "Provides access to additional fields such as highest priority per business service and total impacted count" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "ids[]", + "tool_parameter_name": "resource_ids", + "description": "The IDs of the resources.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The IDs of the resources." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamAuditRecords.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamAuditRecords.json new file mode 100644 index 00000000..c87ed33f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamAuditRecords.json @@ -0,0 +1,304 @@ +{ + "name": "GetTeamAuditRecords", + "fully_qualified_name": "PagerdutyApi.GetTeamAuditRecords@0.1.0", + "description": "Retrieve audit records for a specific team.\n\nUse this tool to get a list of audit records for a specified team, sorted by execution time from newest to oldest. Useful for tracking changes or actions within a team. Requires proper OAuth scope for access.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "team_id", + "required": true, + "description": "The unique identifier for the team to retrieve audit records for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The versioning header for the API, typically specified using 'Accept'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "force_content_type_json", + "required": true, + "description": "Ensures the content type for the request is set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "records_limit", + "required": false, + "description": "Specify the maximum number of audit records to return. This should be the lesser of the requested limit or the maximum allowed by the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "next_result_cursor", + "required": false, + "description": "The cursor to retrieve the next set of results, usually obtained from `next_cursor` of the previous request. If not provided, starts from the beginning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "start_date", + "required": false, + "description": "The start date for the audit record search. Defaults to 24 hours ago if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "The end of the date range for searching audit records. Defaults to the current date if not specified. Must be within 31 days of the start date.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listTeamsAuditRecords'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}/audit/records", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "records_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "next_result_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "team_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "force_content_type_json", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamDetails.json new file mode 100644 index 00000000..50897fb1 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamDetails.json @@ -0,0 +1,209 @@ +{ + "name": "GetTeamDetails", + "fully_qualified_name": "PagerdutyApi.GetTeamDetails@0.1.0", + "description": "Retrieve details about a specific team.\n\nThis tool retrieves details about an existing team in Pagerduty. Teams are collections of users and escalation policies representing groups within an organization. Use this tool to obtain information about a specific team by providing the team ID.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "team_id", + "required": true, + "description": "The ID of the team resource to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "Specifies the API version for response format. Use the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The 'Content-Type' header value for the request; must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_models", + "required": false, + "description": "Specifies additional models to include in the response, such as 'privileges'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "privileges" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTeam'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "privileges" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "team_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamMembers.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamMembers.json new file mode 100644 index 00000000..4d63461c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamMembers.json @@ -0,0 +1,308 @@ +{ + "name": "GetTeamMembers", + "fully_qualified_name": "PagerdutyApi.GetTeamMembers@0.1.0", + "description": "Retrieve details of members in a specific team.\n\nThis tool fetches information about the members of a specific team, which includes users and escalation policies within an organization. It should be used when you need to access the list of users associated with a team. Requires OAuth scope: `teams.read`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "team_id", + "required": true, + "description": "The unique identifier of the team whose members are being retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Versioning header used for specifying the version of the API to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_content_type", + "required": true, + "description": "The desired content type for the response. Set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "The starting point for pagination in search results. Useful for navigating through large sets of data.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_additional_models", + "required": false, + "description": "Include additional models such as 'users' in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the total number of results in the response, enhancing pagination metrics.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listTeamUsers'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}/members", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "team_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamNotificationSubscriptions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamNotificationSubscriptions.json new file mode 100644 index 00000000..2f069e5a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTeamNotificationSubscriptions.json @@ -0,0 +1,135 @@ +{ + "name": "GetTeamNotificationSubscriptions", + "fully_qualified_name": "PagerdutyApi.GetTeamNotificationSubscriptions@0.1.0", + "description": "Retrieve a team's notification subscriptions.\n\nCall this tool to get the list of notification subscriptions for a specified team in Pagerduty. It requires that teams have been added through the appropriate POST request. OAuth scope needed: `subscribers.read`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "team_id", + "required": true, + "description": "The unique identifier of the team whose notification subscriptions are to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "use_version_header", + "required": true, + "description": "Specify the desired API version for the response. This should be provided in the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTeamNotificationSubscriptions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}/notification_subscriptions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "team_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "use_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTechnicalServiceDependencies.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTechnicalServiceDependencies.json new file mode 100644 index 00000000..81ab2057 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTechnicalServiceDependencies.json @@ -0,0 +1,172 @@ +{ + "name": "GetTechnicalServiceDependencies", + "fully_qualified_name": "PagerdutyApi.GetTechnicalServiceDependencies@0.1.0", + "description": "Retrieve dependencies of a technical service.\n\nUse this tool to get all immediate dependencies of a specified technical service, also known as a 'service', from Pagerduty. It requires an OAuth scope of `services.read`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique ID of the technical service whose dependencies are to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_versioning", + "required": true, + "description": "Specify the versioning for the API response using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the data sent to the API. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTechnicalServiceServiceDependencies'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/service_dependencies/technical_services/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTemplateDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTemplateDetails.json new file mode 100644 index 00000000..a5644b6b --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTemplateDetails.json @@ -0,0 +1,102 @@ +{ + "name": "GetTemplateDetails", + "fully_qualified_name": "PagerdutyApi.GetTemplateDetails@0.1.0", + "description": "Retrieve details of a specific Pagerduty template.\n\nUse this tool to get detailed information about a single template in your Pagerduty account. It requires the 'templates.read' permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "template_id", + "required": true, + "description": "The ID of the Pagerduty template to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTemplate'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/templates/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "template_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTemplateFields.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTemplateFields.json new file mode 100644 index 00000000..115c1c31 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTemplateFields.json @@ -0,0 +1,139 @@ +{ + "name": "GetTemplateFields", + "fully_qualified_name": "PagerdutyApi.GetTemplateFields@0.1.0", + "description": "Retrieve fields for account templates in Pagerduty.\n\nUse this tool to get a list of fields that can be utilized on the account templates. It requires the `templates.read` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the versioning for the API response using the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the media type of the request body. Expected value: 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getTemplateFields'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/templates/fields", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTopLevelBusinessServiceImpactors.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTopLevelBusinessServiceImpactors.json new file mode 100644 index 00000000..699e0f61 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetTopLevelBusinessServiceImpactors.json @@ -0,0 +1,135 @@ +{ + "name": "GetTopLevelBusinessServiceImpactors", + "fully_qualified_name": "PagerdutyApi.GetTopLevelBusinessServiceImpactors@0.1.0", + "description": "Retrieve high-priority impactors for top-level business services.\n\nThis tool retrieves a list of the highest priority impactors, such as incidents, for top-level business services. Impactors are returned in order of priority and creation date, supporting up to 200 entries. Use when needing details on significant impactors affecting business services.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "api_version_header", + "required": true, + "description": "Specify the version of the API to use via the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "business_service_ids", + "required": false, + "description": "A list of IDs for the specific business services to retrieve impactors for. This filters the impactors to those affecting these services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The IDs of the resources." + }, + "inferrable": true, + "http_endpoint_parameter_name": "ids[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getBusinessServiceTopLevelImpactors'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/impactors", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "ids[]", + "tool_parameter_name": "business_service_ids", + "description": "The IDs of the resources.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The IDs of the resources." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUnroutedEventRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUnroutedEventRules.json new file mode 100644 index 00000000..4b9dced2 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUnroutedEventRules.json @@ -0,0 +1,172 @@ +{ + "name": "GetUnroutedEventRules", + "fully_qualified_name": "PagerdutyApi.GetUnroutedEventRules@0.1.0", + "description": "Retrieve rules for unrouted events in a global orchestration.\n\nThis tool fetches the rules for handling events that do not match any route in a Global Event Orchestration's Router. It evaluates events against its rules, beginning with the 'start' set, and facilitates further processing.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for an Event Orchestration to fetch unrouted event rules.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_for_versioning", + "required": true, + "description": "The `Accept` header specifies the API version for the request. Expected format is a string indicating the desired version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the request body. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getOrchPathUnrouted'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/unrouted", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_for_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserAuditRecords.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserAuditRecords.json new file mode 100644 index 00000000..ba9e2503 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserAuditRecords.json @@ -0,0 +1,304 @@ +{ + "name": "GetUserAuditRecords", + "fully_qualified_name": "PagerdutyApi.GetUserAuditRecords@0.1.0", + "description": "Retrieve audit records for a specified user from Pagerduty.\n\nThis tool fetches audit records related to specific changes made to a user in Pagerduty. The records are sorted by execution time and provide insights into user-related changes. Use this tool when you need to review or audit user modifications. It requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique ID of the user whose audit records you want to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the version of the API response. Use it to ensure compatibility with the expected API output format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the media type of the request. Should be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "result_limit", + "required": false, + "description": "Defines the maximum number of audit records to retrieve per request. The request will return up to this number of records, or fewer if the result set is smaller.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "next_results_cursor", + "required": false, + "description": "Cursor for the next set of results. Use the `next_cursor` from the previous request to continue paging.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "start_date", + "required": false, + "description": "The start of the date range for the audit record search. Defaults to 24 hours ago if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "Specify the end date for the search range. Defaults to now; cannot exceed 31 days beyond the 'since' date.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listUsersAuditRecords'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/audit/records", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "result_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "next_results_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserContactMethod.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserContactMethod.json new file mode 100644 index 00000000..1ef91fc7 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserContactMethod.json @@ -0,0 +1,205 @@ +{ + "name": "GetUserContactMethod", + "fully_qualified_name": "PagerdutyApi.GetUserContactMethod@0.1.0", + "description": "Retrieve details about a user's contact method.\n\nCall this tool to obtain information on a specific contact method for a user in a PagerDuty account. Useful for managing or verifying user contact details.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique identifier for the user whose contact method details are being retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "contact_method_id", + "required": true, + "description": "The unique identifier for a user's contact method in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The contact method ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "contact_method_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the versioning for the API request using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the media type of the response. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserContactMethod'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/contact_methods/{contact_method_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "contact_method_id", + "tool_parameter_name": "contact_method_id", + "description": "The contact method ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The contact method ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserDetails.json new file mode 100644 index 00000000..538caba2 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserDetails.json @@ -0,0 +1,215 @@ +{ + "name": "GetUserDetails", + "fully_qualified_name": "PagerdutyApi.GetUserDetails@0.1.0", + "description": "Retrieve detailed information about a PagerDuty user.\n\nUse this tool to obtain detailed information about a specific user in a PagerDuty account. It provides insights into the user's ability to interact with incidents and other data on the account. This tool requires 'users.read' permission to access the user's information.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique ID of the PagerDuty user to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the API version via the `Accept` header for versioning responses.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type for the request header. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_models", + "required": false, + "description": "Specify additional models to include in the response. Options: 'contact_methods', 'notification_rules', 'teams', 'subdomains'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods", + "notification_rules", + "teams", + "subdomains" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUser'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods", + "notification_rules", + "teams", + "subdomains" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserHandoffNotificationRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserHandoffNotificationRule.json new file mode 100644 index 00000000..21b3b579 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserHandoffNotificationRule.json @@ -0,0 +1,205 @@ +{ + "name": "GetUserHandoffNotificationRule", + "fully_qualified_name": "PagerdutyApi.GetUserHandoffNotificationRule@0.1.0", + "description": "Retrieve a user's handoff notification rule details.\n\nThis tool retrieves details about a specific user's handoff notification rule in a PagerDuty account. It should be called when you need to access information about how users are notified during handoffs. Requires appropriate user permissions to read data.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique identifier of the user resource in Pagerduty whose handoff notification rule details are being retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "handoff_notification_rule_id", + "required": true, + "description": "The ID of the user's oncall handoff notification rule to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The oncall handoff notification rule ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "oncall_handoff_notification_rule_id" + }, + { + "name": "api_version_header", + "required": true, + "description": "The versioning header to specify the API version. This typically uses the `Accept` header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The content type header for the request, typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserHandoffNotifiactionRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "oncall_handoff_notification_rule_id", + "tool_parameter_name": "handoff_notification_rule_id", + "description": "The oncall handoff notification rule ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The oncall handoff notification rule ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserLicense.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserLicense.json new file mode 100644 index 00000000..d4f3dfbf --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserLicense.json @@ -0,0 +1,172 @@ +{ + "name": "GetUserLicense", + "fully_qualified_name": "PagerdutyApi.GetUserLicense@0.1.0", + "description": "Retrieve the license allocated to a Pagerduty user.\n\nUse this tool to get detailed information about the license assigned to a specific user on Pagerduty. Useful for managing user permissions and account settings.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique identifier for the user whose license information is being retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "Defines the API version using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "This sets the Content-Type header for the API call. Use `application/json`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserLicense'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/license", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserNotificationRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserNotificationRule.json new file mode 100644 index 00000000..f5068838 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserNotificationRule.json @@ -0,0 +1,242 @@ +{ + "name": "GetUserNotificationRule", + "fully_qualified_name": "PagerdutyApi.GetUserNotificationRule@0.1.0", + "description": "Retrieve details of a user's notification rule from PagerDuty.\n\nThis tool retrieves information about a specific user's notification rule in PagerDuty. It is useful for understanding how a user is notified about incidents. Ensure you have the appropriate OAuth scope: `users:contact_methods.read`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique identifier for the user whose notification rule is being accessed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "notification_rule_id", + "required": true, + "description": "The ID of the notification rule for the specific user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The notification rule ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "notification_rule_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API to use for the `Accept` header. This is used for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the MIME type of the request body. Default is 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as 'contact_methods'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserNotificationRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/notification_rules/{notification_rule_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "notification_rule_id", + "tool_parameter_name": "notification_rule_id", + "description": "The notification rule ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The notification rule ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserNotificationSubscriptions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserNotificationSubscriptions.json new file mode 100644 index 00000000..5d13e7c8 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserNotificationSubscriptions.json @@ -0,0 +1,135 @@ +{ + "name": "GetUserNotificationSubscriptions", + "fully_qualified_name": "PagerdutyApi.GetUserNotificationSubscriptions@0.1.0", + "description": "Retrieve a user's notification subscriptions.\n\nGet a list of notification subscriptions for a specific user. Use when you need to know which notifications a user is subscribed to. Requires the user to be previously added via `POST /users/{id}/notification_subscriptions`. Scoped OAuth with `subscribers.read` is necessary.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_resource_id", + "required": true, + "description": "The unique identifier for the user whose notification subscriptions are being retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_accept_header", + "required": true, + "description": "Specify the version of the API to use by setting the `Accept` header value. Required for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserNotificationSubscriptions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/notification_subscriptions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserSessionDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserSessionDetails.json new file mode 100644 index 00000000..663ec6cc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserSessionDetails.json @@ -0,0 +1,238 @@ +{ + "name": "GetUserSessionDetails", + "fully_qualified_name": "PagerdutyApi.GetUserSessionDetails@0.1.0", + "description": "Retrieve details about a specific PagerDuty user session.\n\nThis tool is used to get information about a user's session in PagerDuty. It does not include OAuth tokens issued after November 2021. Users are members of a PagerDuty account who can interact with account data, including incidents. Ensure appropriate OAuth scopes (`users:sessions.read`) are set.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the resource to retrieve session details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "session_type", + "required": true, + "description": "Specifies the session type for the user session ID. Expect a string value indicating the type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The session type for the user session ID." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type" + }, + { + "name": "user_session_id", + "required": true, + "description": "The unique session ID for the PagerDuty user session to retrieve details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The session ID for the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "session_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The versioning header for API response. Use it to specify the API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserSession'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/sessions/{type}/{session_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "type", + "tool_parameter_name": "session_type", + "description": "The session type for the user session ID.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The session type for the user session ID." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "session_id", + "tool_parameter_name": "user_session_id", + "description": "The session ID for the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The session ID for the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserStatusUpdateNotificationRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserStatusUpdateNotificationRule.json new file mode 100644 index 00000000..e4d4c7ba --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserStatusUpdateNotificationRule.json @@ -0,0 +1,242 @@ +{ + "name": "GetUserStatusUpdateNotificationRule", + "fully_qualified_name": "PagerdutyApi.GetUserStatusUpdateNotificationRule@0.1.0", + "description": "Retrieve a user's status update notification rule details.\n\nThis tool retrieves specific details about a user's status update notification rule in PagerDuty. It is useful for understanding how a user is notified about status updates. OAuth permission 'users.read' is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the user resource in PagerDuty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_update_notification_rule_id", + "required": true, + "description": "The ID of the user's status update notification rule to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The status update notification rule ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "status_update_notification_rule_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The versioning header used for accepting responses in a specific API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the format of the request. Currently, only 'application/json' is supported.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify details to include, such as contact methods. Use values like 'contact_methods'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserStatusUpdateNotificationRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/status_update_notification_rules/{status_update_notification_rule_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "status_update_notification_rule_id", + "tool_parameter_name": "status_update_notification_rule_id", + "description": "The status update notification rule ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The status update notification rule ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserStatusUpdateRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserStatusUpdateRules.json new file mode 100644 index 00000000..b6c3259c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetUserStatusUpdateRules.json @@ -0,0 +1,209 @@ +{ + "name": "GetUserStatusUpdateRules", + "fully_qualified_name": "PagerdutyApi.GetUserStatusUpdateRules@0.1.0", + "description": "List a user's status update notification rules on PagerDuty.\n\nUse this tool to retrieve the status update notification rules for a specific user in PagerDuty. Useful for managing or reviewing how users are notified about incidents. Requires 'users.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The ID of the PagerDuty user whose status update notification rules you want to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The `Accept` header specifies the API versioning. Use it to ensure compatibility with specific API versions.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "set_content_type", + "required": true, + "description": "Set the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as 'contact_methods'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserStatusUpdateNotificationRules'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/status_update_notification_rules", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "set_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetVendorDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetVendorDetails.json new file mode 100644 index 00000000..c4b3dcb8 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetVendorDetails.json @@ -0,0 +1,172 @@ +{ + "name": "GetVendorDetails", + "fully_qualified_name": "PagerdutyApi.GetVendorDetails@0.1.0", + "description": "Get details about a specific vendor integration.\n\nUse this tool to retrieve detailed information about a specific PagerDuty vendor integration. A vendor in PagerDuty represents a specific type of integration, such as AWS Cloudwatch, Splunk, or Datadog. This tool is particularly useful for understanding integration capabilities and requirements. Requires 'vendors.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "vendor_id", + "required": true, + "description": "The unique identifier for the vendor integration to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the versioning header for the API using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_content_type", + "required": true, + "description": "Specifies the content type of the response. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getVendor'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/vendors/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "vendor_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWebhookSubscriptionDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWebhookSubscriptionDetails.json new file mode 100644 index 00000000..69407190 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWebhookSubscriptionDetails.json @@ -0,0 +1,135 @@ +{ + "name": "GetWebhookSubscriptionDetails", + "fully_qualified_name": "PagerdutyApi.GetWebhookSubscriptionDetails@0.1.0", + "description": "Retrieve details of a specific webhook subscription.\n\nUse this tool to obtain information about an existing webhook subscription in Pagerduty, using the subscription ID.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "webhook_subscription_id", + "required": true, + "description": "The unique identifier of the webhook subscription to retrieve details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specifies the versioning header to use for the API request. It determines the format of the response data.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getWebhookSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "webhook_subscription_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWorkflowIntegrationConnectionDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWorkflowIntegrationConnectionDetails.json new file mode 100644 index 00000000..c9319fab --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWorkflowIntegrationConnectionDetails.json @@ -0,0 +1,168 @@ +{ + "name": "GetWorkflowIntegrationConnectionDetails", + "fully_qualified_name": "PagerdutyApi.GetWorkflowIntegrationConnectionDetails@0.1.0", + "description": "Retrieve details of a Workflow Integration Connection.\n\nUse this tool to obtain specific details regarding a Workflow Integration Connection in Pagerduty. This is useful for understanding the setup and configuration of a connection associated with a workflow integration.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "workflow_integration_id", + "required": true, + "description": "The unique ID of the Workflow Integration to retrieve connection details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "resource_id", + "required": true, + "description": "The ID of the resource to get details for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the version of the API to be used. Provide a string value indicating the desired API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getWorkflowIntegrationConnection'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations/{integration_id}/connections/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "integration_id", + "tool_parameter_name": "workflow_integration_id", + "description": "The ID of the Workflow Integration", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWorkflowIntegrationDetails.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWorkflowIntegrationDetails.json new file mode 100644 index 00000000..1168d4e0 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/GetWorkflowIntegrationDetails.json @@ -0,0 +1,135 @@ +{ + "name": "GetWorkflowIntegrationDetails", + "fully_qualified_name": "PagerdutyApi.GetWorkflowIntegrationDetails@0.1.0", + "description": "Retrieve details about a Workflow Integration.\n\nUse this tool to get information about a specific Workflow Integration in Pagerduty. It requires 'workflow_integrations.read' permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the Workflow Integration resource in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the API version using the Accept header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getWorkflowIntegration'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAccountLicenses.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAccountLicenses.json new file mode 100644 index 00000000..9f142dcf --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAccountLicenses.json @@ -0,0 +1,139 @@ +{ + "name": "ListAccountLicenses", + "fully_qualified_name": "PagerdutyApi.ListAccountLicenses@0.1.0", + "description": "Fetches licenses associated with your account.\n\nUse this tool to obtain a list of all licenses linked to your Pagerduty account. It requires the 'licenses.read' scope with OAuth.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specify the versioning header using the 'Accept' header to determine API response format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the mime type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listLicenses'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/licenses", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAccountTags.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAccountTags.json new file mode 100644 index 00000000..9171de00 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAccountTags.json @@ -0,0 +1,271 @@ +{ + "name": "ListAccountTags", + "fully_qualified_name": "PagerdutyApi.ListAccountTags@0.1.0", + "description": "Retrieve all tags for your Pagerduty account.\n\nThis tool fetches all tags from your Pagerduty account, which can be used to filter escalation policies, teams, or users. Use this tool when you need a complete list of tags associated with your account.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "version_accept_header", + "required": true, + "description": "Specifies the API version via the `Accept` header to control the format of the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_content_type", + "required": true, + "description": "Specifies the response format. Use 'application/json' to receive JSON responses.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of tag results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset index from where to start returning paginated search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "label_filter", + "required": false, + "description": "Filter results to show only tags with labels matching the specified query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the tags whose label matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total count in the pagination response, otherwise it will remain null for faster responses.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listTags'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/tags", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "query", + "tool_parameter_name": "label_filter", + "description": "Filters the result, showing only the tags whose label matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the tags whose label matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAlertGroupingSettings.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAlertGroupingSettings.json new file mode 100644 index 00000000..887814cb --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAlertGroupingSettings.json @@ -0,0 +1,304 @@ +{ + "name": "ListAlertGroupingSettings", + "fully_qualified_name": "PagerdutyApi.ListAlertGroupingSettings@0.1.0", + "description": "Retrieve all alert grouping settings.\n\nFetches all alert grouping settings, including single service and global content-based configurations, to help manage alert grouping effectively. Requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to accept responses from, using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the format of the response content. Typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "next_page_cursor", + "required": false, + "description": "Cursor to retrieve the next page of results; use if more pages are available.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Cursor to retrieve next page; only present if next page exists." + }, + "inferrable": true, + "http_endpoint_parameter_name": "after" + }, + { + "name": "cursor_previous_page", + "required": false, + "description": "Cursor to retrieve the previous page of results; only valid if not on the first page.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Cursor to retrieve previous page; only present if not on first page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "before" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of results to display per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "service_ids", + "required": false, + "description": "An array of service IDs to filter results by specific services.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of service IDs. Only results related to these services will be returned." + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_ids[]" + }, + { + "name": "include_total_count", + "required": false, + "description": "Set to true to populate the `total` field in pagination responses, or false for faster response times.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listAlertGroupingSettings'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/alert_grouping_settings", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "after", + "tool_parameter_name": "next_page_cursor", + "description": "Cursor to retrieve next page; only present if next page exists.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Cursor to retrieve next page; only present if next page exists." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "before", + "tool_parameter_name": "cursor_previous_page", + "description": "Cursor to retrieve previous page; only present if not on first page.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Cursor to retrieve previous page; only present if not on first page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_count", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_ids[]", + "tool_parameter_name": "service_ids", + "description": "An array of service IDs. Only results related to these services will be returned.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of service IDs. Only results related to these services will be returned." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAuditRecords.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAuditRecords.json new file mode 100644 index 00000000..a802b106 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAuditRecords.json @@ -0,0 +1,509 @@ +{ + "name": "ListAuditRecords", + "fully_qualified_name": "PagerdutyApi.ListAuditRecords@0.1.0", + "description": "Retrieve the latest audit trail records from Pagerduty.\n\nThis tool fetches audit trail records from Pagerduty, sorted by execution time from newest to oldest. It requires admin, account owner, or global API token access on accounts with the \"Audit Trail\" feature. Use this tool to monitor recent activities by querying these audit records.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_accept_header", + "required": true, + "description": "Specify the version of the API you wish to use with the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the request, use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "result_limit", + "required": false, + "description": "Specify the maximum number of audit records to return in a single request.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "next_cursor_token", + "required": false, + "description": "Token to request the next set of results in a paginated query. Usually from the `next_cursor` field of the previous request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "start_date", + "required": false, + "description": "The start of the date range for searching audit records. Defaults to now() - 24 hours if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "date_range_end", + "required": false, + "description": "The end date for the audit record search. Defaults to now if not provided, and must be within 31 days after the `since` date.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "filter_by_resource_type", + "required": false, + "description": "Filter audit records by the specified types of resources, such as users, teams, or services.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users", + "teams", + "schedules", + "escalation_policies", + "services" + ], + "properties": null, + "inner_properties": null, + "description": "Resource type filter for the root_resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "root_resource_types[]" + }, + { + "name": "actor_type_filter", + "required": false, + "description": "Specifies the type of actor to filter records by. Options are 'user_reference', 'api_key_reference', or 'app_reference'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "user_reference", + "api_key_reference", + "app_reference" + ], + "properties": null, + "inner_properties": null, + "description": "Actor type filter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "actor_type" + }, + { + "name": "filter_by_actor_id", + "required": false, + "description": "Filter audit records by a specific Actor ID. Requires 'actor_type' to be specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Actor Id filter. Must be qualified by providing the `actor_type` param." + }, + "inferrable": true, + "http_endpoint_parameter_name": "actor_id" + }, + { + "name": "filter_by_method_type", + "required": false, + "description": "Filter records by method type. Options are 'browser', 'oauth', 'api_token', 'identity_provider', or 'other'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "browser", + "oauth", + "api_token", + "identity_provider", + "other" + ], + "properties": null, + "inner_properties": null, + "description": "Method type filter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "method_type" + }, + { + "name": "method_truncated_token_filter", + "required": false, + "description": "Filter records by a specific method truncated token. Requires 'method_type' to be provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Method truncated_token filter. Must be qualified by providing the `method_type` param." + }, + "inferrable": true, + "http_endpoint_parameter_name": "method_truncated_token" + }, + { + "name": "action_filter", + "required": false, + "description": "Filter audit records by specified action types: 'create', 'update', or 'delete'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "create", + "update", + "delete" + ], + "properties": null, + "inner_properties": null, + "description": "Action filter" + }, + "inferrable": true, + "http_endpoint_parameter_name": "actions[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listAuditRecords'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/audit/records", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "result_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "next_cursor_token", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "date_range_end", + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "root_resource_types[]", + "tool_parameter_name": "filter_by_resource_type", + "description": "Resource type filter for the root_resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users", + "teams", + "schedules", + "escalation_policies", + "services" + ], + "properties": null, + "inner_properties": null, + "description": "Resource type filter for the root_resource." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "actor_type", + "tool_parameter_name": "actor_type_filter", + "description": "Actor type filter.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "user_reference", + "api_key_reference", + "app_reference" + ], + "properties": null, + "inner_properties": null, + "description": "Actor type filter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "actor_id", + "tool_parameter_name": "filter_by_actor_id", + "description": "Actor Id filter. Must be qualified by providing the `actor_type` param.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Actor Id filter. Must be qualified by providing the `actor_type` param." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "method_type", + "tool_parameter_name": "filter_by_method_type", + "description": "Method type filter.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "browser", + "oauth", + "api_token", + "identity_provider", + "other" + ], + "properties": null, + "inner_properties": null, + "description": "Method type filter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "method_truncated_token", + "tool_parameter_name": "method_truncated_token_filter", + "description": "Method truncated_token filter. Must be qualified by providing the `method_type` param.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Method truncated_token filter. Must be qualified by providing the `method_type` param." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "actions[]", + "tool_parameter_name": "action_filter", + "description": "Action filter", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "create", + "update", + "delete" + ], + "properties": null, + "inner_properties": null, + "description": "Action filter" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActionInvocations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActionInvocations.json new file mode 100644 index 00000000..89f3e6f5 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActionInvocations.json @@ -0,0 +1,311 @@ +{ + "name": "ListAutomationActionInvocations", + "fully_qualified_name": "PagerdutyApi.ListAutomationActionInvocations@0.1.0", + "description": "Retrieve a list of automation action invocations.\n\nUse this tool to obtain a list of all recently executed automation actions. It provides insight into actions performed through the automation system.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_accept_header", + "required": true, + "description": "The `Accept` header specifies the version of the API to use. Input the API version as a string.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the media type of the resource being sent. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "invocation_state", + "required": false, + "description": "Specify the current state of the invocation. Expected values: prepared, created, sent, queued, running, aborted, completed, error, unknown.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "prepared", + "created", + "sent", + "queued", + "running", + "aborted", + "completed", + "error", + "unknown" + ], + "properties": null, + "inner_properties": null, + "description": "Invocation state" + }, + "inferrable": true, + "http_endpoint_parameter_name": "invocation_state" + }, + { + "name": "exclude_invocation_state", + "required": false, + "description": "Filter to exclude invocations not in the specified state. Accepts values like 'prepared', 'created', 'sent', etc.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "prepared", + "created", + "sent", + "queued", + "running", + "aborted", + "completed", + "error", + "unknown" + ], + "properties": null, + "inner_properties": null, + "description": "Invocation state inverse filter (matches invocations NOT in the specified state)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "not_invocation_state" + }, + { + "name": "incident_identifier", + "required": false, + "description": "The ID of the incident. Use this to filter actions related to a specific incident.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Incident ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "incident_id" + }, + { + "name": "automation_action_id", + "required": false, + "description": "The identifier of the automation action for which invocations are being listed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Action ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "action_id" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listAutomationActionInvocations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/invocations", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "invocation_state", + "tool_parameter_name": "invocation_state", + "description": "Invocation state", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "prepared", + "created", + "sent", + "queued", + "running", + "aborted", + "completed", + "error", + "unknown" + ], + "properties": null, + "inner_properties": null, + "description": "Invocation state" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "not_invocation_state", + "tool_parameter_name": "exclude_invocation_state", + "description": "Invocation state inverse filter (matches invocations NOT in the specified state)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "prepared", + "created", + "sent", + "queued", + "running", + "aborted", + "completed", + "error", + "unknown" + ], + "properties": null, + "inner_properties": null, + "description": "Invocation state inverse filter (matches invocations NOT in the specified state)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "incident_id", + "tool_parameter_name": "incident_identifier", + "description": "Incident ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Incident ID" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "action_id", + "tool_parameter_name": "automation_action_id", + "description": "Action ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Action ID" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActionRunners.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActionRunners.json new file mode 100644 index 00000000..64997b66 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActionRunners.json @@ -0,0 +1,271 @@ +{ + "name": "ListAutomationActionRunners", + "fully_qualified_name": "PagerdutyApi.ListAutomationActionRunners@0.1.0", + "description": "Retrieve a list of Automation Action runners.\n\nThis tool retrieves a list of Automation Action runners sorted by runner name in alphabetical order. It should be called when you need information about available automation runners from Pagerduty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_versioning_header", + "required": true, + "description": "The versioning header for the API request, used in the 'Accept' field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the response data. Must be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "maximum_results_limit", + "required": false, + "description": "Specifies the maximum number of Automation Action runners to retrieve. This is the lesser of the provided value or the API's maximum limit.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_cursor", + "required": false, + "description": "Cursor for pagination through results. Use value from `next_cursor` of previous request or omit to start from the beginning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "filter_by_runner_name", + "required": false, + "description": "Filters results to include runners with names matching the provided substring (case insensitive).", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the name (case insensitive substring matching)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "name" + }, + { + "name": "additional_data_inclusion", + "required": false, + "description": "An array of strings specifying additional data elements to include in the response.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Includes additional data elements into the response" + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsRunners'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/runners", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "maximum_results_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "pagination_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "name", + "tool_parameter_name": "filter_by_runner_name", + "description": "Filters results to include the ones matching the name (case insensitive substring matching)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the name (case insensitive substring matching)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_data_inclusion", + "description": "Includes additional data elements into the response", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Includes additional data elements into the response" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActions.json new file mode 100644 index 00000000..9bc1580b --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListAutomationActions.json @@ -0,0 +1,415 @@ +{ + "name": "ListAutomationActions", + "fully_qualified_name": "PagerdutyApi.ListAutomationActions@0.1.0", + "description": "Retrieve all automation actions in alphabetical order.\n\nUse this tool to get a list of all automation actions from Pagerduty, sorted by action name. This can be helpful for monitoring or managing automation tasks. Supports query-based filtering and cursor-based pagination.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_header", + "required": true, + "description": "The versioning header for API requests. Use 'Accept' header format to specify the version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the request's media type. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "max_results_limit", + "required": false, + "description": "Specifies the maximum number of automation actions to return in one request.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "next_results_cursor", + "required": false, + "description": "Used to request the next set of results, commonly obtained from the 'next_cursor' field of the previous response. If not provided, retrieval starts from the beginning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "filter_by_name", + "required": false, + "description": "Filters results by matching a case insensitive substring in the action name.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the name (case insensitive substring matching)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "name" + }, + { + "name": "filter_by_runner_id", + "required": false, + "description": "Filter results by a specific runner. Use 'any' to include only results linked to runners, excluding unlinked results.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones linked to the specified runner.\nSpecifying the value `any` filters results to include the ones linked to runners only,\nthus omitting the results not linked to runners.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "runner_id" + }, + { + "name": "filter_by_classification", + "required": false, + "description": "Specify 'diagnostic' or 'remediation' to filter results by classification category.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "diagnostic", + "remediation" + ], + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the specified classification (aka category)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "classification" + }, + { + "name": "filter_by_team_id", + "required": false, + "description": "Filters the results to include actions associated with the given team ID.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones associated with the specified team." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_id" + }, + { + "name": "filter_by_service_id", + "required": false, + "description": "Filter actions to include only those associated with the specified service ID.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones associated with the specified service" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "filter_by_action_type", + "required": false, + "description": "Filter results to include actions matching specified type: 'script' or 'process_automation'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "script", + "process_automation" + ], + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the specified action type" + }, + "inferrable": true, + "http_endpoint_parameter_name": "action_type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAllAutomationActions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "max_results_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "next_results_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "name", + "tool_parameter_name": "filter_by_name", + "description": "Filters results to include the ones matching the name (case insensitive substring matching)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the name (case insensitive substring matching)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "runner_id", + "tool_parameter_name": "filter_by_runner_id", + "description": "Filters results to include the ones linked to the specified runner.\nSpecifying the value `any` filters results to include the ones linked to runners only,\nthus omitting the results not linked to runners.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones linked to the specified runner.\nSpecifying the value `any` filters results to include the ones linked to runners only,\nthus omitting the results not linked to runners.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "classification", + "tool_parameter_name": "filter_by_classification", + "description": "Filters results to include the ones matching the specified classification (aka category)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "diagnostic", + "remediation" + ], + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the specified classification (aka category)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_id", + "tool_parameter_name": "filter_by_team_id", + "description": "Filters results to include the ones associated with the specified team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones associated with the specified team." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "filter_by_service_id", + "description": "Filters results to include the ones associated with the specified service", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones associated with the specified service" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "action_type", + "tool_parameter_name": "filter_by_action_type", + "description": "Filters results to include the ones matching the specified action type", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "script", + "process_automation" + ], + "properties": null, + "inner_properties": null, + "description": "Filters results to include the ones matching the specified action type" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListBusinessServices.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListBusinessServices.json new file mode 100644 index 00000000..e82a4133 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListBusinessServices.json @@ -0,0 +1,238 @@ +{ + "name": "ListBusinessServices", + "fully_qualified_name": "PagerdutyApi.ListBusinessServices@0.1.0", + "description": "Retrieve a list of existing business services.\n\nUse this tool to retrieve information about business services that span multiple technical services and may involve various teams. Useful for gaining insights into cross-functional capabilities. Requires 'services.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the versioning header for the 'Accept' field to determine API response format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "The maximum number of results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination for search results, useful for navigating through large sets of data.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_pagination", + "required": false, + "description": "Include the total count in pagination responses for detailed data, set to true for inclusion.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listBusinessServices'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_pagination", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListCacheVariables.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListCacheVariables.json new file mode 100644 index 00000000..94e36479 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListCacheVariables.json @@ -0,0 +1,172 @@ +{ + "name": "ListCacheVariables", + "fully_qualified_name": "PagerdutyApi.ListCacheVariables@0.1.0", + "description": "Retrieve cache variables for a global event orchestration.\n\nUse this tool to list cache variables associated with a global event orchestration. Cache variables store event data, which can be used in orchestration rules for conditions or actions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for an Event Orchestration. Required to list the cache variables.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_accept_header", + "required": true, + "description": "Specify the API version using the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The content type header, expected to be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listCacheVarOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListChangeEvents.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListChangeEvents.json new file mode 100644 index 00000000..b033229a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListChangeEvents.json @@ -0,0 +1,370 @@ +{ + "name": "ListChangeEvents", + "fully_qualified_name": "PagerdutyApi.ListChangeEvents@0.1.0", + "description": "Retrieve a list of existing change events from Pagerduty.\n\nThis tool retrieves all existing change events from Pagerduty. It should be called when users need to view or manage change events in their system. It requires 'change_events.read' permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_versioning_header", + "required": true, + "description": "Specify the API version to use via the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Sets the content type of the request. It must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of results to display per page of the response.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination in search results. Use this to skip a specified number of records.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "team_ids", + "required": false, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the 'teams' ability.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "integration_ids", + "required": false, + "description": "An array of integration IDs to filter results. Only events related to these integrations will be returned.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of integration IDs. Only results related to these integrations will be returned." + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_ids[]" + }, + { + "name": "start_date_utc_iso", + "required": false, + "description": "The start of the date range for the search in UTC ISO 8601 format. Must be UTC datetime.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date_utc", + "required": false, + "description": "The end of the date range for search, in UTC ISO 8601 format. Non-UTC datetimes will return HTTP 400.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total number of change events in the response. This may increase response time.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listChangeEvents'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/change_events", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "integration_ids[]", + "tool_parameter_name": "integration_ids", + "description": "An array of integration IDs. Only results related to these integrations will be returned.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of integration IDs. Only results related to these integrations will be returned." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date_utc_iso", + "description": "The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date_utc", + "description": "The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListCustomFieldOptions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListCustomFieldOptions.json new file mode 100644 index 00000000..dc005ad0 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListCustomFieldOptions.json @@ -0,0 +1,205 @@ +{ + "name": "ListCustomFieldOptions", + "fully_qualified_name": "PagerdutyApi.ListCustomFieldOptions@0.1.0", + "description": "List available options for a custom incident field.\n\nUse this tool to retrieve the options for a custom field associated with a specific incident type in Pagerduty. Useful for contexts requiring customized filtering, search, or analytics based on incident-specific data.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_type_id_or_name", + "required": true, + "description": "The ID or name of the Incident Type to list custom field options for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type_id_or_name" + }, + { + "name": "field_identifier", + "required": true, + "description": "The unique identifier for the custom field whose options are being retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the API versioning for the request using the Accept header. Ensure this matches the required version format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The format of the requested response, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentTypeCustomField'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields/{field_id}/field_options", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "type_id_or_name", + "tool_parameter_name": "incident_type_id_or_name", + "description": "The ID or name of the Incident Type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_id", + "tool_parameter_name": "field_identifier", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEscalationPolicies.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEscalationPolicies.json new file mode 100644 index 00000000..d013f44b --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEscalationPolicies.json @@ -0,0 +1,419 @@ +{ + "name": "ListEscalationPolicies", + "fully_qualified_name": "PagerdutyApi.ListEscalationPolicies@0.1.0", + "description": "Retrieve all existing escalation policies for alerts.\n\nThis tool retrieves a list of all escalation policies, which define alert notifications for users over time. It requires scope authorization for access.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version to accept as a versioning header. Used for API response version control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Indicate the media type for the response, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specifies the number of escalation policy results returned per page. Used for pagination.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "The starting point for pagination in the search results. Specify an integer to skip past a number of elements.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "filter_by_name", + "required": false, + "description": "Filters results to include only records with names matching the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "filter_by_user_ids", + "required": false, + "description": "Array of user IDs to filter escalation policies where these users are targets.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only escalation policies on which any of the users is a target." + }, + "inferrable": true, + "http_endpoint_parameter_name": "user_ids[]" + }, + { + "name": "filter_by_team_ids", + "required": false, + "description": "An array of team IDs to filter results. Only returns policies for specified teams. Requires `teams` ability.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "additional_models_to_include", + "required": false, + "description": "Array specifying additional models ('services', 'teams', 'targets') to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "teams", + "targets" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "sort_results_by", + "required": false, + "description": "Specify the field to sort the results on, such as 'name', 'name:asc', or 'name:desc'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name", + "name:asc", + "name:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify the field you wish to sort the results on." + }, + "inferrable": true, + "http_endpoint_parameter_name": "sort_by" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total field in pagination responses, showing the total number of entries.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listEscalationPolicies'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/escalation_policies", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "query", + "tool_parameter_name": "filter_by_name", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "user_ids[]", + "tool_parameter_name": "filter_by_user_ids", + "description": "Filters the results, showing only escalation policies on which any of the users is a target.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only escalation policies on which any of the users is a target." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "filter_by_team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_models_to_include", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "teams", + "targets" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "sort_by", + "tool_parameter_name": "sort_results_by", + "description": "Used to specify the field you wish to sort the results on.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name", + "name:asc", + "name:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify the field you wish to sort the results on." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventOrchestrationFeatures.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventOrchestrationFeatures.json new file mode 100644 index 00000000..0f22b79f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventOrchestrationFeatures.json @@ -0,0 +1,172 @@ +{ + "name": "ListEventOrchestrationFeatures", + "fully_qualified_name": "PagerdutyApi.ListEventOrchestrationFeatures@0.1.0", + "description": "Retrieve feature enablement settings for an Event Orchestration.\n\nThis tool lists all feature enablement settings for an Event Orchestration, focusing on AIOps enablement. It's designed for accounts with the AIOps product addon. A warning will be included if the account isn't entitled to use AIOps features.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for the Event Orchestration to retrieve feature settings for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The versioning header used to specify the API version in the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the media type of the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listEventOrchestrationFeatureEnablements'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/enablements", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventOrchestrationIntegrations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventOrchestrationIntegrations.json new file mode 100644 index 00000000..01d23ae7 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventOrchestrationIntegrations.json @@ -0,0 +1,172 @@ +{ + "name": "ListEventOrchestrationIntegrations", + "fully_qualified_name": "PagerdutyApi.ListEventOrchestrationIntegrations@0.1.0", + "description": "Retrieve integrations for an event orchestration.\n\nUse this tool to list all integrations associated with a specific event orchestration in PagerDuty. It enables you to retrieve routing keys used to send events. OAuth scope `event_orchestrations.read` is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for the specific event orchestration to retrieve integrations.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header", + "required": true, + "description": "Versioning header to specify the API version. Use as the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_json", + "required": true, + "description": "Specifies the content type as 'application/json' for the request header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listOrchestrationIntegrations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/integrations", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_json", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventRules.json new file mode 100644 index 00000000..d327a615 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListEventRules.json @@ -0,0 +1,271 @@ +{ + "name": "ListEventRules", + "fully_qualified_name": "PagerdutyApi.ListEventRules@0.1.0", + "description": "Fetches all event rules under a specified ruleset.\n\nThis tool retrieves all the event rules associated with a given ruleset in Pagerduty. Use it to view the actions defined for handling events. Note that rulesets and event rules will be phased out, so migrating to Event Orchestration is recommended.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "ruleset_id", + "required": true, + "description": "The unique ID of the ruleset to retrieve event rules for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the version of the API to use by setting the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the data being sent. For this endpoint, use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Defines the number of event rules returned per page. Use this to control the volume of data in each response.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset for starting pagination of search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the `total` field in pagination responses, providing the total number of results.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listRulesetEventRules'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/rulesets/{id}/rules", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "ruleset_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListExtensionSchemas.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListExtensionSchemas.json new file mode 100644 index 00000000..e98d3fe2 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListExtensionSchemas.json @@ -0,0 +1,238 @@ +{ + "name": "ListExtensionSchemas", + "fully_qualified_name": "PagerdutyApi.ListExtensionSchemas@0.1.0", + "description": "Retrieve all PagerDuty extension schemas.\n\nUse this tool to list all extension schemas available in PagerDuty, representing different types of outbound extensions like Generic Webhook, Slack, and ServiceNow. Useful for integrating with or understanding existing extension capabilities within PagerDuty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the version of the API response. Used for versioning with the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "set_content_type", + "required": true, + "description": "Specify the content type of the request. Use 'application/json' for JSON format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of results to display per page when listing extension schemas.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to begin paginated search results. Provide an integer to specify the starting point in the data.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_pagination", + "required": false, + "description": "Set to true to include the total number of results in the pagination response. Set to false for faster response times.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listExtensionSchemas'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/extension_schemas", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_pagination", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "set_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListGlobalEventOrchestrations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListGlobalEventOrchestrations.json new file mode 100644 index 00000000..09ead65a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListGlobalEventOrchestrations.json @@ -0,0 +1,252 @@ +{ + "name": "ListGlobalEventOrchestrations", + "fully_qualified_name": "PagerdutyApi.ListGlobalEventOrchestrations@0.1.0", + "description": "Retrieve all Global Event Orchestrations on an account.\n\nUse this tool to obtain a list of Global Event Orchestrations from a Pagerduty account. Global Event Orchestrations help manage and route events based on predefined rules. This tool is useful when you need to analyze or modify orchestration configurations.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "The versioning header to specify the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the resource, should be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of results to display per page in the response.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "The starting point for pagination in search results. Specify the number of initial records to skip.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "sort_by_field", + "required": false, + "description": "Specify the field and order to sort results. Options: name, routes, created_at with asc or desc.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name:asc", + "name:desc", + "routes:asc", + "routes:desc", + "created_at:asc", + "created_at:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify the field you wish to sort the results on." + }, + "inferrable": true, + "http_endpoint_parameter_name": "sort_by" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listEventOrchestrations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "sort_by", + "tool_parameter_name": "sort_by_field", + "description": "Used to specify the field you wish to sort the results on.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name:asc", + "name:desc", + "routes:asc", + "routes:desc", + "created_at:asc", + "created_at:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify the field you wish to sort the results on." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentAlerts.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentAlerts.json new file mode 100644 index 00000000..8747ac20 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentAlerts.json @@ -0,0 +1,431 @@ +{ + "name": "ListIncidentAlerts", + "fully_qualified_name": "PagerdutyApi.ListIncidentAlerts@0.1.0", + "description": "Retrieve a list of alerts for a specific incident.\n\nUse this tool to get alerts related to a particular incident, which represents a problem requiring attention and resolution. Useful for monitoring and managing ongoing issues.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique identifier for the incident to retrieve alerts.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specify the version of the API to accept using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the format of the content. Use 'application/json' for JSON format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specifies the number of alert results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination for search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "alert_deduplication_key", + "required": false, + "description": "A unique key used for alert de-duplication in incident management.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Alert de-duplication key." + }, + "inferrable": true, + "http_endpoint_parameter_name": "alert_key" + }, + { + "name": "alert_statuses", + "required": false, + "description": "Return only alerts with the specified statuses. Accepts 'triggered' or 'resolved'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "triggered", + "resolved" + ], + "properties": null, + "inner_properties": null, + "description": "Return only alerts with the given statuses. (More status codes may be introduced in the future.)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "statuses[]" + }, + { + "name": "sort_incident_alerts", + "required": false, + "description": "Specify the field (created_at/resolved_at) and direction (asc/desc) to sort alerts. Use a colon ':' to separate field and direction, and a comma ',' if using two fields.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "created_at", + "resolved_at", + "created_at:asc", + "created_at:desc", + "resolved_at:asc", + "resolved_at:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify both the field you wish to sort the results on (created_at/resolved_at), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. A maximum of two fields can be included, separated by a comma. Sort direction defaults to ascending." + }, + "inferrable": true, + "http_endpoint_parameter_name": "sort_by" + }, + { + "name": "additional_details_to_include", + "required": false, + "description": "List of additional details to include, such as 'services', 'first_trigger_log_entries', and 'incidents'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "first_trigger_log_entries", + "incidents" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "populate_total_field", + "required": false, + "description": "Set to true to populate the total field in pagination responses for accurate count, set to false for faster responses.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentAlerts'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/alerts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "populate_total_field", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "alert_key", + "tool_parameter_name": "alert_deduplication_key", + "description": "Alert de-duplication key.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Alert de-duplication key." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "statuses[]", + "tool_parameter_name": "alert_statuses", + "description": "Return only alerts with the given statuses. (More status codes may be introduced in the future.)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "triggered", + "resolved" + ], + "properties": null, + "inner_properties": null, + "description": "Return only alerts with the given statuses. (More status codes may be introduced in the future.)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "sort_by", + "tool_parameter_name": "sort_incident_alerts", + "description": "Used to specify both the field you wish to sort the results on (created_at/resolved_at), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. A maximum of two fields can be included, separated by a comma. Sort direction defaults to ascending.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "created_at", + "resolved_at", + "created_at:asc", + "created_at:desc", + "resolved_at:asc", + "resolved_at:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify both the field you wish to sort the results on (created_at/resolved_at), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. A maximum of two fields can be included, separated by a comma. Sort direction defaults to ascending." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_details_to_include", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services", + "first_trigger_log_entries", + "incidents" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentCustomFields.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentCustomFields.json new file mode 100644 index 00000000..9cc9653f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentCustomFields.json @@ -0,0 +1,209 @@ +{ + "name": "ListIncidentCustomFields", + "fully_qualified_name": "PagerdutyApi.ListIncidentCustomFields@0.1.0", + "description": "Retrieve custom fields for a specific incident type.\n\nUse this tool to list custom fields associated with a particular incident type. These fields provide additional context and support functionalities like customized filtering, search, and analytics. Useful when you need to enhance incident data with customer-specific information.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_type_identifier", + "required": true, + "description": "The ID or name of the incident type to retrieve custom fields for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type_id_or_name" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The versioning header for the API response. Specify the desired version using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Set this to 'application/json' to specify the content type of the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specifies additional details to include in the response, such as 'field_options'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentTypeCustomFields'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types/{type_id_or_name}/custom_fields", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "type_id_or_name", + "tool_parameter_name": "incident_type_identifier", + "description": "The ID or name of the Incident Type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID or name of the Incident Type." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentLogEntries.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentLogEntries.json new file mode 100644 index 00000000..5ecadf48 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentLogEntries.json @@ -0,0 +1,446 @@ +{ + "name": "ListIncidentLogEntries", + "fully_qualified_name": "PagerdutyApi.ListIncidentLogEntries@0.1.0", + "description": "Retrieve log entries for a specific incident.\n\nThis tool fetches and lists log entries associated with a specific incident. Use it when you need detailed records of all events related to an incident on Pagerduty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique ID of the incident to retrieve log entries for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the API version using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the format of the response data. Typically, use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specifies the number of log entries returned per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination for search results. Use to specify the starting point for the result set.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "result_time_zone", + "required": false, + "description": "Specify the time zone for the results. Defaults to the account time zone if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "start_date_for_search", + "required": false, + "description": "Start date for the search range. Specify the beginning of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "date_range_end", + "required": false, + "description": "The end date for the range to search log entries. Format: YYYY-MM-DDTHH:MM:SSZ", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "additional_models_to_include", + "required": false, + "description": "Array of additional models to include in the response, such as incidents, services, channels, or teams.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incidents", + "services", + "channels", + "teams" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the `total` field in pagination responses for log entries.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + }, + { + "name": "return_overview_logs_only", + "required": false, + "description": "Return a subset of log entries showing only the most important changes to the incident when true.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If `true`, will return a subset of log entries that show only the most important changes to the incident." + }, + "inferrable": true, + "http_endpoint_parameter_name": "is_overview" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentLogEntries'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/log_entries", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "time_zone", + "tool_parameter_name": "result_time_zone", + "description": "Time zone in which results will be rendered. This will default to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date_for_search", + "description": "The start of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "date_range_end", + "description": "The end of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "is_overview", + "tool_parameter_name": "return_overview_logs_only", + "description": "If `true`, will return a subset of log entries that show only the most important changes to the incident.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If `true`, will return a subset of log entries that show only the most important changes to the incident." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_models_to_include", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incidents", + "services", + "channels", + "teams" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentNotes.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentNotes.json new file mode 100644 index 00000000..21a165cf --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentNotes.json @@ -0,0 +1,172 @@ +{ + "name": "ListIncidentNotes", + "fully_qualified_name": "PagerdutyApi.ListIncidentNotes@0.1.0", + "description": "Retrieve existing notes for a specified incident.\n\nUse this tool to obtain a list of notes related to a particular incident. This is useful for tracking comments or updates on an incident that needs resolution.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique ID of the incident for which to list notes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the versioning information for the API using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the content format for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentNotes'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/notes", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentPriorities.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentPriorities.json new file mode 100644 index 00000000..442ab129 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentPriorities.json @@ -0,0 +1,238 @@ +{ + "name": "ListIncidentPriorities", + "fully_qualified_name": "PagerdutyApi.ListIncidentPriorities@0.1.0", + "description": "Retrieve a list of incident priorities by severity.\n\nUse this tool to fetch and organize existing priorities, representing the importance and impact of incidents, from most to least severe. Applicable for Standard and Enterprise plans on Pagerduty.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_versioning_header", + "required": true, + "description": "The versioning header for API requests, used to specify the API version to accept.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Set the 'Content-Type' header as 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Number of incident priorities to include per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "The starting point of the paginated results to list incident priorities.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total number of items in the response. Set to false for a faster response without the total.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listPriorities'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/priorities", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentTypes.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentTypes.json new file mode 100644 index 00000000..73a42a77 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentTypes.json @@ -0,0 +1,180 @@ +{ + "name": "ListIncidentTypes", + "fully_qualified_name": "PagerdutyApi.ListIncidentTypes@0.1.0", + "description": "Retrieve a list of available incident types.\n\nRetrieves and categorizes incidents like security, major, or fraud incidents. It can filter by enabled or disabled types, requiring 'incident_types.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_versioning_header", + "required": true, + "description": "Specifies the versioning for the API response by setting the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "filter_incident_types_by_state", + "required": false, + "description": "Filter incident types by their enabled state: 'enabled', 'disabled', or 'all'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "enabled", + "disabled", + "all" + ], + "properties": null, + "inner_properties": null, + "description": "Filters the list of incident types based on their `enabled` state." + }, + "inferrable": true, + "http_endpoint_parameter_name": "filter" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentTypes'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/types", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "filter", + "tool_parameter_name": "filter_incident_types_by_state", + "description": "Filters the list of incident types based on their `enabled` state.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "enabled", + "disabled", + "all" + ], + "properties": null, + "inner_properties": null, + "description": "Filters the list of incident types based on their `enabled` state." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflowActions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflowActions.json new file mode 100644 index 00000000..c14d1120 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflowActions.json @@ -0,0 +1,238 @@ +{ + "name": "ListIncidentWorkflowActions", + "fully_qualified_name": "PagerdutyApi.ListIncidentWorkflowActions@0.1.0", + "description": "Retrieve a list of incident workflow actions.\n\nThis tool is used to fetch a list of actions available in incident workflows via Pagerduty. It requires OAuth permission `incident_workflows.read` and is useful for understanding available actions within incident workflows.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "api_version_accept_header", + "required": true, + "description": "Specifies the API version to accept using the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Sets the Content-Type header for the request. Use 'application/json' to specify JSON response format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "limit_results", + "required": false, + "description": "Specifies the maximum number of workflow actions to return in the response.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_cursor", + "required": false, + "description": "Optional. Use to request the next set of results from the API. Obtained from the `next_cursor` field of the previous request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "filter_by_keyword", + "required": false, + "description": "Specify a keyword to filter actions, showing only those tagged with this keyword.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show actions tagged with the specified keyword" + }, + "inferrable": true, + "http_endpoint_parameter_name": "keyword" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentWorkflowActions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/actions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "limit_results", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "pagination_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "keyword", + "tool_parameter_name": "filter_by_keyword", + "description": "If provided, only show actions tagged with the specified keyword", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show actions tagged with the specified keyword" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflowTriggers.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflowTriggers.json new file mode 100644 index 00000000..a87cc460 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflowTriggers.json @@ -0,0 +1,458 @@ +{ + "name": "ListIncidentWorkflowTriggers", + "fully_qualified_name": "PagerdutyApi.ListIncidentWorkflowTriggers@0.1.0", + "description": "Retrieve a list of existing incident workflow triggers.\n\nUse this tool to fetch all existing incident workflow triggers from Pagerduty. It helps in identifying available workflow triggers for automation or integration purposes.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specify the `Accept` header for API versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "filter_by_workflow_id", + "required": false, + "description": "Filter triggers to those configured to start the specified workflow ID. Useful for listing services associated with it.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured to start the given workflow. Useful for listing all services associated with the given workflow" + }, + "inferrable": true, + "http_endpoint_parameter_name": "workflow_id" + }, + { + "name": "incident_identifier", + "required": false, + "description": "Filter triggers by the incident's service, if provided. Cannot be used with `service_identifier`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured on the service of the given incident. Useful for finding manual triggers that are configured on the service for a specific incident. Cannot be specified if `service_id` is provided." + }, + "inferrable": true, + "http_endpoint_parameter_name": "incident_id" + }, + { + "name": "specific_service_id", + "required": false, + "description": "Filter triggers for incidents in a specific service. Cannot be used with `specific_incident_id`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured for incidents in the given service. Useful for listing all workflows associated with the given service. Cannot be specified if `incident_id` is provided." + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "trigger_type", + "required": false, + "description": "Show triggers of a specified type, such as 'manual', 'conditional', or 'incident_type'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "manual", + "conditional", + "incident_type" + ], + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers of the given type. For example \u201cmanual\u201d to search for manual triggers" + }, + "inferrable": true, + "http_endpoint_parameter_name": "trigger_type" + }, + { + "name": "filter_workflow_name_contains", + "required": false, + "description": "Filter triggers by workflows whose names contain this substring.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured to start workflows whose name contain the provided value." + }, + "inferrable": true, + "http_endpoint_parameter_name": "workflow_name_contains" + }, + { + "name": "sort_triggers_by", + "required": false, + "description": "Specify a property to sort the triggers. Options: workflow_id, workflow_id asc, workflow_name desc, etc.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "workflow_id", + "workflow_id asc", + "workflow_id desc", + "workflow_name", + "workflow_name asc", + "workflow_name desc" + ], + "properties": null, + "inner_properties": null, + "description": "If provided, returns triggers sorted by the specified property." + }, + "inferrable": true, + "http_endpoint_parameter_name": "sort_by" + }, + { + "name": "result_limit", + "required": false, + "description": "The number of incident workflow triggers to return, up to the API's maximum limit.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_cursor", + "required": false, + "description": "Optional string to request the next set of results. Use the `next_cursor` from the previous request; starts at the beginning if not provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "show_disabled_triggers", + "required": false, + "description": "Set to true to show disabled triggers, false to show enabled. Deprecated and will be removed soon.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, filters between disabled and enabled Triggers.\nThis query parameter is deprecated, and will be removed in a future version of this API.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "is_disabled" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentWorkflowTriggers'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/triggers", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "workflow_id", + "tool_parameter_name": "filter_by_workflow_id", + "description": "If provided, only show triggers configured to start the given workflow. Useful for listing all services associated with the given workflow", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured to start the given workflow. Useful for listing all services associated with the given workflow" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "incident_id", + "tool_parameter_name": "incident_identifier", + "description": "If provided, only show triggers configured on the service of the given incident. Useful for finding manual triggers that are configured on the service for a specific incident. Cannot be specified if `service_id` is provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured on the service of the given incident. Useful for finding manual triggers that are configured on the service for a specific incident. Cannot be specified if `service_id` is provided." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "specific_service_id", + "description": "If provided, only show triggers configured for incidents in the given service. Useful for listing all workflows associated with the given service. Cannot be specified if `incident_id` is provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured for incidents in the given service. Useful for listing all workflows associated with the given service. Cannot be specified if `incident_id` is provided." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "trigger_type", + "tool_parameter_name": "trigger_type", + "description": "If provided, only show triggers of the given type. For example \u201cmanual\u201d to search for manual triggers", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "manual", + "conditional", + "incident_type" + ], + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers of the given type. For example \u201cmanual\u201d to search for manual triggers" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "workflow_name_contains", + "tool_parameter_name": "filter_workflow_name_contains", + "description": "If provided, only show triggers configured to start workflows whose name contain the provided value.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, only show triggers configured to start workflows whose name contain the provided value." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "is_disabled", + "tool_parameter_name": "show_disabled_triggers", + "description": "If provided, filters between disabled and enabled Triggers.\nThis query parameter is deprecated, and will be removed in a future version of this API.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "If provided, filters between disabled and enabled Triggers.\nThis query parameter is deprecated, and will be removed in a future version of this API.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "sort_by", + "tool_parameter_name": "sort_triggers_by", + "description": "If provided, returns triggers sorted by the specified property.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "workflow_id", + "workflow_id asc", + "workflow_id desc", + "workflow_name", + "workflow_name asc", + "workflow_name desc" + ], + "properties": null, + "inner_properties": null, + "description": "If provided, returns triggers sorted by the specified property." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "limit", + "tool_parameter_name": "result_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "pagination_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflows.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflows.json new file mode 100644 index 00000000..c16e73fc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidentWorkflows.json @@ -0,0 +1,310 @@ +{ + "name": "ListIncidentWorkflows", + "fully_qualified_name": "PagerdutyApi.ListIncidentWorkflows@0.1.0", + "description": "Retrieve all existing incident workflows.\n\nUse this tool to list all incident workflows in your Pagerduty account. Ideal for obtaining a comprehensive view of all workflows, including sequences of steps and triggers configured for incidents.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specify the API version using the `Accept` header. This determines the format and version of the response returned.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the maximum number of incident workflow results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "The starting point for pagination of search results. Define how many items to skip before beginning to return results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "name_filter_query", + "required": false, + "description": "Specify a search query to filter results by matching workflow names.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as steps or team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "steps", + "team" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total count field in pagination responses. This may affect response speed.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentWorkflows'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "query", + "tool_parameter_name": "name_filter_query", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "steps", + "team" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidents.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidents.json new file mode 100644 index 00000000..9e24c028 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListIncidents.json @@ -0,0 +1,674 @@ +{ + "name": "ListIncidents", + "fully_qualified_name": "PagerdutyApi.ListIncidents@0.1.0", + "description": "Retrieve a list of current incidents.\n\nThis tool provides a list of existing incidents, representing problems or issues needing resolution. It should be called when detailed information on current incidents is required. This requires OAuth scope: `incidents.read`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "version_accept_header", + "required": true, + "description": "Specify the `Accept` header for versioning purposes. This determines the version of the API response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "number_of_results_per_page", + "required": false, + "description": "Specifies the number of incidents to return per page, up to a maximum of 100.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page. Maximum of 100." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset for pagination, indicating the starting point for search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "ignore_date_filters", + "required": false, + "description": "Set to 'all' to ignore 'since' and 'until' date filters, using all available data.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "all" + ], + "properties": null, + "inner_properties": null, + "description": "When set to all, the since and until parameters and defaults are ignored." + }, + "inferrable": true, + "http_endpoint_parameter_name": "date_range" + }, + { + "name": "incident_deduplication_key", + "required": false, + "description": "A string representing the de-duplication key of the incident. Incidents with child alerts do not have an incident key. Use it to query incidents by matching alert keys.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Incident de-duplication key. Incidents with child alerts do not have an incident key; querying by incident key will return incidents whose alerts have alert_key matching the given incident key." + }, + "inferrable": true, + "http_endpoint_parameter_name": "incident_key" + }, + { + "name": "filter_by_service_ids", + "required": false, + "description": "List of service IDs to filter incidents. Only incidents linked to these service IDs will be returned.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Returns only the incidents associated with the passed service(s). This expects one or more service IDs." + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_ids[]" + }, + { + "name": "team_ids", + "required": false, + "description": "Array of team IDs to filter incidents. Only relevant incidents for these teams will be returned.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "assigned_user_ids", + "required": false, + "description": "List of user IDs to filter incidents assigned to specific users. Only incidents with statuses of triggered or acknowledged will be returned, as resolved incidents are not assigned to any user.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Returns only the incidents currently assigned to the passed user(s). This expects one or more user IDs. Note: When using the assigned_to_user filter, you will only receive incidents with statuses of triggered or acknowledged. This is because resolved incidents are not assigned to any user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "user_ids[]" + }, + { + "name": "urgency_filters", + "required": false, + "description": "Array of urgencies to filter incidents by. Options: 'high', 'low'. Defaults to all urgencies.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "high", + "low" + ], + "properties": null, + "inner_properties": null, + "description": "Array of the urgencies of the incidents to be returned. Defaults to all urgencies. Account must have the `urgencies` ability to do this." + }, + "inferrable": true, + "http_endpoint_parameter_name": "urgencies[]" + }, + { + "name": "time_zone", + "required": false, + "description": "Time zone for rendering results. Defaults to the account time zone if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "incident_statuses", + "required": false, + "description": "Specify statuses to filter incidents: triggered, acknowledged, resolved. Allows multiple selections.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "triggered", + "acknowledged", + "resolved" + ], + "properties": null, + "inner_properties": null, + "description": "Return only incidents with the given statuses. To query multiple statuses, pass `statuses[]` more than once, for example: `https://api.pagerduty.com/incidents?statuses[]=triggered&statuses[]=acknowledged`. (More status codes may be introduced in the future.)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "statuses[]" + }, + { + "name": "sort_incidents_by", + "required": false, + "description": "Specify fields to sort incidents by, with optional direction (e.g., 'incident_number:asc'). Up to two fields allowed.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Used to specify both the field you wish to sort the results on (incident_number/created_at/resolved_at/urgency), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. A maximum of two fields can be included, separated by a comma. Sort direction defaults to ascending. The account must have the `urgencies` ability to sort by the urgency." + }, + "inferrable": true, + "http_endpoint_parameter_name": "sort_by" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as acknowledgers, agents, or services, using predefined categories.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "acknowledgers", + "agents", + "assignees", + "conference_bridge", + "escalation_policies", + "first_trigger_log_entries", + "priorities", + "services", + "teams", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "start_date", + "required": false, + "description": "The start of the date range for searching incidents. Maximum range is 6 months; default is 1 month.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. Maximum range is 6 months and default is 1 month." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date_range", + "required": false, + "description": "The end date of the search range. Maximum span is 6 months; defaults to 1 month.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. Maximum range is 6 months and default is 1 month." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the `total` field in the pagination response.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidents'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "number_of_results_per_page", + "description": "The number of results per page. Maximum of 100.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page. Maximum of 100." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "date_range", + "tool_parameter_name": "ignore_date_filters", + "description": "When set to all, the since and until parameters and defaults are ignored.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "all" + ], + "properties": null, + "inner_properties": null, + "description": "When set to all, the since and until parameters and defaults are ignored." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "incident_key", + "tool_parameter_name": "incident_deduplication_key", + "description": "Incident de-duplication key. Incidents with child alerts do not have an incident key; querying by incident key will return incidents whose alerts have alert_key matching the given incident key.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Incident de-duplication key. Incidents with child alerts do not have an incident key; querying by incident key will return incidents whose alerts have alert_key matching the given incident key." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_ids[]", + "tool_parameter_name": "filter_by_service_ids", + "description": "Returns only the incidents associated with the passed service(s). This expects one or more service IDs.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Returns only the incidents associated with the passed service(s). This expects one or more service IDs." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "user_ids[]", + "tool_parameter_name": "assigned_user_ids", + "description": "Returns only the incidents currently assigned to the passed user(s). This expects one or more user IDs. Note: When using the assigned_to_user filter, you will only receive incidents with statuses of triggered or acknowledged. This is because resolved incidents are not assigned to any user.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Returns only the incidents currently assigned to the passed user(s). This expects one or more user IDs. Note: When using the assigned_to_user filter, you will only receive incidents with statuses of triggered or acknowledged. This is because resolved incidents are not assigned to any user." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "urgencies[]", + "tool_parameter_name": "urgency_filters", + "description": "Array of the urgencies of the incidents to be returned. Defaults to all urgencies. Account must have the `urgencies` ability to do this.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "high", + "low" + ], + "properties": null, + "inner_properties": null, + "description": "Array of the urgencies of the incidents to be returned. Defaults to all urgencies. Account must have the `urgencies` ability to do this." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "time_zone", + "tool_parameter_name": "time_zone", + "description": "Time zone in which results will be rendered. This will default to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "statuses[]", + "tool_parameter_name": "incident_statuses", + "description": "Return only incidents with the given statuses. To query multiple statuses, pass `statuses[]` more than once, for example: `https://api.pagerduty.com/incidents?statuses[]=triggered&statuses[]=acknowledged`. (More status codes may be introduced in the future.)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "triggered", + "acknowledged", + "resolved" + ], + "properties": null, + "inner_properties": null, + "description": "Return only incidents with the given statuses. To query multiple statuses, pass `statuses[]` more than once, for example: `https://api.pagerduty.com/incidents?statuses[]=triggered&statuses[]=acknowledged`. (More status codes may be introduced in the future.)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "sort_by", + "tool_parameter_name": "sort_incidents_by", + "description": "Used to specify both the field you wish to sort the results on (incident_number/created_at/resolved_at/urgency), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. A maximum of two fields can be included, separated by a comma. Sort direction defaults to ascending. The account must have the `urgencies` ability to sort by the urgency.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Used to specify both the field you wish to sort the results on (incident_number/created_at/resolved_at/urgency), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. A maximum of two fields can be included, separated by a comma. Sort direction defaults to ascending. The account must have the `urgencies` ability to sort by the urgency." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "acknowledgers", + "agents", + "assignees", + "conference_bridge", + "escalation_policies", + "first_trigger_log_entries", + "priorities", + "services", + "teams", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search. Maximum range is 6 months and default is 1 month.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. Maximum range is 6 months and default is 1 month." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date_range", + "description": "The end of the date range over which you want to search. Maximum range is 6 months and default is 1 month.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. Maximum range is 6 months and default is 1 month." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListLicenseAllocations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListLicenseAllocations.json new file mode 100644 index 00000000..2928631d --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListLicenseAllocations.json @@ -0,0 +1,205 @@ +{ + "name": "ListLicenseAllocations", + "fully_qualified_name": "PagerdutyApi.ListLicenseAllocations@0.1.0", + "description": "Retrieve a list of user license allocations.\n\nUse this tool to obtain information about licenses allocated to users within your Pagerduty account. Requires appropriate OAuth scope (`licenses.read`).", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specify the API version using the `Accept` header as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the MIME type of the request body. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination of search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listLicenseAllocations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/license_allocations", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListMaintenanceWindows.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListMaintenanceWindows.json new file mode 100644 index 00000000..ce597986 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListMaintenanceWindows.json @@ -0,0 +1,423 @@ +{ + "name": "ListMaintenanceWindows", + "fully_qualified_name": "PagerdutyApi.ListMaintenanceWindows@0.1.0", + "description": "Retrieve existing maintenance windows with optional filters.\n\nUse this tool to list maintenance windows, which temporarily disable services for specific periods. You can filter the results by service, team, or by time (past, present, future).", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Use the 'Accept' header to specify the API versioning for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the request body. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "name_filter_query", + "required": false, + "description": "Filter results to show only maintenance windows whose name matches this query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of maintenance window results returned per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Specifies the starting point for pagination in search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "team_ids", + "required": false, + "description": "An array of team IDs to filter maintenance windows. Requires the 'teams' ability.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "service_ids", + "required": false, + "description": "An array of service IDs to filter results. Only maintenance windows related to these services will be included.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of service IDs. Only results related to these services will be returned." + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_ids[]" + }, + { + "name": "include_additional_models", + "required": false, + "description": "Specify additional models to include in the response. Options are 'teams', 'services', or 'users'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "teams", + "services", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "maintenance_window_state_filter", + "required": false, + "description": "Filter maintenance windows by state: past, future, ongoing, open, or all.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "past", + "future", + "ongoing", + "open", + "all" + ], + "properties": null, + "inner_properties": null, + "description": "Only return maintenance windows in a given state." + }, + "inferrable": true, + "http_endpoint_parameter_name": "filter" + }, + { + "name": "include_total_count", + "required": false, + "description": "Set to true to include the total count of maintenance windows in the response, which may slow down response times.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listMaintenanceWindows'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/maintenance_windows", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "query", + "tool_parameter_name": "name_filter_query", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_count", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_ids[]", + "tool_parameter_name": "service_ids", + "description": "An array of service IDs. Only results related to these services will be returned.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of service IDs. Only results related to these services will be returned." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "teams", + "services", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "filter", + "tool_parameter_name": "maintenance_window_state_filter", + "description": "Only return maintenance windows in a given state.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "past", + "future", + "ongoing", + "open", + "all" + ], + "properties": null, + "inner_properties": null, + "description": "Only return maintenance windows in a given state." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListNotifications.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListNotifications.json new file mode 100644 index 00000000..86b2703c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListNotifications.json @@ -0,0 +1,417 @@ +{ + "name": "ListNotifications", + "fully_qualified_name": "PagerdutyApi.ListNotifications@0.1.0", + "description": "Retrieve notifications for a specified time range and type.\n\nUse this tool to list notifications generated when incidents are triggered or escalated. You can filter notifications by type, such as SMS, email, phone, or push notifications.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "start_date_range", + "required": true, + "description": "The start date for the search range. Time is optional and format should match the \"since\" specification.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. The time element is optional." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": true, + "description": "Specify the end date for the search range. Must be in the same format as the start date ('since') and within 3 months of it.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. This should be in the same format as since. The size of the date range must be less than 3 months." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the versioning for the API response using the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the format of the response, typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of notification results to display per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination search results, specified as an integer.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "render_results_in_time_zone", + "required": false, + "description": "Time zone in which results will be rendered. Defaults to the account time zone if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "notification_type_filter", + "required": false, + "description": "Filter notifications by type, such as SMS, email, phone, or push. Valid values are: sms_notification, email_notification, phone_notification, or push_notification.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "sms_notification", + "email_notification", + "phone_notification", + "push_notification" + ], + "properties": null, + "inner_properties": null, + "description": "Return notification of this type only." + }, + "inferrable": true, + "http_endpoint_parameter_name": "filter" + }, + { + "name": "additional_details_to_include", + "required": false, + "description": "Array of additional details to include in the response, such as 'users'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the total field in pagination responses.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listNotifications'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/notifications", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "time_zone", + "tool_parameter_name": "render_results_in_time_zone", + "description": "Time zone in which results will be rendered. This will default to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date_range", + "description": "The start of the date range over which you want to search. The time element is optional.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. The time element is optional." + }, + "accepted_as": "query", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search. This should be in the same format as since. The size of the date range must be less than 3 months.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. This should be in the same format as since. The size of the date range must be less than 3 months." + }, + "accepted_as": "query", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "filter", + "tool_parameter_name": "notification_type_filter", + "description": "Return notification of this type only.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "sms_notification", + "email_notification", + "phone_notification", + "push_notification" + ], + "properties": null, + "inner_properties": null, + "description": "Return notification of this type only." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_details_to_include", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOauthClients.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOauthClients.json new file mode 100644 index 00000000..4c178c04 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOauthClients.json @@ -0,0 +1,139 @@ +{ + "name": "ListOauthClients", + "fully_qualified_name": "PagerdutyApi.ListOauthClients@0.1.0", + "description": "Retrieve all OAuth clients for webhook subscriptions.\n\nCall this tool to list all OAuth clients associated with webhook subscriptions in a Pagerduty account. This requires admin or owner role permissions and can list up to 10 clients per account.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version for the `Accept` header in API requests.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specify the content type for the request. Only 'application/json' is supported.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listOauthClients'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions/oauth_clients", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallEntries.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallEntries.json new file mode 100644 index 00000000..c4f571d4 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallEntries.json @@ -0,0 +1,510 @@ +{ + "name": "ListOnCallEntries", + "fully_qualified_name": "PagerdutyApi.ListOnCallEntries@0.1.0", + "description": "Retrieve on-call entries within a specified time range.\n\nUse this tool to get on-call entries for users according to specified escalation policies and rules within a given timeframe. Useful for managing on-call schedules and understanding who is responsible during specific periods. Ensure you have the required OAuth permissions (`oncalls.read`) before calling this tool.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API to use by setting the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The Content-Type header specifies the media type of the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_time_zone", + "required": false, + "description": "Time zone in which results will be rendered. Defaults to the account time zone if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of on-call entries to retrieve per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination for search results, defining where to begin in the result set.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "additional_details_to_include", + "required": false, + "description": "Array specifying additional details to include: 'escalation_policies', 'users', 'schedules'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "escalation_policies", + "users", + "schedules" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "filter_by_user_ids", + "required": false, + "description": "Filters the on-call entries to include only those for the specified user IDs.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only on-calls for the specified user IDs." + }, + "inferrable": true, + "http_endpoint_parameter_name": "user_ids[]" + }, + { + "name": "filter_by_escalation_policy_ids", + "required": false, + "description": "Array of escalation policy IDs to filter on-call entries, showing results only for specified IDs.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only on-calls for the specified escalation policy IDs." + }, + "inferrable": true, + "http_endpoint_parameter_name": "escalation_policy_ids[]" + }, + { + "name": "filter_by_schedule_ids", + "required": false, + "description": "An array of schedule IDs to filter results. Include `null` to add permanent on-calls for direct user escalation targets.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only on-calls for the specified schedule IDs. If `null` is provided in the array, it includes permanent on-calls due to direct user escalation targets." + }, + "inferrable": true, + "http_endpoint_parameter_name": "schedule_ids[]" + }, + { + "name": "start_time_range", + "required": false, + "description": "Specify the start time for the search range. Defaults to the current time. Valid entries are up to 90 days in the future.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the time range over which you want to search. If an on-call period overlaps with the range, it will be included in the result. Defaults to current time. On-call shifts are limited to 90 days in the future." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_time_range", + "required": false, + "description": "The end of the time range for searching on-call entries. Must be within 90 days of current time and cannot be before the start time. Defaults to current time if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the time range over which you want to search. If an on-call period overlaps with the range, it will be included in the result. Defaults to current time. On-call shifts are limited to 90 days in the future, and the `until` time cannot be before the `since` time." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set this to true to include the total number of on-call entries in pagination responses. This may increase response time.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + }, + { + "name": "return_earliest_on_call", + "required": false, + "description": "Set to true to filter and return only the earliest on-call for each escalation policy, level, and user.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "This will filter on-calls such that only the earliest on-call for each combination of escalation policy, escalation level, and user is returned. This is useful for determining when the \"next\" on-calls are for a given set of filters." + }, + "inferrable": true, + "http_endpoint_parameter_name": "earliest" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listOnCalls'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/oncalls", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "time_zone", + "tool_parameter_name": "results_time_zone", + "description": "Time zone in which results will be rendered. This will default to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_details_to_include", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "escalation_policies", + "users", + "schedules" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "user_ids[]", + "tool_parameter_name": "filter_by_user_ids", + "description": "Filters the results, showing only on-calls for the specified user IDs.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only on-calls for the specified user IDs." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "escalation_policy_ids[]", + "tool_parameter_name": "filter_by_escalation_policy_ids", + "description": "Filters the results, showing only on-calls for the specified escalation policy IDs.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only on-calls for the specified escalation policy IDs." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "schedule_ids[]", + "tool_parameter_name": "filter_by_schedule_ids", + "description": "Filters the results, showing only on-calls for the specified schedule IDs. If `null` is provided in the array, it includes permanent on-calls due to direct user escalation targets.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only on-calls for the specified schedule IDs. If `null` is provided in the array, it includes permanent on-calls due to direct user escalation targets." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_time_range", + "description": "The start of the time range over which you want to search. If an on-call period overlaps with the range, it will be included in the result. Defaults to current time. On-call shifts are limited to 90 days in the future.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the time range over which you want to search. If an on-call period overlaps with the range, it will be included in the result. Defaults to current time. On-call shifts are limited to 90 days in the future." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_time_range", + "description": "The end of the time range over which you want to search. If an on-call period overlaps with the range, it will be included in the result. Defaults to current time. On-call shifts are limited to 90 days in the future, and the `until` time cannot be before the `since` time.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the time range over which you want to search. If an on-call period overlaps with the range, it will be included in the result. Defaults to current time. On-call shifts are limited to 90 days in the future, and the `until` time cannot be before the `since` time." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "earliest", + "tool_parameter_name": "return_earliest_on_call", + "description": "This will filter on-calls such that only the earliest on-call for each combination of escalation policy, escalation level, and user is returned. This is useful for determining when the \"next\" on-calls are for a given set of filters.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "This will filter on-calls such that only the earliest on-call for each combination of escalation policy, escalation level, and user is returned. This is useful for determining when the \"next\" on-calls are for a given set of filters." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallScheduleUsers.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallScheduleUsers.json new file mode 100644 index 00000000..0ade7323 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallScheduleUsers.json @@ -0,0 +1,238 @@ +{ + "name": "ListOnCallScheduleUsers", + "fully_qualified_name": "PagerdutyApi.ListOnCallScheduleUsers@0.1.0", + "description": "Retrieve on-call users for a schedule within a time range.\n\nThis tool lists all users on call for a specified schedule during a given time range. It is useful for retrieving information about current on-call personnel. Requires scoped OAuth with `users.read` permission.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "schedule_id", + "required": true, + "description": "The unique identifier of the schedule to retrieve users for within the specified time range.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "Specifies the API version. Use the `Accept` header to manage versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "use_json_content_type", + "required": true, + "description": "Indicate whether to use JSON as the content type for the request. Defaults to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "start_date_range", + "required": false, + "description": "The start of the date range for searching users on call. Format as YYYY-MM-DD.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "The end of the date range to search for on-call users. Format: YYYY-MM-DDTHH:MM:SSZ.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listScheduleUsers'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/schedules/{id}/users", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "since", + "tool_parameter_name": "start_date_range", + "description": "The start of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "schedule_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "use_json_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallSchedules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallSchedules.json new file mode 100644 index 00000000..6cbaf3ed --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListOnCallSchedules.json @@ -0,0 +1,444 @@ +{ + "name": "ListOnCallSchedules", + "fully_qualified_name": "PagerdutyApi.ListOnCallSchedules@0.1.0", + "description": "Retrieve a list of on-call schedules.\n\nUse this tool to obtain details about on-call schedules, including which users are on-call and their corresponding time periods. Useful for managing team availability and coverage.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "The `Accept` header specifying desired API versioning. Use it to ensure version compatibility.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the format of the data being sent. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination search results. Useful for navigating through a large list of schedules.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "filter_by_schedule_name", + "required": false, + "description": "Filters the results to show only schedules whose name matches the provided query string.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "additional_details_to_include", + "required": false, + "description": "Specify details like 'schedule_layers', 'overrides_subschedule', or 'final_schedule' to include in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "schedule_layers", + "overrides_subschedule", + "final_schedule" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "results_display_time_zone", + "required": false, + "description": "Time zone in which results will be presented. Defaults to the current user's or account's time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the current user's time zone and then the account's time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "user_id_for_next_oncall", + "required": false, + "description": "Specify a user ID to retrieve the user's next on-call information.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specify an `user_id`, and the schedule list API will return information about this user's next on-call." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include_next_oncall_for_user" + }, + { + "name": "start_date_range", + "required": false, + "description": "The start date for the schedule entries view. Defaults to two weeks before 'until' if provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to show schedule entries. Defaults to 2 weeks before until if an until is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date_range", + "required": false, + "description": "The end date for schedule entries display. Defaults to 2 weeks after the start if not specified.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to show schedule entries. Defaults to 2 weeks after since if a since is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "populate_total_field", + "required": false, + "description": "Set to true to populate the total field in pagination responses, providing the total number of entries.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listSchedules'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/schedules", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "populate_total_field", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "query", + "tool_parameter_name": "filter_by_schedule_name", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "additional_details_to_include", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "schedule_layers", + "overrides_subschedule", + "final_schedule" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "time_zone", + "tool_parameter_name": "results_display_time_zone", + "description": "Time zone in which results will be rendered. This will default to the current user's time zone and then the account's time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the current user's time zone and then the account's time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include_next_oncall_for_user", + "tool_parameter_name": "user_id_for_next_oncall", + "description": "Specify an `user_id`, and the schedule list API will return information about this user's next on-call.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Specify an `user_id`, and the schedule list API will return information about this user's next on-call." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date_range", + "description": "The start of the date range over which you want to show schedule entries. Defaults to 2 weeks before until if an until is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to show schedule entries. Defaults to 2 weeks before until if an until is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date_range", + "description": "The end of the date range over which you want to show schedule entries. Defaults to 2 weeks after since if a since is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to show schedule entries. Defaults to 2 weeks after since if a since is given. Optional parameter. When provided with include[] for schedule types, populates the rendered_schedule_entries fields in the response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyAddons.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyAddons.json new file mode 100644 index 00000000..a96284b4 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyAddons.json @@ -0,0 +1,347 @@ +{ + "name": "ListPagerdutyAddons", + "fully_qualified_name": "PagerdutyApi.ListPagerdutyAddons@0.1.0", + "description": "Retrieve all installed add-ons on your PagerDuty account.\n\nUse this tool to get a list of all add-ons currently installed on your PagerDuty account. Add-ons are extensions that add functionality to the PagerDuty UI. This should be called when you need to view or manage these add-ons. OAuth scope required: `addons.read`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "api_version", + "required": true, + "description": "The API version to accept; used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Sets the content type for the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of add-ons to display per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset for starting pagination in search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_additional_models", + "required": false, + "description": "Specify additional models to include in the response. Valid value: 'services'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "filter_by_service_ids", + "required": false, + "description": "List of service IDs to filter results, showing only Add-ons associated with these services.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only Add-ons for the given services" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_ids[]" + }, + { + "name": "addon_type_filter", + "required": false, + "description": "Filter results to show only Add-ons of a specific type, such as 'full_page_addon' or 'incident_show_addon'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "full_page_addon", + "incident_show_addon" + ], + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only Add-ons of the given type" + }, + "inferrable": true, + "http_endpoint_parameter_name": "filter" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total number of add-ons in the response. Default is false for faster responses.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listAddon'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/addons", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "services" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_ids[]", + "tool_parameter_name": "filter_by_service_ids", + "description": "Filters the results, showing only Add-ons for the given services", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only Add-ons for the given services" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "filter", + "tool_parameter_name": "addon_type_filter", + "description": "Filters the results, showing only Add-ons of the given type", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "full_page_addon", + "incident_show_addon" + ], + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only Add-ons of the given type" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyExtensions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyExtensions.json new file mode 100644 index 00000000..dbb02ed2 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyExtensions.json @@ -0,0 +1,376 @@ +{ + "name": "ListPagerdutyExtensions", + "fully_qualified_name": "PagerdutyApi.ListPagerdutyExtensions@0.1.0", + "description": "Retrieve a list of existing Pagerduty extensions.\n\nThis tool retrieves existing extensions in Pagerduty, which are representations of Extension Schema objects attached to Services. It is useful for managing or viewing integrations related to services in your Pagerduty account.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to accept using the 'Accept' header for versioning purposes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Sets the Content-Type of the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of extensions to retrieve per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination of search results. Use this to skip a specified number of items.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "filter_by_name_query", + "required": false, + "description": "Filters results to show only records whose name matches the given query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "filter_by_extension_object_id", + "required": false, + "description": "Filter results by the specific extension object's ID.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the extension object you want to filter by." + }, + "inferrable": true, + "http_endpoint_parameter_name": "extension_object_id" + }, + { + "name": "filter_by_extension_vendor_id", + "required": false, + "description": "Filter the extensions by the ID of the extension vendor.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter the extensions by extension vendor id." + }, + "inferrable": true, + "http_endpoint_parameter_name": "extension_schema_id" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as 'extension_objects' or 'extension_schemas'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "extension_objects", + "extension_schemas" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total count of records in the response; otherwise, it will be null for faster response times.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listExtensions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/extensions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "query", + "tool_parameter_name": "filter_by_name_query", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "extension_object_id", + "tool_parameter_name": "filter_by_extension_object_id", + "description": "The id of the extension object you want to filter by.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the extension object you want to filter by." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "extension_schema_id", + "tool_parameter_name": "filter_by_extension_vendor_id", + "description": "Filter the extensions by extension vendor id.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter the extensions by extension vendor id." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "extension_objects", + "extension_schemas" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyRulesets.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyRulesets.json new file mode 100644 index 00000000..e6ebd45a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyRulesets.json @@ -0,0 +1,238 @@ +{ + "name": "ListPagerdutyRulesets", + "fully_qualified_name": "PagerdutyApi.ListPagerdutyRulesets@0.1.0", + "description": "Retrieve all PagerDuty rulesets and their details.\n\nUse this tool to list all available rulesets in PagerDuty. Rulesets are collections of Event Rules that define actions based on event content. Note that rulesets and event rules are reaching end-of-life, and migration to Event Orchestration is recommended. OAuth with 'event_rules.read' scope is required for access.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "api_version_header", + "required": true, + "description": "Specify the version of the API to use via the 'Accept' header. This is used for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the response. Default is 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specifies the number of rulesets to be returned per page in the result set.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "The starting point for pagination in the search results. Use to skip a number of entries.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the total count of results in the response for pagination.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listRulesets'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/rulesets", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyTeams.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyTeams.json new file mode 100644 index 00000000..f96fdb12 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyTeams.json @@ -0,0 +1,271 @@ +{ + "name": "ListPagerdutyTeams", + "fully_qualified_name": "PagerdutyApi.ListPagerdutyTeams@0.1.0", + "description": "Retrieve teams from your PagerDuty account.\n\nUse this tool to list all teams within your PagerDuty account. Teams consist of users and escalation policies representing groups within an organization. You can also apply a search filter. Requires 'teams.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to use via the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the media type of the resource. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specify the number of results to be displayed per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination of search results. Specify an integer value to skip a number of results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "search_query", + "required": false, + "description": "Filter the teams to list only those whose names match the search query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the total field in pagination responses. This toggles total count retrieval for results.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listTeams'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "query", + "tool_parameter_name": "search_query", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyUsers.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyUsers.json new file mode 100644 index 00000000..3abf455d --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListPagerdutyUsers.json @@ -0,0 +1,347 @@ +{ + "name": "ListPagerdutyUsers", + "fully_qualified_name": "PagerdutyApi.ListPagerdutyUsers@0.1.0", + "description": "Retrieve a list of users from your PagerDuty account.\n\nUse this tool to get a list of users in your PagerDuty account. You can optionally filter users by a search query. This is useful for managing account members and their interactions with Incidents and other data.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "The `Accept` header for versioning the API response. Specify the version of the API you want to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the format of the response. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "user_name_filter", + "required": false, + "description": "Filter results to show only users whose names match this query. Use a string to specify the filter.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "team_ids", + "required": false, + "description": "Array of team IDs to filter results. Requires 'teams' ability.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of user records to return per page of results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset_start", + "required": false, + "description": "Offset to start pagination search results. Use this to skip a specified number of results when retrieving the list of users.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_additional_models", + "required": false, + "description": "Array specifying which additional models to include in the response, such as 'contact_methods', 'notification_rules', 'teams', or 'subdomains'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods", + "notification_rules", + "teams", + "subdomains" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total count of records in the response. This may slow down response time.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listUsers'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "query", + "tool_parameter_name": "user_name_filter", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset_start", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods", + "notification_rules", + "teams", + "subdomains" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListRelatedChangeEventsForIncident.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListRelatedChangeEventsForIncident.json new file mode 100644 index 00000000..2c890c19 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListRelatedChangeEventsForIncident.json @@ -0,0 +1,205 @@ +{ + "name": "ListRelatedChangeEventsForIncident", + "fully_qualified_name": "PagerdutyApi.ListRelatedChangeEventsForIncident@0.1.0", + "description": "List related change events for an incident.\n\nProvides a list of related change events for a specified incident, along with reasons for their correlation. Useful during incident triage to understand service changes like deploys and configuration updates.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique ID of the incident for which related change events are to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header_accept", + "required": true, + "description": "Specifies the version of the response format using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the Content-Type header, typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "Specifies the number of change events to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listIncidentRelatedChangeEvents'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/related_change_events", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header_accept", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListResourceStandards.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListResourceStandards.json new file mode 100644 index 00000000..e069a005 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListResourceStandards.json @@ -0,0 +1,172 @@ +{ + "name": "ListResourceStandards", + "fully_qualified_name": "PagerdutyApi.ListResourceStandards@0.1.0", + "description": "Retrieve standards for multiple services' resources.\n\nCall this tool to get a list of standards applied to a set of resources in multiple services. This is useful for understanding compliance or operational criteria across different resource types. Requires `standards.read` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_ids", + "required": true, + "description": "A list of resource IDs to apply the standards. Maximum of 100 items allowed.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Ids of resources to apply the standards. Maximum of 100 items" + }, + "inferrable": true, + "http_endpoint_parameter_name": "ids" + }, + { + "name": "resource_type", + "required": true, + "description": "Specifies the type of resource to list standards for. Use 'technical_services' to refer to technical service resources.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "technical_services" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "resource_type" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The `Accept` header used for API versioning. Specify the version of the API to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listResourceStandardsManyServices'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/standards/scores/{resource_type}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "ids", + "tool_parameter_name": "resource_ids", + "description": "Ids of resources to apply the standards. Maximum of 100 items", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Ids of resources to apply the standards. Maximum of 100 items" + }, + "accepted_as": "query", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "resource_type", + "tool_parameter_name": "resource_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "technical_services" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListScheduleOverrides.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListScheduleOverrides.json new file mode 100644 index 00000000..66f2f4a2 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListScheduleOverrides.json @@ -0,0 +1,304 @@ +{ + "name": "ListScheduleOverrides", + "fully_qualified_name": "PagerdutyApi.ListScheduleOverrides@0.1.0", + "description": "Retrieve list of schedule overrides for a time range.\n\nUse this tool to get a list of schedule overrides for a given time range, which indicates when users are On-Call. OAuth with 'schedules.read' scope is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "start_date", + "required": true, + "description": "The start date of the range for searching schedule overrides. Format: YYYY-MM-DD.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date_range", + "required": true, + "description": "The end date for the search range in 'YYYY-MM-DD' format. Specifies the last day to include in the results.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "resource_id", + "required": true, + "description": "The ID of the schedule resource to fetch overrides for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_versioning", + "required": true, + "description": "Specify the versioning format for the API response using the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Set the 'Content-Type' header to specify the format of the request body. Typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "return_only_editable_overrides", + "required": false, + "description": "Set to true to return only future editable overrides, providing only their IDs.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "When this parameter is present, only editable overrides will be returned. The result will only include the id of the override if this parameter is present. Only future overrides are editable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "editable" + }, + { + "name": "allow_overflow", + "required": false, + "description": "Set to true to allow schedule entries that extend beyond the date range bounds without truncation.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter overflow=true is passed. This parameter defaults to false." + }, + "inferrable": true, + "http_endpoint_parameter_name": "overflow" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listScheduleOverrides'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/schedules/{id}/overrides", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search." + }, + "accepted_as": "query", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date_range", + "description": "The end of the date range over which you want to search.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search." + }, + "accepted_as": "query", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "editable", + "tool_parameter_name": "return_only_editable_overrides", + "description": "When this parameter is present, only editable overrides will be returned. The result will only include the id of the override if this parameter is present. Only future overrides are editable.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "When this parameter is present, only editable overrides will be returned. The result will only include the id of the override if this parameter is present. Only future overrides are editable." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "overflow", + "tool_parameter_name": "allow_overflow", + "description": "Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter overflow=true is passed. This parameter defaults to false.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Any on-call schedule entries that pass the date range bounds will be truncated at the bounds, unless the parameter overflow=true is passed. This parameter defaults to false." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceAuditRecords.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceAuditRecords.json new file mode 100644 index 00000000..18f27212 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceAuditRecords.json @@ -0,0 +1,304 @@ +{ + "name": "ListServiceAuditRecords", + "fully_qualified_name": "PagerdutyApi.ListServiceAuditRecords@0.1.0", + "description": "Retrieve a list of service audit records from Pagerduty.\n\nCall this tool to get audit records for a specific service in Pagerduty, useful for tracking changes or investigating issues. The records are sorted by execution time from newest to oldest, and support cursor-based pagination for large datasets.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the resource to retrieve audit records for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "api_version_header", + "required": true, + "description": "The versioning header for the API, typically formatted like 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The Content-Type header for specifying the format of the response. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "result_limit", + "required": false, + "description": "The maximum number of audit records to retrieve in one call.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_cursor", + "required": false, + "description": "An optional string parameter used to request the next set of results in a paginated API response. It should be obtained from the `next_cursor` field of the previous response, or left empty to start from the beginning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "start_date", + "required": false, + "description": "The start date for the search range. Defaults to 24 hours ago if not provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date_range", + "required": false, + "description": "The end date for the search range. Defaults to now if not specified. Must be within 31 days after the start date.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listServiceAuditRecords'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/audit/records", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "result_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "pagination_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "since", + "tool_parameter_name": "start_date", + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search. If not specified, defaults to `now() - 24 hours` (past 24 hours)" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date_range", + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search. If not specified, defaults to `now()`. May not be more than 31 days after `since`." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceChangeEvents.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceChangeEvents.json new file mode 100644 index 00000000..4e11cdb5 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceChangeEvents.json @@ -0,0 +1,403 @@ +{ + "name": "ListServiceChangeEvents", + "fully_qualified_name": "PagerdutyApi.ListServiceChangeEvents@0.1.0", + "description": "Retrieve existing change events for a service.\n\nUse this tool to list all change events associated with a specified service. Typically used to monitor or audit changes within a service. Requires `services.read` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_resource_id", + "required": true, + "description": "The ID of the service resource to retrieve change events for. This ID is mandatory for identifying the specific service.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "The `Accept` header for versioning the API calls. Use this to specify the version of the API you are targeting.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The Content-Type header value. Should be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "start_date_utc", + "required": false, + "description": "The start of the date range to search, as a UTC ISO 8601 datetime string. Returns an error for non-UTC datetimes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "inferrable": true, + "http_endpoint_parameter_name": "since" + }, + { + "name": "end_date", + "required": false, + "description": "The end of the date range for the search (UTC ISO 8601 datetime). Must be in UTC; non-UTC format will cause an error.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "inferrable": true, + "http_endpoint_parameter_name": "until" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of results to display per page in the response.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination for search results. Use this to specify the starting point for results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "filter_by_team_ids", + "required": false, + "description": "An array of team IDs to filter results. Only returns data for specified teams. Requires 'teams' ability.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "integration_ids", + "required": false, + "description": "An array of integration IDs to filter events by related integrations.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of integration IDs. Only results related to these integrations will be returned." + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_ids[]" + }, + { + "name": "include_total_in_pagination", + "required": false, + "description": "Set to true to populate the total field in pagination responses for complete result counts.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listServiceChangeEvents'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/change_events", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "since", + "tool_parameter_name": "start_date_utc", + "description": "The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The start of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "until", + "tool_parameter_name": "end_date", + "description": "The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The end of the date range over which you want to search, as a UTC ISO 8601 datetime string. Will return an HTTP 400 for non-UTC datetimes." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_pagination", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "filter_by_team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "integration_ids[]", + "tool_parameter_name": "integration_ids", + "description": "An array of integration IDs. Only results related to these integrations will be returned.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of integration IDs. Only results related to these integrations will be returned." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "service_resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceCustomFields.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceCustomFields.json new file mode 100644 index 00000000..f010c5cc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceCustomFields.json @@ -0,0 +1,176 @@ +{ + "name": "ListServiceCustomFields", + "fully_qualified_name": "PagerdutyApi.ListServiceCustomFields@0.1.0", + "description": "Retrieve custom fields for PagerDuty services.\n\nThis tool retrieves a list of custom fields available for services in PagerDuty, useful for understanding service configurations.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "api_version", + "required": true, + "description": "Specify the API version using the `Accept` header for versioning purposes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the Content-Type header for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as 'field_options'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listServiceCustomFields'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/custom_fields", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceEventCacheVariables.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceEventCacheVariables.json new file mode 100644 index 00000000..2fd0dccf --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceEventCacheVariables.json @@ -0,0 +1,172 @@ +{ + "name": "ListServiceEventCacheVariables", + "fully_qualified_name": "PagerdutyApi.ListServiceEventCacheVariables@0.1.0", + "description": "List cache variables for a service event orchestration.\n\nUse this tool to retrieve cache variables stored in a service event orchestration, which can be utilized in orchestration rules for conditions or actions. Scoped OAuth with `services.read` permission is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier for the service to retrieve cache variables.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "api_version_accept_header", + "required": true, + "description": "Specifies the API version using the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the content type of the request, should be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listCacheVarOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "api_version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceEventRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceEventRules.json new file mode 100644 index 00000000..8048955f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceEventRules.json @@ -0,0 +1,308 @@ +{ + "name": "ListServiceEventRules", + "fully_qualified_name": "PagerdutyApi.ListServiceEventRules@0.1.0", + "description": "Retrieve list of event rules for a specific service.\n\nUse this tool to obtain the event rules associated with a specific service on Pagerduty. Note that this feature will soon be deprecated, and it is recommended to migrate to Event Orchestration for enhanced functionality. This tool requires 'services.read' permission via scoped OAuth.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the service whose event rules are to be listed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "response_version_header", + "required": true, + "description": "Specifies the version of the API response using the Accept header for version control in requests.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the request. Set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of results to return per page. Specify an integer value.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "The starting point for pagination in the search results. Useful for iterating over results in batches.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_additional_models", + "required": false, + "description": "Specify additional models to include in the response, such as 'migrated_metadata'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "migrated_metadata" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the 'total' field in pagination responses. This may affect response time.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listServiceEventRules'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/rules", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_models", + "description": "Array of additional Models to include in response.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "migrated_metadata" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional Models to include in response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceFeatureEnablements.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceFeatureEnablements.json new file mode 100644 index 00000000..7df05d6d --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServiceFeatureEnablements.json @@ -0,0 +1,172 @@ +{ + "name": "ListServiceFeatureEnablements", + "fully_qualified_name": "PagerdutyApi.ListServiceFeatureEnablements@0.1.0", + "description": "Retrieve feature enablement settings for a specific service.\n\nUse this tool to list all feature enablement settings for a given service in PagerDuty. Ideal for checking AIOps feature status. Returns warnings if the account isn't entitled to use AIOps features.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier of the service to retrieve feature enablement settings for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to use with the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The format of the content type expected in the response. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listServiceFeatureEnablements'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/{id}/enablements", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "service_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServices.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServices.json new file mode 100644 index 00000000..600ba532 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListServices.json @@ -0,0 +1,454 @@ +{ + "name": "ListServices", + "fully_qualified_name": "PagerdutyApi.ListServices@0.1.0", + "description": "Fetch a list of existing Pagerduty services.\n\nUse this tool to retrieve a list of services, which may represent applications, components, or teams for incident management.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version using the Accept header for versioning purposes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Sets the media type of the resource. Accepts only 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "filter_by_name", + "required": false, + "description": "Filters services by specifying a name query to match.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "inferrable": true, + "http_endpoint_parameter_name": "query" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of service records to retrieve per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination in search results, allowing for navigation through pages.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "team_ids", + "required": false, + "description": "An array of team IDs. Only services related to these teams will be returned. Requires the `teams` ability.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "inferrable": true, + "http_endpoint_parameter_name": "team_ids[]" + }, + { + "name": "time_zone", + "required": false, + "description": "Specify the time zone for rendering results. Defaults to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "inferrable": true, + "http_endpoint_parameter_name": "time_zone" + }, + { + "name": "sort_services_by", + "required": false, + "description": "Specify the field to sort the results by. Options: 'name', 'name:asc', 'name:desc'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name", + "name:asc", + "name:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify the field you wish to sort the results on." + }, + "inferrable": true, + "http_endpoint_parameter_name": "sort_by" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as escalation policies or teams. Options are: escalation_policies, teams, integrations, auto_pause_notifications_parameters.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "escalation_policies", + "teams", + "integrations", + "auto_pause_notifications_parameters" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "filter_by_service_name", + "required": false, + "description": "Filters results to show only services with the specified name.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only services with the specified name." + }, + "inferrable": true, + "http_endpoint_parameter_name": "name" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to populate the `total` field in pagination responses, enabling a complete total count.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listServices'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "query", + "tool_parameter_name": "filter_by_name", + "description": "Filters the result, showing only the records whose name matches the query.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the result, showing only the records whose name matches the query." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "team_ids[]", + "tool_parameter_name": "team_ids", + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "time_zone", + "tool_parameter_name": "time_zone", + "description": "Time zone in which results will be rendered. This will default to the account time zone.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Time zone in which results will be rendered. This will default to the account time zone." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "sort_by", + "tool_parameter_name": "sort_services_by", + "description": "Used to specify the field you wish to sort the results on.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "name", + "name:asc", + "name:desc" + ], + "properties": null, + "inner_properties": null, + "description": "Used to specify the field you wish to sort the results on." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "escalation_policies", + "teams", + "integrations", + "auto_pause_notifications_parameters" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "name", + "tool_parameter_name": "filter_by_service_name", + "description": "Filters the results, showing only services with the specified name.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filters the results, showing only services with the specified name." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageImpacts.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageImpacts.json new file mode 100644 index 00000000..5c9d8d0e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageImpacts.json @@ -0,0 +1,174 @@ +{ + "name": "ListStatusPageImpacts", + "fully_qualified_name": "PagerdutyApi.ListStatusPageImpacts@0.1.0", + "description": "Retrieve impacts for a specific status page by ID.\n\nCall this tool to obtain a list of impacts for a status page identified by its ID. It requires the 'status_pages.read' scope for OAuth authentication.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The unique identifier of the status page to retrieve impacts for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the API versioning header to be used, typically a string like 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "filter_by_post_type", + "required": false, + "description": "Specify the type of post to filter impacts by, such as 'incident' or 'maintenance'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPageImpacts'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/impacts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "post_type", + "tool_parameter_name": "filter_by_post_type", + "description": "Filter by Post type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPagePostUpdates.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPagePostUpdates.json new file mode 100644 index 00000000..ad847123 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPagePostUpdates.json @@ -0,0 +1,207 @@ +{ + "name": "ListStatusPagePostUpdates", + "fully_qualified_name": "PagerdutyApi.ListStatusPagePostUpdates@0.1.0", + "description": "Retrieve updates for a specific status page post.\n\nThis tool fetches post updates for a given status page by specifying the status page ID and post ID. It should be called when you need detailed updates or changes for a specific post on a status page.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The ID of the status page resource to retrieve post updates from.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "status_page_post_id", + "required": true, + "description": "The unique identifier for a specific post on the status page. Used to fetch related post updates.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the versioning information via the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "filter_by_reviewed_status", + "required": false, + "description": "Filter post updates by their reviewed status ('approved' or 'not_reviewed').", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "approved", + "not_reviewed" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by the reviewed status of the Post Update to retrieve." + }, + "inferrable": true, + "http_endpoint_parameter_name": "reviewed_status" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPagePostUpdates'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts/{post_id}/post_updates", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "reviewed_status", + "tool_parameter_name": "filter_by_reviewed_status", + "description": "Filter by the reviewed status of the Post Update to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "approved", + "not_reviewed" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by the reviewed status of the Post Update to retrieve." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "post_id", + "tool_parameter_name": "status_page_post_id", + "description": "The ID of the Status Page Post.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Status Page Post." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPagePosts.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPagePosts.json new file mode 100644 index 00000000..0e5c13d4 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPagePosts.json @@ -0,0 +1,246 @@ +{ + "name": "ListStatusPagePosts", + "fully_qualified_name": "PagerdutyApi.ListStatusPagePosts@0.1.0", + "description": "Retrieve posts for a specific status page.\n\nUse this tool to list all posts associated with a specific status page by providing its ID. This is useful for monitoring updates or changes communicated through the status page.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the status page to retrieve posts from. This is required to identify the specific page.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specifies the API response format version using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "filter_by_post_type", + "required": false, + "description": "Specifies the post type to filter results, such as 'incident' or 'maintenance'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_type" + }, + { + "name": "filter_reviewed_status", + "required": false, + "description": "Specify the reviewed status of the posts to retrieve, such as 'approved' or 'not_reviewed'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "approved", + "not_reviewed" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by the reviewed status of the Post to retrieve." + }, + "inferrable": true, + "http_endpoint_parameter_name": "reviewed_status" + }, + { + "name": "status_identifiers", + "required": false, + "description": "Array of status identifiers to filter posts by. Use to narrow down to specific statuses.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter by an array of Status identifiers." + }, + "inferrable": true, + "http_endpoint_parameter_name": "status[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPagePosts'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/posts", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "post_type", + "tool_parameter_name": "filter_by_post_type", + "description": "Filter by Post type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "reviewed_status", + "tool_parameter_name": "filter_reviewed_status", + "description": "Filter by the reviewed status of the Post to retrieve.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "approved", + "not_reviewed" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by the reviewed status of the Post to retrieve." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "status[]", + "tool_parameter_name": "status_identifiers", + "description": "Filter by an array of Status identifiers.", + "value_schema": { + "val_type": "array", + "inner_val_type": "string", + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter by an array of Status identifiers." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageServices.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageServices.json new file mode 100644 index 00000000..53a176bb --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageServices.json @@ -0,0 +1,135 @@ +{ + "name": "ListStatusPageServices", + "fully_qualified_name": "PagerdutyApi.ListStatusPageServices@0.1.0", + "description": "Retrieve a list of services for a specific status page.\n\nUse this tool to get details of all services associated with a status page by providing the status page ID. Requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The unique identifier for the status page whose services you want to list.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The versioning header for API requests, specified in the `Accept` format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPageServices'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/services", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageSeverities.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageSeverities.json new file mode 100644 index 00000000..7154e54b --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageSeverities.json @@ -0,0 +1,174 @@ +{ + "name": "ListStatusPageSeverities", + "fully_qualified_name": "PagerdutyApi.ListStatusPageSeverities@0.1.0", + "description": "Retrieve severities for a specified status page.\n\nUse this tool to obtain a list of severities associated with a particular status page by providing its ID. This requires appropriate OAuth permissions (`status_pages.read`).", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The unique identifier for the status page to retrieve severities for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The `Accept` header specifying the API version for versioning purposes.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "filter_by_post_type", + "required": false, + "description": "Specify the type of post to filter by: 'incident' or 'maintenance'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPageSeverities'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/severities", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "post_type", + "tool_parameter_name": "filter_by_post_type", + "description": "Filter by Post type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageStatuses.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageStatuses.json new file mode 100644 index 00000000..c5a8f3ef --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPageStatuses.json @@ -0,0 +1,174 @@ +{ + "name": "ListStatusPageStatuses", + "fully_qualified_name": "PagerdutyApi.ListStatusPageStatuses@0.1.0", + "description": "List statuses for a status page by ID.\n\nCall this tool to retrieve the statuses of a specific status page using its ID. Useful for monitoring and managing page status updates.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "status_page_id", + "required": true, + "description": "The ID of the status page to retrieve statuses for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_versioning", + "required": true, + "description": "Specifies the API version using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "filter_by_post_type", + "required": false, + "description": "Specify the type of post to filter the statuses, such as 'incident' or 'maintenance'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "inferrable": true, + "http_endpoint_parameter_name": "post_type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPageStatuses'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages/{id}/statuses", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "post_type", + "tool_parameter_name": "filter_by_post_type", + "description": "Filter by Post type.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "incident", + "maintenance" + ], + "properties": null, + "inner_properties": null, + "description": "Filter by Post type." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "status_page_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_versioning", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPages.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPages.json new file mode 100644 index 00000000..a48d83b4 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListStatusPages.json @@ -0,0 +1,141 @@ +{ + "name": "ListStatusPages", + "fully_qualified_name": "PagerdutyApi.ListStatusPages@0.1.0", + "description": "Retrieve a list of status pages from PagerDuty.\n\nUse this tool to obtain a list of available status pages from PagerDuty. This requires `status_pages.read` permission through Scoped OAuth.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "The API version to specify in the `Accept` header for versioning requests.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "status_page_type", + "required": false, + "description": "Specifies if the status page is 'public' or 'private'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "public", + "private" + ], + "properties": null, + "inner_properties": null, + "description": "The type of the Status Page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "status_page_type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listStatusPages'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/status_pages", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "status_page_type", + "tool_parameter_name": "status_page_type", + "description": "The type of the Status Page.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "public", + "private" + ], + "properties": null, + "inner_properties": null, + "description": "The type of the Status Page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserContactMethods.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserContactMethods.json new file mode 100644 index 00000000..c0ef5201 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserContactMethods.json @@ -0,0 +1,172 @@ +{ + "name": "ListUserContactMethods", + "fully_qualified_name": "PagerdutyApi.ListUserContactMethods@0.1.0", + "description": "Retrieves contact methods for a specific PagerDuty user.\n\nUse this tool to obtain the contact methods associated with a PagerDuty user. This is useful for managing or displaying user contact preferences in incident management processes.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique identifier for the PagerDuty user to retrieve contact methods for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version for the request using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The response format for the API, default is 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserContactMethods'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/contact_methods", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserHandoffNotificationRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserHandoffNotificationRules.json new file mode 100644 index 00000000..79343082 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserHandoffNotificationRules.json @@ -0,0 +1,172 @@ +{ + "name": "ListUserHandoffNotificationRules", + "fully_qualified_name": "PagerdutyApi.ListUserHandoffNotificationRules@0.1.0", + "description": "Retrieve handoff notification rules for a PagerDuty user.\n\nThis tool retrieves the handoff notification rules for a specified user in PagerDuty. It's useful for understanding how a user is notified during on-call handoffs. Requires 'users.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "Specify the ID of the PagerDuty user to retrieve their handoff notification rules.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the API version using the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserHandoffNotificationRules'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/oncall_handoff_notification_rules", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserNotificationRules.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserNotificationRules.json new file mode 100644 index 00000000..421ade23 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListUserNotificationRules.json @@ -0,0 +1,250 @@ +{ + "name": "ListUserNotificationRules", + "fully_qualified_name": "PagerdutyApi.ListUserNotificationRules@0.1.0", + "description": "Retrieve notification rules for a PagerDuty user.\n\nThis tool retrieves the list of notification rules for a specified PagerDuty user, allowing you to see how notifications are configured. Use it to manage or review user notifications.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique identifier of the PagerDuty user whose notification rules are being retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "response_format_version", + "required": true, + "description": "Specifies the version of the API to use for the response format. Use the `Accept` header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Specifies the format of the response. Only 'application/json' is supported.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specify additional details to include, such as 'contact_methods'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + }, + { + "name": "incident_urgency", + "required": false, + "description": "The urgency level for applying notification rules. Options: 'high', 'low', 'all'. Defaults to 'high'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "high", + "low", + "all" + ], + "properties": null, + "inner_properties": null, + "description": "The incident urgency for which the notification rules are applied. If not specified, defaults to `high`." + }, + "inferrable": true, + "http_endpoint_parameter_name": "urgency" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getUserNotificationRules'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/notification_rules", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "contact_methods" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "urgency", + "tool_parameter_name": "incident_urgency", + "description": "The incident urgency for which the notification rules are applied. If not specified, defaults to `high`.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "high", + "low", + "all" + ], + "properties": null, + "inner_properties": null, + "description": "The incident urgency for which the notification rules are applied. If not specified, defaults to `high`." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_format_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListVendors.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListVendors.json new file mode 100644 index 00000000..b3442da8 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListVendors.json @@ -0,0 +1,238 @@ +{ + "name": "ListVendors", + "fully_qualified_name": "PagerdutyApi.ListVendors@0.1.0", + "description": "Retrieve a list of all PagerDuty vendors.\n\nThis tool is used to retrieve a list of all vendors available in PagerDuty, representing specific types of integrations such as AWS Cloudwatch, Splunk, and Datadog. Useful for users needing to know available integration options.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_header", + "required": true, + "description": "Specifies the version of the API to use for vendor listing. Typically in the format 'application/json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "response_format_content_type", + "required": true, + "description": "Specifies the media type of the response. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of vendor results to return per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination for search results, indicating the number of initial items to skip.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to `true` to populate the `total` field in pagination responses, otherwise it remains `null` to optimize response time.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listVendors'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/vendors", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "response_format_content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWebhookSubscriptions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWebhookSubscriptions.json new file mode 100644 index 00000000..2bee4519 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWebhookSubscriptions.json @@ -0,0 +1,275 @@ +{ + "name": "ListWebhookSubscriptions", + "fully_qualified_name": "PagerdutyApi.ListWebhookSubscriptions@0.1.0", + "description": "Retrieve existing webhook subscriptions from Pagerduty.\n\nUse this tool to list all existing webhook subscriptions, optionally filtered by service or team. Useful for managing or reviewing webhook integrations. Requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the version of the API to be accepted in the request header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "results_per_page", + "required": false, + "description": "The number of results to display per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_offset", + "required": false, + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "inferrable": true, + "http_endpoint_parameter_name": "offset" + }, + { + "name": "resource_filter_type", + "required": false, + "description": "Specify the type of resource to filter: 'account', 'service', or 'team'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "account", + "service", + "team" + ], + "properties": null, + "inner_properties": null, + "description": "The type of resource to filter upon." + }, + "inferrable": true, + "http_endpoint_parameter_name": "filter_type" + }, + { + "name": "resource_filter_id", + "required": false, + "description": "The ID of the resource to filter by, required if filtering by service or team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the resource to filter upon. Required if filter_type is service or team." + }, + "inferrable": true, + "http_endpoint_parameter_name": "filter_id" + }, + { + "name": "include_total_in_response", + "required": false, + "description": "Set to true to include the total number of results in the response, which might affect response times.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listWebhookSubscriptions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_per_page", + "description": "The number of results per page.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results per page." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "offset", + "tool_parameter_name": "pagination_offset", + "description": "Offset to start pagination search results.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Offset to start pagination search results." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_in_response", + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.\n\nSee our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "filter_type", + "tool_parameter_name": "resource_filter_type", + "description": "The type of resource to filter upon.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "account", + "service", + "team" + ], + "properties": null, + "inner_properties": null, + "description": "The type of resource to filter upon." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "filter_id", + "tool_parameter_name": "resource_filter_id", + "description": "The id of the resource to filter upon. Required if filter_type is service or team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The id of the resource to filter upon. Required if filter_type is service or team." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWorkflowIntegrationConnections.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWorkflowIntegrationConnections.json new file mode 100644 index 00000000..b0cc9d28 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWorkflowIntegrationConnections.json @@ -0,0 +1,201 @@ +{ + "name": "ListWorkflowIntegrationConnections", + "fully_qualified_name": "PagerdutyApi.ListWorkflowIntegrationConnections@0.1.0", + "description": "Retrieve all Workflow Integration Connections from Pagerduty.\n\nUse this tool to access and list all Workflow Integration Connections via Pagerduty. It requires appropriate OAuth scope for access.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API response format using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "result_limit", + "required": false, + "description": "Specify the maximum number of results to return. Defaults to the smaller of the request's limit or the API's maximum.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "next_page_cursor", + "required": false, + "description": "Optional parameter for requesting the next set of results. Use the value from `next_cursor` of the previous response. Leave empty to start from the beginning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "filter_by_partial_name", + "required": false, + "description": "Filter integrations based on a partial name match.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter Integrations by partial name." + }, + "inferrable": true, + "http_endpoint_parameter_name": "name" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listWorkflowIntegrationConnections'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations/connections", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "result_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "next_page_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "name", + "tool_parameter_name": "filter_by_partial_name", + "description": "Filter Integrations by partial name.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Filter Integrations by partial name." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWorkflowIntegrations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWorkflowIntegrations.json new file mode 100644 index 00000000..5ea731db --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ListWorkflowIntegrations.json @@ -0,0 +1,201 @@ +{ + "name": "ListWorkflowIntegrations", + "fully_qualified_name": "PagerdutyApi.ListWorkflowIntegrations@0.1.0", + "description": "Retrieve available Workflow Integrations from Pagerduty.\n\nUse this tool to access a list of available Workflow Integrations via Pagerduty's API. Requires appropriate OAuth permissions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the API version for the response using the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "result_limit", + "required": false, + "description": "Specifies the maximum number of workflow integrations to retrieve in one call.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "pagination_cursor", + "required": false, + "description": "A token to retrieve the next set of results. Obtain from `next_cursor` of the previous response. Defaults to the start if empty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "cursor" + }, + { + "name": "include_deprecated_integrations", + "required": false, + "description": "Include deprecated integrations in the response if true.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Whether to include deprecated Integrations in the response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include_deprecated" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listWorkflowIntegrations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "result_limit", + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The minimum of the `limit` parameter used in the request or the maximum request size of the API." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cursor", + "tool_parameter_name": "pagination_cursor", + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Optional parameter used to request the \"next\" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "include_deprecated", + "tool_parameter_name": "include_deprecated_integrations", + "description": "Whether to include deprecated Integrations in the response.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Whether to include deprecated Integrations in the response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveExistingUser.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveExistingUser.json new file mode 100644 index 00000000..5237d1a0 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveExistingUser.json @@ -0,0 +1,172 @@ +{ + "name": "RemoveExistingUser", + "fully_qualified_name": "PagerdutyApi.RemoveExistingUser@0.1.0", + "description": "Delete a user from the Pagerduty account.\n\nThis tool removes an existing user from a Pagerduty account. It should be called when you want to delete a user. Note that it returns a 400 error if the user has assigned incidents unless your pricing plan supports the 'offboarding' feature and it's configured appropriately. The incidents reassignment process is asynchronous and may not complete before the API call returns.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_id", + "required": true, + "description": "The unique ID of the user to be removed from the Pagerduty account.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "version_accept_header", + "required": true, + "description": "The 'Accept' header specifies the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The HTTP header indicating the media type, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteUser'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "version_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveFieldOption.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveFieldOption.json new file mode 100644 index 00000000..bbc85cb0 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveFieldOption.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveFieldOption", + "fully_qualified_name": "PagerdutyApi.RemoveFieldOption@0.1.0", + "description": "Delete a service custom field option in Pagerduty.\n\nUse this tool to delete a specific custom field option associated with a service in Pagerduty. This is useful when a field option is no longer needed or needs to be permanently removed. Ensure the necessary permissions (`custom_fields.write`) are in place.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "field_identifier", + "required": true, + "description": "The unique identifier of the field whose option you want to delete.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "field_option_id", + "required": true, + "description": "The unique identifier for the field option to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_option_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version to use in the Accept header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "MIME type for the request body. Expected value: 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteServiceCustomFieldOption'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/custom_fields/{field_id}/field_options/{field_option_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "field_id", + "tool_parameter_name": "field_identifier", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_option_id", + "tool_parameter_name": "field_option_id", + "description": "The ID of the field option.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field option." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemovePagerdutyAddon.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemovePagerdutyAddon.json new file mode 100644 index 00000000..89fa3c8b --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemovePagerdutyAddon.json @@ -0,0 +1,172 @@ +{ + "name": "RemovePagerdutyAddon", + "fully_qualified_name": "PagerdutyApi.RemovePagerdutyAddon@0.1.0", + "description": "Remove an existing add-on from PagerDuty.\n\nUse this tool to remove an existing add-on from PagerDuty. This action deletes a piece of functionality developers have inserted into the PagerDuty UI. Ensure the necessary permissions (`addons.write`) are in place before proceeding.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the add-on to be removed from PagerDuty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The versioning header for the request, used to specify the API version.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_json", + "required": true, + "description": "Set the content type for the request. Use 'application/json' for this API call.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteAddon'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/addons/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_json", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemovePagerdutyTag.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemovePagerdutyTag.json new file mode 100644 index 00000000..ef912bba --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemovePagerdutyTag.json @@ -0,0 +1,172 @@ +{ + "name": "RemovePagerdutyTag", + "fully_qualified_name": "PagerdutyApi.RemovePagerdutyTag@0.1.0", + "description": "Remove an existing tag from Pagerduty entities.\n\nThis tool removes a specified tag from Escalation Policies, Teams, or Users in Pagerduty. It is useful for managing tags that are used to filter these entities. Requires appropriate OAuth scope (`tags.write`).", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the Pagerduty resource from which the tag will be removed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_accept_header", + "required": true, + "description": "The `Accept` header specifies the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_json", + "required": true, + "description": "Specifies the format of the request, must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteTag'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/tags/{id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_json", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveScheduleOverride.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveScheduleOverride.json new file mode 100644 index 00000000..7c4ea182 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveScheduleOverride.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveScheduleOverride", + "fully_qualified_name": "PagerdutyApi.RemoveScheduleOverride@0.1.0", + "description": "Remove a schedule override in Pagerduty.\n\nThis tool removes an existing schedule override in Pagerduty. It cannot remove past overrides. If the override starts before the current time and ends after, it will be truncated to the current time. Useful for managing on-call schedules.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the schedule resource to modify.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "schedule_override_id", + "required": true, + "description": "The ID of the override on the schedule to be removed. This is required for identifying the specific schedule override to delete.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The override ID on the schedule." + }, + "inferrable": true, + "http_endpoint_parameter_name": "override_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The versioning header used to specify the API version for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type for the request; use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteScheduleOverride'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/schedules/{id}/overrides/{override_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "override_id", + "tool_parameter_name": "schedule_override_id", + "description": "The override ID on the schedule.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The override ID on the schedule." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveServiceFromWorkflowTrigger.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveServiceFromWorkflowTrigger.json new file mode 100644 index 00000000..36d0cf50 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveServiceFromWorkflowTrigger.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveServiceFromWorkflowTrigger", + "fully_qualified_name": "PagerdutyApi.RemoveServiceFromWorkflowTrigger@0.1.0", + "description": "Remove a service from an incident workflow trigger.\n\nUse this tool to delete an existing service from a specified incident workflow trigger in Pagerduty. Typically called when you want to modify incident workflows by removing services that are no longer needed.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "trigger_identifier", + "required": true, + "description": "The unique identifier for the trigger from which the service will be removed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Identifier for the Trigger" + }, + "inferrable": true, + "http_endpoint_parameter_name": "trigger_id" + }, + { + "name": "service_identifier", + "required": true, + "description": "The unique identifier for the service to be removed from the workflow trigger.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Identifier for the Service" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specifies the API version using the 'Accept' header for versioning.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteServiceFromIncidentWorkflowTrigger'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incident_workflows/triggers/{trigger_id}/services/{service_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "trigger_id", + "tool_parameter_name": "trigger_identifier", + "description": "Identifier for the Trigger", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Identifier for the Trigger" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "service_id", + "tool_parameter_name": "service_identifier", + "description": "Identifier for the Service", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "Identifier for the Service" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveTeamEscalationPolicy.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveTeamEscalationPolicy.json new file mode 100644 index 00000000..2572a696 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveTeamEscalationPolicy.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveTeamEscalationPolicy", + "fully_qualified_name": "PagerdutyApi.RemoveTeamEscalationPolicy@0.1.0", + "description": "Remove an escalation policy from a specified team in PagerDuty.\n\nUse this tool to delete a specific escalation policy from a given team within PagerDuty. This operation modifies the team's configured escalation policies and requires appropriate OAuth permissions (`teams.write`).", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the team resource to modify.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "escalation_policy_id", + "required": true, + "description": "The ID of the escalation policy to be removed from the team. It should be provided as a string.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The escalation policy ID on the team." + }, + "inferrable": true, + "http_endpoint_parameter_name": "escalation_policy_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Set the `Accept` header for API versioning when removing an escalation policy.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "force_content_type_json", + "required": true, + "description": "Specify 'application/json' as the content type. It ensures the request is formatted as JSON.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteTeamEscalationPolicy'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}/escalation_policies/{escalation_policy_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "escalation_policy_id", + "tool_parameter_name": "escalation_policy_id", + "description": "The escalation policy ID on the team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The escalation policy ID on the team." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "force_content_type_json", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserContactMethod.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserContactMethod.json new file mode 100644 index 00000000..a4692990 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserContactMethod.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveUserContactMethod", + "fully_qualified_name": "PagerdutyApi.RemoveUserContactMethod@0.1.0", + "description": "Removes a user's contact method in PagerDuty.\n\nUse this tool to remove a specific contact method from a user's profile in PagerDuty. Useful when managing users' contact preferences.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_resource_id", + "required": true, + "description": "The unique ID of the user resource in PagerDuty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "contact_method_id", + "required": true, + "description": "The ID of the contact method to be removed from the user's profile in PagerDuty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The contact method ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "contact_method_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the version of the API to use. Typically a string format like 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Set the 'Content-Type' header for the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteUserContactMethod'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/contact_methods/{contact_method_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "contact_method_id", + "tool_parameter_name": "contact_method_id", + "description": "The contact method ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The contact method ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserFromTeam.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserFromTeam.json new file mode 100644 index 00000000..cca9440e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserFromTeam.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveUserFromTeam", + "fully_qualified_name": "PagerdutyApi.RemoveUserFromTeam@0.1.0", + "description": "Remove a user from a specific team.\n\nCall this tool to remove a user from a team. Useful for managing team membership by deleting users who are no longer required in a specific team. Requires appropriate OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the team from which the user will be removed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "user_id_on_team", + "required": true, + "description": "The ID of the user to be removed from the team. This identifies the specific team member.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The user ID on the team." + }, + "inferrable": true, + "http_endpoint_parameter_name": "user_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specifies the API version to use via the Accept header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the format of the request body. Must be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteTeamUser'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/teams/{id}/users/{user_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "user_id", + "tool_parameter_name": "user_id_on_team", + "description": "The user ID on the team.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The user ID on the team." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserHandoffNotificationRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserHandoffNotificationRule.json new file mode 100644 index 00000000..36eaae49 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserHandoffNotificationRule.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveUserHandoffNotificationRule", + "fully_qualified_name": "PagerdutyApi.RemoveUserHandoffNotificationRule@0.1.0", + "description": "Remove a user's handoff notification rule on PagerDuty.\n\nThis tool removes a specified user's handoff notification rule in a PagerDuty account. It should be called when you need to delete a user's notification rule for on-call handoffs. OAuth scope 'users.write' is required for this operation.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_resource_id", + "required": true, + "description": "The ID of the user resource to identify which user\u2019s notification rule is being removed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "oncall_handoff_notification_rule_id", + "required": true, + "description": "The ID of the oncall handoff notification rule to be removed for the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The oncall handoff notification rule ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "oncall_handoff_notification_rule_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API you want to use. Use the `Accept` header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteUserHandoffNotificationRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/oncall_handoff_notification_rules/{oncall_handoff_notification_rule_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "user_resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "oncall_handoff_notification_rule_id", + "tool_parameter_name": "oncall_handoff_notification_rule_id", + "description": "The oncall handoff notification rule ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The oncall handoff notification rule ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserNotificationRule.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserNotificationRule.json new file mode 100644 index 00000000..3442dbe1 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RemoveUserNotificationRule.json @@ -0,0 +1,205 @@ +{ + "name": "RemoveUserNotificationRule", + "fully_qualified_name": "PagerdutyApi.RemoveUserNotificationRule@0.1.0", + "description": "Remove a notification rule for a PagerDuty user.\n\nCall this tool to delete a specific notification rule associated with a user in a PagerDuty account. This is useful when a user's notification preferences need to be updated or maintained. Ensure the required OAuth scope is available: `users:contact_methods.write`.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the PagerDuty user whose notification rule is to be deleted.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "notification_rule_id", + "required": true, + "description": "The ID of the notification rule to be removed for the user. This is required to specify which rule to delete.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The notification rule ID on the user." + }, + "inferrable": true, + "http_endpoint_parameter_name": "notification_rule_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the API version using the Accept header for versioning. Ensure correct version is provided.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteUserNotificationRule'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/users/{id}/notification_rules/{notification_rule_id}", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "notification_rule_id", + "tool_parameter_name": "notification_rule_id", + "description": "The notification rule ID on the user.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The notification rule ID on the user." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveActionTeamAssociations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveActionTeamAssociations.json new file mode 100644 index 00000000..3321c82c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveActionTeamAssociations.json @@ -0,0 +1,172 @@ +{ + "name": "RetrieveActionTeamAssociations", + "fully_qualified_name": "PagerdutyApi.RetrieveActionTeamAssociations@0.1.0", + "description": "Retrieve team references for an automation action.\n\nUse this tool to get all team references associated with a specific automation action. It helps in identifying which teams are linked to a given action within the Pagerduty system.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the automation action resource to retrieve team associations for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "The versioning header indicating the desired API version to accept. Specify the version of the API to use.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the media type of the resource request. It should be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getAutomationActionsActionTeamAssociations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/automation_actions/actions/{id}/teams", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveFieldOptions.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveFieldOptions.json new file mode 100644 index 00000000..2e684aa8 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveFieldOptions.json @@ -0,0 +1,172 @@ +{ + "name": "RetrieveFieldOptions", + "fully_qualified_name": "PagerdutyApi.RetrieveFieldOptions@0.1.0", + "description": "Retrieve all options for a specified custom field.\n\nThis tool retrieves all available options for a specified custom field in a Pagerduty service. It is useful for understanding the selectable values associated with a field. OAuth scope `custom_fields.read` is required.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "field_id", + "required": true, + "description": "The unique identifier for the custom field whose options you want to retrieve. This is required to specify which field's options should be listed.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version for the API response using the 'Accept' header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The Content-Type header for the request, typically 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'listServiceCustomFieldOptions'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/custom_fields/{field_id}/field_options", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "field_id", + "tool_parameter_name": "field_id", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveIncidentDetail.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveIncidentDetail.json new file mode 100644 index 00000000..b757eeed --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveIncidentDetail.json @@ -0,0 +1,229 @@ +{ + "name": "RetrieveIncidentDetail", + "fully_qualified_name": "PagerdutyApi.RetrieveIncidentDetail@0.1.0", + "description": "Retrieve detailed information about a Pagerduty incident.\n\nThis tool provides detailed information about a specific incident in Pagerduty. It can be called using either an incident ID or number. Use this to get insights into issues that need resolution. Requires 'incidents.read' OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "incident_id", + "required": true, + "description": "The unique identifier or number for the incident to retrieve details.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "response_version", + "required": true, + "description": "Specify the version of the API response using the `Accept` header format.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "Set to 'application/json' to specify the content type in the request header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "additional_details_to_include", + "required": false, + "description": "Array of additional details to include, such as 'acknowledgers', 'agents', etc.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "acknowledgers", + "agents", + "assignees", + "conference_bridge", + "custom_fields", + "escalation_policies", + "first_trigger_log_entries", + "priorities", + "services", + "teams", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getIncident'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "additional_details_to_include", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "acknowledgers", + "agents", + "assignees", + "conference_bridge", + "custom_fields", + "escalation_policies", + "first_trigger_log_entries", + "priorities", + "services", + "teams", + "users" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "incident_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "response_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrievePastIncidents.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrievePastIncidents.json new file mode 100644 index 00000000..bb0c5daa --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrievePastIncidents.json @@ -0,0 +1,238 @@ +{ + "name": "RetrievePastIncidents", + "fully_qualified_name": "PagerdutyApi.RetrievePastIncidents@0.1.0", + "description": "Retrieve past incidents related to a specific incident.\n\nUse this tool to obtain a list of past incidents from the same service that share metadata with a given incident. Useful for analyzing historical incident data related to a service within the past 6 months. Requires authorization with scoped OAuth using `incidents.read`. Only available with Event Intelligence or Digital Operations plans.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The identifier of the service or incident for which past incidents are to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API using the 'Accept' header for versioning control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specifies the content type of the response. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "results_limit", + "required": false, + "description": "Specify the number of past incidents to be returned.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results to be returned in the response." + }, + "inferrable": true, + "http_endpoint_parameter_name": "limit" + }, + { + "name": "include_total_count", + "required": false, + "description": "Set to true to include the total number of past incidents in the response. Default is false for faster performance.", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in the response body is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated with the total number of Past Incidents.\n" + }, + "inferrable": true, + "http_endpoint_parameter_name": "total" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getPastIncidents'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/incidents/{id}/past_incidents", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "limit", + "tool_parameter_name": "results_limit", + "description": "The number of results to be returned in the response.", + "value_schema": { + "val_type": "integer", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The number of results to be returned in the response." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "total", + "tool_parameter_name": "include_total_count", + "description": "By default the `total` field in the response body is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated with the total number of Past Incidents.\n", + "value_schema": { + "val_type": "boolean", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "By default the `total` field in the response body is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated with the total number of Past Incidents.\n" + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveServiceCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveServiceCacheVariable.json new file mode 100644 index 00000000..09d9dcd7 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RetrieveServiceCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "RetrieveServiceCacheVariable", + "fully_qualified_name": "PagerdutyApi.RetrieveServiceCacheVariable@0.1.0", + "description": "Retrieve data for an external cache variable in event orchestration.\n\nUse this tool to get data stored in an external cache variable for service event orchestration. Useful for retrieving string, number, or boolean values used in orchestration rules.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_identifier", + "required": true, + "description": "The unique identifier for the service. Required to retrieve cache variable data.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The unique identifier for a Cache Variable. Use this to specify which external data cache variable you want to retrieve for service event orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the API version using the 'Accept' header. This is crucial for version control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set to 'application/json' to specify the data format for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getExternalDataCacheVarDataOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_identifier", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RevokeOauthDelegations.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RevokeOauthDelegations.json new file mode 100644 index 00000000..9e9dc059 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/RevokeOauthDelegations.json @@ -0,0 +1,211 @@ +{ + "name": "RevokeOauthDelegations", + "fully_qualified_name": "PagerdutyApi.RevokeOauthDelegations@0.1.0", + "description": "Revoke all OAuth delegations for specified criteria.\n\nThis tool deletes OAuth delegations, revoking app access for users on PagerDuty. It's used when there's a need to log users out from apps or web sessions, requiring reauthorization for future access.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "user_identifier", + "required": true, + "description": "The unique ID of the user whose OAuth delegations are to be revoked.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the user for whom this request is applicable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "user_id" + }, + { + "name": "delegation_type", + "required": true, + "description": "Specifies OAuth delegations to target: 'mobile' or 'web'. Multiple values can be separated by commas.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "mobile", + "web" + ], + "properties": null, + "inner_properties": null, + "description": "The type of OAuth delegations this request should target. Allowed values are 'mobile' (to sign users out of the mobile app) and 'web' (to sign users out of the web app). You can pass one or more types in, separated by commas (e.g., type=web,mobile)." + }, + "inferrable": true, + "http_endpoint_parameter_name": "type" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The versioning header used to specify the API version. Typically a format like 'application/vnd.pagerduty+json;version=2'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the type of content being sent. Only 'application/json' is accepted for this API.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'deleteOauthDelegations'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/oauth_delegations", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "user_id", + "tool_parameter_name": "user_identifier", + "description": "The ID of the user for whom this request is applicable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the user for whom this request is applicable." + }, + "accepted_as": "query", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "type", + "tool_parameter_name": "delegation_type", + "description": "The type of OAuth delegations this request should target. Allowed values are 'mobile' (to sign users out of the mobile app) and 'web' (to sign users out of the web app). You can pass one or more types in, separated by commas (e.g., type=web,mobile).", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "mobile", + "web" + ], + "properties": null, + "inner_properties": null, + "description": "The type of OAuth delegations this request should target. Allowed values are 'mobile' (to sign users out of the mobile app) and 'web' (to sign users out of the web app). You can pass one or more types in, separated by commas (e.g., type=web,mobile)." + }, + "accepted_as": "query", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/SendChangeEvent.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/SendChangeEvent.json new file mode 100644 index 00000000..86c9bcd6 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/SendChangeEvent.json @@ -0,0 +1,139 @@ +{ + "name": "SendChangeEvent", + "fully_qualified_name": "PagerdutyApi.SendChangeEvent@0.1.0", + "description": "Send change events to Pagerduty's Events API.\n\nUse this tool to log or send change events to Pagerduty's Events API. It should be called whenever a change event needs to be recorded in Pagerduty's system.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "accept_header_version", + "required": true, + "description": "The `Accept` header used for versioning the API request. Specify the API version required.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The MIME type of the request body. Should always be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'createChangeEvent'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/change_events", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ShowServiceCustomField.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ShowServiceCustomField.json new file mode 100644 index 00000000..77a8645f --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/ShowServiceCustomField.json @@ -0,0 +1,209 @@ +{ + "name": "ShowServiceCustomField", + "fully_qualified_name": "PagerdutyApi.ShowServiceCustomField@0.1.0", + "description": "Retrieve detailed info about a custom field for a service.\n\nCall this tool to get detailed information about a specific custom field associated with a service. It requires the custom field ID and is intended for use cases where understanding or managing service configurations is needed.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "custom_field_id", + "required": true, + "description": "The unique identifier for the custom field to be retrieved.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "inferrable": true, + "http_endpoint_parameter_name": "field_id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specifies the version of the API to use for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_header", + "required": true, + "description": "The format of the request body. Must be set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + }, + { + "name": "include_additional_details", + "required": false, + "description": "Specifies additional details to include, such as field options.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "inferrable": true, + "http_endpoint_parameter_name": "include[]" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'getServiceCustomField'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/services/custom_fields/{field_id}", + "http_method": "GET", + "headers": {}, + "parameters": [ + { + "name": "include[]", + "tool_parameter_name": "include_additional_details", + "description": "Array of additional details to include.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "field_options" + ], + "properties": null, + "inner_properties": null, + "description": "Array of additional details to include." + }, + "accepted_as": "query", + "required": false, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "field_id", + "tool_parameter_name": "custom_field_id", + "description": "The ID of the field.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the field." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_header", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/SubscribeToBusinessService.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/SubscribeToBusinessService.json new file mode 100644 index 00000000..320392cc --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/SubscribeToBusinessService.json @@ -0,0 +1,135 @@ +{ + "name": "SubscribeToBusinessService", + "fully_qualified_name": "PagerdutyApi.SubscribeToBusinessService@0.1.0", + "description": "Subscribe an account to a PagerDuty business service.\n\nInitiates a subscription for your account to a specified PagerDuty business service, requiring the 'subscribers.write' permission scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier of the business service to subscribe to.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specifies the API version required for the request. Use the appropriate version string.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'createBusinessServiceAccountSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/{id}/account_subscription", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/TestWebhookSubscription.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/TestWebhookSubscription.json new file mode 100644 index 00000000..d614b98e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/TestWebhookSubscription.json @@ -0,0 +1,135 @@ +{ + "name": "TestWebhookSubscription", + "fully_qualified_name": "PagerdutyApi.TestWebhookSubscription@0.1.0", + "description": "Test a webhook subscription with a ping event.\n\nThis tool fires a test event against a specified webhook subscription by sending a `pagey.ping` event to the target destination. It helps verify the correct configuration of the webhook subscription. Useful for ensuring that webhook endpoints are properly set up and can receive events. Requires `webhook_subscriptions.write` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The unique identifier for the webhook subscription resource to be tested.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_versioning_header", + "required": true, + "description": "Specify the API version as a string using the `Accept` header for version control.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'testWebhookSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/webhook_subscriptions/{id}/ping", + "http_method": "POST", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UnsubscribeFromBusinessService.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UnsubscribeFromBusinessService.json new file mode 100644 index 00000000..2c936d2e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UnsubscribeFromBusinessService.json @@ -0,0 +1,135 @@ +{ + "name": "UnsubscribeFromBusinessService", + "fully_qualified_name": "PagerdutyApi.UnsubscribeFromBusinessService@0.1.0", + "description": "Unsubscribe an account from a business service.\n\nThis tool is used to remove an account's subscription from a specified business service in Pagerduty. It should be called when you want to unsubscribe your account. Ensure the necessary OAuth permissions (`subscribers.write`) are in place.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "resource_id", + "required": true, + "description": "The ID of the resource to unsubscribe from. This identifies the specific business service in Pagerduty.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "versioning_header", + "required": true, + "description": "Specify the version of the API to accept. This is used for versioning the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'removeBusinessServiceAccountSubscription'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/business_services/{id}/account_subscription", + "http_method": "DELETE", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "versioning_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateCacheVariableData.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateCacheVariableData.json new file mode 100644 index 00000000..d1944ed1 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateCacheVariableData.json @@ -0,0 +1,205 @@ +{ + "name": "UpdateCacheVariableData", + "fully_qualified_name": "PagerdutyApi.UpdateCacheVariableData@0.1.0", + "description": "Update cache variable data in Global Event Orchestration.\n\nUse this tool to update the data for an external cache variable in a Global Event Orchestration. It is useful for storing string, number, or boolean values that can be used in Event Orchestration rules. Requires `event_orchestrations.write` OAuth scope.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique ID of the Event Orchestration to update the cache variable for.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The unique identifier for the Cache Variable to update.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "Specify the API version using the 'Accept' header as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Indicate the media type of the resource. Use 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'updateExternalDataCacheVarDataOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}/data", + "http_method": "PUT", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateEventCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateEventCacheVariable.json new file mode 100644 index 00000000..dd20078c --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateEventCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "UpdateEventCacheVariable", + "fully_qualified_name": "PagerdutyApi.UpdateEventCacheVariable@0.1.0", + "description": "Update a cache variable for a global event orchestration.\n\nThis tool updates a Cache Variable for a Global Event Orchestration in Pagerduty. Use it to store event data that can be utilized in event orchestration rules. Appropriate for conditions or actions within orchestrations. Requires OAuth permission: `event_orchestrations.write`. Useful when modifying event handling rules.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "event_orchestration_id", + "required": true, + "description": "The unique identifier for an Event Orchestration to be updated.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The ID of the Cache Variable to update for the event orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "accept_header", + "required": true, + "description": "Specifies the version of the API to be used during the request. Set this to ensure compatibility.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "The media type of the request body. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'updateCacheVarOnGlobalOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/{id}/cache_variables/{cache_variable_id}", + "http_method": "PUT", + "headers": {}, + "parameters": [ + { + "name": "id", + "tool_parameter_name": "event_orchestration_id", + "description": "The ID of an Event Orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of an Event Orchestration." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateExternalDataCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateExternalDataCacheVariable.json new file mode 100644 index 00000000..8506746e --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateExternalDataCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "UpdateExternalDataCacheVariable", + "fully_qualified_name": "PagerdutyApi.UpdateExternalDataCacheVariable@0.1.0", + "description": "Update external data cache variable for a service orchestration.\n\nThis tool updates the data for an external_data type Cache Variable on a Service Event Orchestration in Pagerduty. It allows storing string, number, or boolean values, which can be used in event orchestration rules. Use this when you need to change the cache variable data associated with a service.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_id", + "required": true, + "description": "The unique identifier for the service to be updated.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The ID of the cache variable to be updated in the service orchestration.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "Specify the version of the API to use by setting the Accept header value. This controls versioning for the request.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Set the content type for the request. Must be 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'updateExternalDataCacheVarDataOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}/data", + "http_method": "PUT", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_id", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateServiceEventCacheVariable.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateServiceEventCacheVariable.json new file mode 100644 index 00000000..2742200a --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateServiceEventCacheVariable.json @@ -0,0 +1,205 @@ +{ + "name": "UpdateServiceEventCacheVariable", + "fully_qualified_name": "PagerdutyApi.UpdateServiceEventCacheVariable@0.1.0", + "description": "Update a cache variable for a service event orchestration.\n\nUse this tool to update cache variables within a service event orchestration on Pagerduty. Ideal for maintaining and manipulating event data to match specific orchestration rules and conditions.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "service_identifier", + "required": true, + "description": "The unique identifier for the service whose cache variable is to be updated.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "inferrable": true, + "http_endpoint_parameter_name": "service_id" + }, + { + "name": "cache_variable_id", + "required": true, + "description": "The unique identifier for the cache variable you want to update.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "inferrable": true, + "http_endpoint_parameter_name": "cache_variable_id" + }, + { + "name": "accept_version_header", + "required": true, + "description": "A string representing the version of the API to use, specified in the `Accept` header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type", + "required": true, + "description": "Specify the content type of the request header. Typically set to 'application/json'.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'updateCacheVarOnServiceOrch'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/event_orchestrations/services/{service_id}/cache_variables/{cache_variable_id}", + "http_method": "PUT", + "headers": {}, + "parameters": [ + { + "name": "service_id", + "tool_parameter_name": "service_identifier", + "description": "The service ID", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The service ID" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "cache_variable_id", + "tool_parameter_name": "cache_variable_id", + "description": "The ID of a Cache Variable.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of a Cache Variable." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_version_header", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateWorkflowIntegrationConnection.json b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateWorkflowIntegrationConnection.json new file mode 100644 index 00000000..13f12cf1 --- /dev/null +++ b/toolkits/pagerduty_api/arcade_pagerduty_api/wrapper_tools/UpdateWorkflowIntegrationConnection.json @@ -0,0 +1,205 @@ +{ + "name": "UpdateWorkflowIntegrationConnection", + "fully_qualified_name": "PagerdutyApi.UpdateWorkflowIntegrationConnection@0.1.0", + "description": "Update an existing Workflow Integration Connection.\n\nThis tool updates an existing Workflow Integration Connection in Pagerduty. It requires the `workflow_integrations:connections.write` permission scope and is used when modifications to an integration connection are needed.", + "toolkit": { + "name": "ArcadePagerdutyApi", + "description": null, + "version": "0.1.0" + }, + "input": { + "parameters": [ + { + "name": "workflow_integration_id", + "required": true, + "description": "The ID of the Workflow Integration to be updated.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "inferrable": true, + "http_endpoint_parameter_name": "integration_id" + }, + { + "name": "resource_id", + "required": true, + "description": "The ID of the resource to update in the workflow integration connection.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "inferrable": true, + "http_endpoint_parameter_name": "id" + }, + { + "name": "accept_header_version", + "required": true, + "description": "The `Accept` header for specifying the API version. Used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "inferrable": true, + "http_endpoint_parameter_name": "Accept" + }, + { + "name": "content_type_format", + "required": true, + "description": "Specify the media type of the resource. Only 'application/json' is supported.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "inferrable": true, + "http_endpoint_parameter_name": "Content-Type" + } + ] + }, + "output": { + "description": "Response from the API endpoint 'updateWorkflowIntegrationConnection'.", + "available_modes": [ + "value", + "error", + "null" + ], + "value_schema": { + "val_type": "json", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": null + } + }, + "requirements": { + "authorization": { + "provider_id": "arcade-pagerduty", + "provider_type": "oauth2", + "id": null, + "oauth2": null + }, + "secrets": null, + "metadata": null + }, + "deprecation_message": null, + "metadata": { + "object_type": "api_wrapper_tool", + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the Pagerduty API." + }, + "http_endpoint": { + "metadata": { + "object_type": "http_endpoint", + "version": "1.0.0", + "description": "" + }, + "url": "https://api.pagerduty.com/workflows/integrations/{integration_id}/connections/{id}", + "http_method": "PATCH", + "headers": {}, + "parameters": [ + { + "name": "integration_id", + "tool_parameter_name": "workflow_integration_id", + "description": "The ID of the Workflow Integration", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the Workflow Integration" + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "id", + "tool_parameter_name": "resource_id", + "description": "The ID of the resource.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The ID of the resource." + }, + "accepted_as": "path", + "required": true, + "deprecated": false, + "default": null, + "documentation_urls": [] + }, + { + "name": "Accept", + "tool_parameter_name": "accept_header_version", + "description": "The `Accept` header is used as a versioning header.", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": null, + "properties": null, + "inner_properties": null, + "description": "The `Accept` header is used as a versioning header." + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/vnd.pagerduty+json;version=2", + "documentation_urls": [] + }, + { + "name": "Content-Type", + "tool_parameter_name": "content_type_format", + "description": "", + "value_schema": { + "val_type": "string", + "inner_val_type": null, + "enum": [ + "application/json" + ], + "properties": null, + "inner_properties": null, + "description": "" + }, + "accepted_as": "header", + "required": true, + "deprecated": false, + "default": "application/json", + "documentation_urls": [] + } + ], + "documentation_urls": [], + "secrets": [ + { + "arcade_key": "auth_token", + "parameter_name": "Authorization", + "accepted_as": "header", + "formatted_value": "Bearer {authorization}", + "description": "The OAuth token to use for authentication.", + "is_auth_token": true + } + ] + } +} diff --git a/toolkits/pagerduty_api/pyproject.toml b/toolkits/pagerduty_api/pyproject.toml new file mode 100644 index 00000000..ffa09c9e --- /dev/null +++ b/toolkits/pagerduty_api/pyproject.toml @@ -0,0 +1,61 @@ +[build-system] +requires = [ "hatchling",] +build-backend = "hatchling.build" + +[project] +name = "arcade_pagerduty_api" +version = "0.1.0" +description = "Tools that enable LLMs to interact directly with the Pagerduty API." +requires-python = ">=3.10" +dependencies = [ + "arcade-tdk>=2.0.0,<3.0.0", + "httpx[http2]>=0.27.2,<1.0.0", +] + +[[project.authors]] +email = "support@arcade.dev" + +[project.optional-dependencies] +dev = [ + "arcade-mcp[all]>=1.0.0rc2,<3.0.0", + "arcade-serve>=2.2.0rc2,<3.0.0", + "pytest>=8.3.0,<8.4.0", + "pytest-cov>=4.0.0,<4.1.0", + "pytest-mock>=3.11.1,<3.12.0", + "pytest-asyncio>=0.24.0,<0.25.0", + "mypy>=1.5.1,<1.6.0", + "pre-commit>=3.4.0,<3.5.0", + "tox>=4.11.1,<4.12.0", + "ruff>=0.7.4,<0.8.0", + "httpx[http2]>=0.27.2,<1.0.0", +] + +# Tell Arcade.dev that this package is a toolkit +[project.entry-points.arcade_toolkits] +toolkit_name = "arcade_pagerduty_api" + +# Use local path sources for arcade libs when working locally +[tool.uv.sources] +arcade-mcp = { path = "../../", editable = true } +arcade-serve = { path = "../../libs/arcade-serve/", editable = true } +arcade-tdk = { path = "../../libs/arcade-tdk/", editable = true } +[tool.mypy] +files = [ "arcade_pagerduty_api/**/*.py",] +python_version = "3.10" +disallow_untyped_defs = "True" +disallow_any_unimported = "True" +no_implicit_optional = "True" +check_untyped_defs = "True" +warn_return_any = "True" +warn_unused_ignores = "True" +show_error_codes = "True" +ignore_missing_imports = "True" + +[tool.pytest.ini_options] +testpaths = [ "tests",] + +[tool.coverage.report] +skip_empty = true + +[tool.hatch.build.targets.wheel] +packages = [ "arcade_pagerduty_api",] diff --git a/toolkits/pagerduty_api/tests/__init__.py b/toolkits/pagerduty_api/tests/__init__.py new file mode 100644 index 00000000..e69de29b