{
  "service": "gumroad",
  "displayName": "Gumroad",
  "categories": [
    "Finance",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Access Token",
      "placeholder": "GUMROAD_ACCESS_TOKEN",
      "description": "Gumroad access token passed as the access_token parameter. Generate it from the official Gumroad API page while signed in: https://gumroad.com/api.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://gumroad.com",
  "actions": [
    {
      "id": "gumroad.get_current_user",
      "service": "gumroad",
      "name": "get_current_user",
      "description": "Retrieve the authenticated Gumroad user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to retrieve the authenticated Gumroad user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "user": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by Gumroad."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "user"
        ],
        "description": "Current Gumroad user response."
      }
    },
    {
      "id": "gumroad.get_product",
      "service": "gumroad",
      "name": "get_product",
      "description": "Retrieve one Gumroad product by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad resource ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "productId"
        ],
        "description": "Input for retrieving one Gumroad product."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "product": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by Gumroad."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "product"
        ],
        "description": "Single Gumroad product response."
      }
    },
    {
      "id": "gumroad.get_sale",
      "service": "gumroad",
      "name": "get_sale",
      "description": "Retrieve one Gumroad sale by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "saleId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad resource ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "saleId"
        ],
        "description": "Input for retrieving one Gumroad sale."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "sale": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by Gumroad."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "sale"
        ],
        "description": "Single Gumroad sale response."
      }
    },
    {
      "id": "gumroad.list_product_subscribers",
      "service": "gumroad",
      "name": "list_product_subscribers",
      "description": "List active subscribers for one Gumroad product.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad resource ID."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "Subscriber email address to filter by."
          },
          "paginated": {
            "type": "boolean",
            "description": "Whether Gumroad should limit the response to a paginated page."
          },
          "pageKey": {
            "type": "string",
            "minLength": 1,
            "description": "Page key returned by a previous subscriber list response."
          }
        },
        "additionalProperties": false,
        "required": [
          "productId"
        ],
        "description": "Input for listing active Gumroad subscribers for a product."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "subscribers": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Raw object returned by Gumroad."
            },
            "description": "Subscribers returned by Gumroad."
          },
          "next_page_url": {
            "anyOf": [
              {
                "type": "string",
                "description": "URL for the next subscribers page when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "next_page_key": {
            "anyOf": [
              {
                "type": "string",
                "description": "Page key to pass to the next list_product_subscribers request."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "subscribers",
          "next_page_url",
          "next_page_key"
        ],
        "description": "Gumroad product subscribers response."
      }
    },
    {
      "id": "gumroad.list_products",
      "service": "gumroad",
      "name": "list_products",
      "description": "List products owned by the authenticated Gumroad user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Gumroad products."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Raw object returned by Gumroad."
            },
            "description": "Products returned by Gumroad."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "products"
        ],
        "description": "Gumroad products list response."
      }
    },
    {
      "id": "gumroad.list_sales",
      "service": "gumroad",
      "name": "list_sales",
      "description": "List successful Gumroad sales with optional filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "Date filter in YYYY-MM-DD format."
          },
          "before": {
            "type": "string",
            "minLength": 1,
            "description": "Date filter in YYYY-MM-DD format."
          },
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad resource ID."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "Buyer email address to filter sales by."
          },
          "orderId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad order ID to filter sales by."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Customer name to filter sales by."
          },
          "licenseKey": {
            "type": "string",
            "minLength": 1,
            "description": "License key to filter sales by."
          },
          "pageKey": {
            "type": "string",
            "minLength": 1,
            "description": "Page key returned by a previous list_sales response."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Gumroad sales."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "sales": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Raw object returned by Gumroad."
            },
            "description": "Sales returned by Gumroad."
          },
          "next_page_url": {
            "anyOf": [
              {
                "type": "string",
                "description": "URL for the next sales page when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "next_page_key": {
            "anyOf": [
              {
                "type": "string",
                "description": "Page key to pass to the next list_sales request."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "sales",
          "next_page_url",
          "next_page_key"
        ],
        "description": "Gumroad sales list response."
      }
    },
    {
      "id": "gumroad.mark_sale_as_shipped",
      "service": "gumroad",
      "name": "mark_sale_as_shipped",
      "description": "Mark a Gumroad sale as shipped, optionally including a tracking URL.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "saleId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad resource ID."
          },
          "trackingUrl": {
            "type": "string",
            "description": "Tracking URL to attach to the shipment.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "saleId"
        ],
        "description": "Input for marking a Gumroad sale as shipped."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "sale": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by Gumroad."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "sale"
        ],
        "description": "Single Gumroad sale response."
      }
    },
    {
      "id": "gumroad.refund_sale",
      "service": "gumroad",
      "name": "refund_sale",
      "description": "Refund a Gumroad sale, optionally as a partial refund in cents.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "saleId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad resource ID."
          },
          "amountCents": {
            "type": "integer",
            "minimum": 1,
            "description": "Partial refund amount in the sale currency's smallest unit."
          }
        },
        "additionalProperties": false,
        "required": [
          "saleId"
        ],
        "description": "Input for refunding a Gumroad sale."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          },
          "sale": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by Gumroad."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "sale"
        ],
        "description": "Single Gumroad sale response."
      }
    },
    {
      "id": "gumroad.resend_sale_receipt",
      "service": "gumroad",
      "name": "resend_sale_receipt",
      "description": "Resend a Gumroad sale receipt to the buyer.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "saleId": {
            "type": "string",
            "minLength": 1,
            "description": "Gumroad resource ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "saleId"
        ],
        "description": "Input for resending a Gumroad sale receipt."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Gumroad reported that the request succeeded."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "Gumroad sale receipt resend response."
      }
    }
  ]
}
