{
  "openapi": "3.0.1",
  "info": {
    "title": "Google calendar Cancel Appointment (MCP Tool)",
    "description": "Pairs with the Apify \"Actors MCP server\" to give your AI Agent access to \"cancel event\" on Google Calendar. The user provides the booking email, and the appointment gets automatically cancelled. Use with \"sambehnke/google-calendar-create-event\" to SUPERCHARGE your agent!",
    "version": "0.0",
    "x-build-id": "HDY5F8FoJmQy6d20J"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sambehnke~Googlecalendar-cancel-appointment-tool/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sambehnke-Googlecalendar-cancel-appointment-tool",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/sambehnke~Googlecalendar-cancel-appointment-tool/runs": {
      "post": {
        "operationId": "runs-sync-sambehnke-Googlecalendar-cancel-appointment-tool",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/sambehnke~Googlecalendar-cancel-appointment-tool/run-sync": {
      "post": {
        "operationId": "run-sync-sambehnke-Googlecalendar-cancel-appointment-tool",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "googleAccessToken": {
            "title": "🔑 Google Access Token",
            "type": "string",
            "description": "Your Google OAuth access token (starts with 'ya29.'). Configure once in Apify Console, leave empty for Retell.ai calls."
          },
          "googleRefreshToken": {
            "title": "🔄 Google Refresh Token",
            "type": "string",
            "description": "Your Google OAuth refresh token (starts with '1//'). Configure once in Apify Console, leave empty for Retell.ai calls."
          },
          "googleClientId": {
            "title": "🆔 Google Client ID",
            "type": "string",
            "description": "Your Google OAuth Client ID (ends with '.googleusercontent.com'). Configure once in Apify Console, leave empty for Retell.ai calls."
          },
          "googleClientSecret": {
            "title": "🔐 Google Client Secret",
            "type": "string",
            "description": "Your Google OAuth Client Secret. Configure once in Apify Console, leave empty for Retell.ai calls."
          },
          "customerName": {
            "title": "👤 Customer Name",
            "type": "string",
            "description": "Customer's full name (used to search for events)"
          },
          "customerPhone": {
            "title": "📞 Customer Phone",
            "type": "string",
            "description": "Customer's phone number (used to search for events)"
          },
          "customerEmail": {
            "title": "📧 Customer Email",
            "type": "string",
            "description": "Customer's email address (used to search for events)"
          },
          "serviceType": {
            "title": "🛠️ Service Type",
            "type": "string",
            "description": "Type of service or appointment (used to search for events)"
          },
          "searchCriteria": {
            "title": "🔍 Event Search Criteria",
            "type": "object",
            "description": "Criteria to find the event(s) to cancel"
          },
          "eventId": {
            "title": "🆔 Event ID (Optional)",
            "type": "string",
            "description": "Specific Google Calendar Event ID to cancel (if known). If provided, search criteria will be ignored."
          },
          "calendarId": {
            "title": "📆 Calendar ID",
            "type": "string",
            "description": "Which calendar to search/cancel from. Use 'primary' for your main calendar, or enter a specific calendar ID.",
            "default": "primary"
          },
          "confirmationMode": {
            "title": "✅ Confirmation Mode",
            "enum": [
              "first",
              "all",
              "interactive"
            ],
            "type": "string",
            "description": "How to handle multiple matching events",
            "default": "first"
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}