{
  "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
      }
    ]
  }
}
