{
  "service": "recharge",
  "displayName": "Recharge",
  "categories": [
    "Finance",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "recharge_api_token",
      "description": "Recharge API token used with the X-Recharge-Access-Token header. Create it in the Recharge merchant portal under Tools & apps > API tokens: https://docs.getrecharge.com/docs/recharge-api-key.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://getrecharge.com/",
  "actions": [
    {
      "id": "recharge.get_charge",
      "service": "recharge",
      "name": "get_charge",
      "description": "Retrieve one Recharge charge by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Path and include parameters for retrieving one Recharge resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "charge": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Recharge charge."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recharge charge."
      }
    },
    {
      "id": "recharge.get_customer",
      "service": "recharge",
      "name": "get_customer",
      "description": "Retrieve one Recharge customer by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Path and include parameters for retrieving one Recharge resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Recharge customer."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recharge customer."
      }
    },
    {
      "id": "recharge.get_order",
      "service": "recharge",
      "name": "get_order",
      "description": "Retrieve one Recharge order by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Path and include parameters for retrieving one Recharge resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "order": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Recharge order."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recharge order."
      }
    },
    {
      "id": "recharge.get_product",
      "service": "recharge",
      "name": "get_product",
      "description": "Retrieve one Recharge product by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Path and include parameters for retrieving one Recharge resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "product": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Recharge product."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recharge product."
      }
    },
    {
      "id": "recharge.get_subscription",
      "service": "recharge",
      "name": "get_subscription",
      "description": "Retrieve one Recharge subscription by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Path and include parameters for retrieving one Recharge resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "subscription": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Recharge subscription."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recharge subscription."
      }
    },
    {
      "id": "recharge.list_charges",
      "service": "recharge",
      "name": "list_charges",
      "description": "List Recharge charges with cursor pagination and common filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "The number of records to request. Recharge allows up to 250."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge cursor returned as next_cursor or previous_cursor."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Recharge resource ID."
            },
            "description": "Recharge resource IDs to request as a comma-separated ids query parameter."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge sort_by expression, such as id-desc."
          },
          "createdAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "createdAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "addressId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "discountCode": {
            "type": "string",
            "minLength": 1,
            "description": "Discount code to filter charges by."
          },
          "discountId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "externalOrderId": {
            "type": "string",
            "minLength": 1,
            "description": "External ecommerce order ID to filter charges by."
          },
          "purchaseItemId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "scheduledAt": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "scheduledAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "scheduledAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "processedAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "processedAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge status filter value or comma-separated status list."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Recharge charges."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "charges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Recharge resource object returned by the API."
            },
            "description": "Charges returned by Recharge."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the next page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the previous page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recharge charges."
      }
    },
    {
      "id": "recharge.list_customers",
      "service": "recharge",
      "name": "list_customers",
      "description": "List Recharge customers with cursor pagination and common filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "The number of records to request. Recharge allows up to 250."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge cursor returned as next_cursor or previous_cursor."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Recharge resource ID."
            },
            "description": "Recharge resource IDs to request as a comma-separated ids query parameter."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge sort_by expression, such as id-desc."
          },
          "createdAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "createdAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "email": {
            "type": "string",
            "description": "Customer email address to filter by.",
            "format": "email"
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Recharge customers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Recharge resource object returned by the API."
            },
            "description": "Customers returned by Recharge."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the next page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the previous page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recharge customers."
      }
    },
    {
      "id": "recharge.list_orders",
      "service": "recharge",
      "name": "list_orders",
      "description": "List Recharge orders with cursor pagination and common filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "The number of records to request. Recharge allows up to 250."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge cursor returned as next_cursor or previous_cursor."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Recharge resource ID."
            },
            "description": "Recharge resource IDs to request as a comma-separated ids query parameter."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge sort_by expression, such as id-desc."
          },
          "createdAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "createdAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "addressId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "chargeId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "externalOrderId": {
            "type": "string",
            "minLength": 1,
            "description": "External ecommerce order ID to filter by."
          },
          "processedAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "processedAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge status filter value or comma-separated status list."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Recharge orders."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Recharge resource object returned by the API."
            },
            "description": "Orders returned by Recharge."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the next page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the previous page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recharge orders."
      }
    },
    {
      "id": "recharge.list_products",
      "service": "recharge",
      "name": "list_products",
      "description": "List Recharge products with cursor pagination and common filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "The number of records to request. Recharge allows up to 250."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge cursor returned as next_cursor or previous_cursor."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Recharge resource ID."
            },
            "description": "Recharge resource IDs to request as a comma-separated ids query parameter."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge sort_by expression, such as id-desc."
          },
          "createdAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "createdAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "collectionId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "externalProductId": {
            "type": "string",
            "minLength": 1,
            "description": "External catalog product ID to filter by."
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "Product title to filter by."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Recharge products."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Recharge resource object returned by the API."
            },
            "description": "Products returned by Recharge."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the next page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the previous page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recharge products."
      }
    },
    {
      "id": "recharge.list_subscriptions",
      "service": "recharge",
      "name": "list_subscriptions",
      "description": "List Recharge subscriptions with cursor pagination and common filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "The number of records to request. Recharge allows up to 250."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge cursor returned as next_cursor or previous_cursor."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Recharge include value."
            },
            "description": "Related Recharge resources to include, joined as a comma-separated include query parameter."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Recharge resource ID."
            },
            "description": "Recharge resource IDs to request as a comma-separated ids query parameter."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge sort_by expression, such as id-desc."
          },
          "createdAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "createdAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMin": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "updatedAtMax": {
            "type": "string",
            "description": "A Recharge date or datetime filter value."
          },
          "addressId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge resource ID."
          },
          "productTitle": {
            "type": "string",
            "minLength": 1,
            "description": "Subscription product title to filter by."
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "The Recharge status filter value or comma-separated status list."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Recharge subscriptions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Recharge resource object returned by the API."
            },
            "description": "Subscriptions returned by Recharge."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the next page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor for the previous page, when Recharge returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Recharge API response."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recharge subscriptions."
      }
    }
  ]
}
