{
  "service": "lemon_squeezy",
  "displayName": "Lemon Squeezy",
  "categories": [
    "Productivity",
    "Finance"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "lsq_...",
      "description": "Lemon Squeezy API key used with the Authorization Bearer header. Create it in Settings > API: https://docs.lemonsqueezy.com/guides/developer-guide/getting-started",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.lemonsqueezy.com",
  "actions": [
    {
      "id": "lemon_squeezy.create_customer",
      "service": "lemon_squeezy",
      "name": "create_customer",
      "description": "Create a Lemon Squeezy customer for the specified store.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Full name of the customer."
          },
          "email": {
            "type": "string",
            "description": "Email address of the customer.",
            "format": "email"
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "description": "City of the customer."
          },
          "region": {
            "type": "string",
            "minLength": 1,
            "description": "Region or state of the customer."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country code of the customer."
          }
        },
        "additionalProperties": false,
        "required": [
          "storeId",
          "name",
          "email"
        ],
        "description": "Input for creating a customer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The created Lemon Squeezy customer."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "customer"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    },
    {
      "id": "lemon_squeezy.create_webhook",
      "service": "lemon_squeezy",
      "name": "create_webhook",
      "description": "Create a Lemon Squeezy webhook for the specified store.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "url": {
            "type": "string",
            "description": "Webhook endpoint URL.",
            "format": "uri"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "customer_updated",
                "order_created",
                "order_refunded",
                "subscription_created",
                "subscription_updated",
                "subscription_cancelled",
                "subscription_resumed",
                "subscription_expired",
                "subscription_paused",
                "subscription_unpaused",
                "subscription_payment_success",
                "subscription_payment_failed",
                "subscription_payment_recovered",
                "subscription_payment_refunded",
                "license_key_created",
                "license_key_updated",
                "affiliate_activated"
              ],
              "description": "A Lemon Squeezy webhook event type."
            },
            "description": "Webhook events that should trigger deliveries.",
            "minItems": 1
          },
          "secret": {
            "type": "string",
            "minLength": 1,
            "description": "Signing secret used to verify webhook deliveries."
          }
        },
        "additionalProperties": false,
        "description": "Input for creating a webhook."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "webhook": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The created Lemon Squeezy webhook."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhook"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    },
    {
      "id": "lemon_squeezy.delete_webhook",
      "service": "lemon_squeezy",
      "name": "delete_webhook",
      "description": "Delete a Lemon Squeezy webhook by ID. The returned acknowledgement is generated locally because Lemon Squeezy responds with 204 No Content.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "webhookId": {
            "type": "string",
            "minLength": 1,
            "description": "The Lemon Squeezy webhook ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for deleting a webhook."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the delete request completed successfully."
          },
          "message": {
            "type": "string",
            "description": "Deletion acknowledgement because Lemon Squeezy returns 204 No Content."
          }
        },
        "additionalProperties": false,
        "description": "Connector-generated webhook deletion acknowledgement."
      }
    },
    {
      "id": "lemon_squeezy.list_customers",
      "service": "lemon_squeezy",
      "name": "list_customers",
      "description": "List Lemon Squeezy customers with optional store or email filtering.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "email": {
            "type": "string",
            "description": "Only return customers for this email.",
            "format": "email"
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to return."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of items to return per page."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lemon Squeezy JSON:API resource object."
            },
            "description": "Customers returned by Lemon Squeezy."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "customers"
        ],
        "description": "Lemon Squeezy list response."
      }
    },
    {
      "id": "lemon_squeezy.list_orders",
      "service": "lemon_squeezy",
      "name": "list_orders",
      "description": "List Lemon Squeezy orders with optional store, email, or order-number filtering.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "userEmail": {
            "type": "string",
            "description": "Only return orders whose user_email matches this address.",
            "format": "email"
          },
          "orderNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "Only return the order with this order number."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to return."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of items to return per page."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lemon Squeezy JSON:API resource object."
            },
            "description": "Orders returned by Lemon Squeezy."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "orders"
        ],
        "description": "Lemon Squeezy list response."
      }
    },
    {
      "id": "lemon_squeezy.list_products",
      "service": "lemon_squeezy",
      "name": "list_products",
      "description": "List Lemon Squeezy products with optional store filtering and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to return."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of items to return per page."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lemon Squeezy JSON:API resource object."
            },
            "description": "Products returned by Lemon Squeezy."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "products"
        ],
        "description": "Lemon Squeezy list response."
      }
    },
    {
      "id": "lemon_squeezy.list_stores",
      "service": "lemon_squeezy",
      "name": "list_stores",
      "description": "List stores that belong to the authenticated Lemon Squeezy account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "stores": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lemon Squeezy JSON:API resource object."
            },
            "description": "Stores returned by Lemon Squeezy."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "stores"
        ],
        "description": "Lemon Squeezy list response."
      }
    },
    {
      "id": "lemon_squeezy.list_subscriptions",
      "service": "lemon_squeezy",
      "name": "list_subscriptions",
      "description": "List Lemon Squeezy subscriptions with optional filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "orderId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy order ID."
          },
          "orderItemId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy order item ID."
          },
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy product ID."
          },
          "variantId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy variant ID."
          },
          "userEmail": {
            "type": "string",
            "description": "Only return subscriptions whose user_email matches this address.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Only return subscriptions with this status."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to return."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of items to return per page."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lemon Squeezy JSON:API resource object."
            },
            "description": "Subscriptions returned by Lemon Squeezy."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "subscriptions"
        ],
        "description": "Lemon Squeezy list response."
      }
    },
    {
      "id": "lemon_squeezy.list_variants",
      "service": "lemon_squeezy",
      "name": "list_variants",
      "description": "List Lemon Squeezy variants with optional product filtering and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy product ID."
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "draft",
              "published"
            ],
            "description": "Only return variants with this status."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to return."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of items to return per page."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "variants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lemon Squeezy JSON:API resource object."
            },
            "description": "Variants returned by Lemon Squeezy."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "variants"
        ],
        "description": "Lemon Squeezy list response."
      }
    },
    {
      "id": "lemon_squeezy.list_webhooks",
      "service": "lemon_squeezy",
      "name": "list_webhooks",
      "description": "List Lemon Squeezy webhooks with optional store filtering and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to return."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of items to return per page."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "webhooks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lemon Squeezy JSON:API resource object."
            },
            "description": "Webhooks returned by Lemon Squeezy."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhooks"
        ],
        "description": "Lemon Squeezy list response."
      }
    },
    {
      "id": "lemon_squeezy.retrieve_authenticated_user",
      "service": "lemon_squeezy",
      "name": "retrieve_authenticated_user",
      "description": "Retrieve the currently authenticated Lemon Squeezy user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The authenticated Lemon Squeezy user."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "user"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    },
    {
      "id": "lemon_squeezy.retrieve_customer",
      "service": "lemon_squeezy",
      "name": "retrieve_customer",
      "description": "Retrieve a single Lemon Squeezy customer by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "The Lemon Squeezy customer ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a single customer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The requested Lemon Squeezy customer."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "customer"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    },
    {
      "id": "lemon_squeezy.retrieve_store",
      "service": "lemon_squeezy",
      "name": "retrieve_store",
      "description": "Retrieve a single Lemon Squeezy store by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a single store."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "store": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The requested Lemon Squeezy store."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "store"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    },
    {
      "id": "lemon_squeezy.retrieve_webhook",
      "service": "lemon_squeezy",
      "name": "retrieve_webhook",
      "description": "Retrieve a single Lemon Squeezy webhook by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "webhookId": {
            "type": "string",
            "minLength": 1,
            "description": "The Lemon Squeezy webhook ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a single webhook."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "webhook": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The requested Lemon Squeezy webhook."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhook"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    },
    {
      "id": "lemon_squeezy.update_customer",
      "service": "lemon_squeezy",
      "name": "update_customer",
      "description": "Update a Lemon Squeezy customer by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "The Lemon Squeezy customer ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Updated full name of the customer."
          },
          "email": {
            "type": "string",
            "description": "Updated email address of the customer.",
            "format": "email"
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "description": "Updated city of the customer."
          },
          "region": {
            "type": "string",
            "minLength": 1,
            "description": "Updated region or state of the customer."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "Updated ISO 3166-1 alpha-2 country code of the customer."
          }
        },
        "additionalProperties": false,
        "required": [
          "customerId"
        ],
        "description": "Input for updating a customer.",
        "anyOf": [
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "email"
            ]
          },
          {
            "required": [
              "city"
            ]
          },
          {
            "required": [
              "region"
            ]
          },
          {
            "required": [
              "country"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The updated Lemon Squeezy customer."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "customer"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    },
    {
      "id": "lemon_squeezy.update_webhook",
      "service": "lemon_squeezy",
      "name": "update_webhook",
      "description": "Update a Lemon Squeezy webhook by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "webhookId": {
            "type": "string",
            "minLength": 1,
            "description": "The Lemon Squeezy webhook ID."
          },
          "storeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Lemon Squeezy store ID."
          },
          "url": {
            "type": "string",
            "description": "Updated webhook endpoint URL.",
            "format": "uri"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "customer_updated",
                "order_created",
                "order_refunded",
                "subscription_created",
                "subscription_updated",
                "subscription_cancelled",
                "subscription_resumed",
                "subscription_expired",
                "subscription_paused",
                "subscription_unpaused",
                "subscription_payment_success",
                "subscription_payment_failed",
                "subscription_payment_recovered",
                "subscription_payment_refunded",
                "license_key_created",
                "license_key_updated",
                "affiliate_activated"
              ],
              "description": "A Lemon Squeezy webhook event type."
            },
            "description": "Updated webhook events.",
            "minItems": 1
          },
          "secret": {
            "type": "string",
            "minLength": 1,
            "description": "Updated signing secret for webhook deliveries."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhookId"
        ],
        "description": "Input for updating a webhook.",
        "anyOf": [
          {
            "required": [
              "storeId"
            ]
          },
          {
            "required": [
              "url"
            ]
          },
          {
            "required": [
              "events"
            ]
          },
          {
            "required": [
              "secret"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "webhook": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The updated Lemon Squeezy webhook."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Top-level metadata returned by Lemon Squeezy."
          },
          "links": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Document link URL."
            },
            "description": "Top-level document links returned by Lemon Squeezy."
          },
          "jsonapi": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "JSON:API metadata returned by Lemon Squeezy."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhook"
        ],
        "description": "Lemon Squeezy single-resource response."
      }
    }
  ]
}
