{
  "service": "givebutter",
  "displayName": "Givebutter",
  "categories": [
    "Finance"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "GIVEBUTTER_API_KEY",
      "description": "Givebutter API key sent as a Bearer token in the Authorization header. Create and manage API keys in the Givebutter dashboard: https://dashboard.givebutter.com/",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://givebutter.com",
  "actions": [
    {
      "id": "givebutter.get_campaign",
      "service": "givebutter",
      "name": "get_campaign",
      "description": "Retrieve one Givebutter campaign by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "campaignId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Givebutter campaign ID."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Givebutter campaign ID."
              }
            ],
            "description": "The Givebutter campaign ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Givebutter campaign."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "campaign": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "campaign",
          "raw"
        ],
        "description": "The normalized Givebutter campaign response."
      }
    },
    {
      "id": "givebutter.get_chapter",
      "service": "givebutter",
      "name": "get_chapter",
      "description": "Retrieve one Givebutter chapter by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chapterId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Givebutter chapter ID."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Givebutter chapter ID."
              }
            ],
            "description": "The Givebutter chapter ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Givebutter chapter."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "chapter": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "chapter",
          "raw"
        ],
        "description": "The normalized Givebutter chapter response."
      }
    },
    {
      "id": "givebutter.get_contact",
      "service": "givebutter",
      "name": "get_contact",
      "description": "Retrieve one Givebutter contact by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contactId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Givebutter contact ID."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Givebutter contact ID."
              }
            ],
            "description": "The Givebutter contact ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Givebutter contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "contact",
          "raw"
        ],
        "description": "The normalized Givebutter contact response."
      }
    },
    {
      "id": "givebutter.get_fund",
      "service": "givebutter",
      "name": "get_fund",
      "description": "Retrieve one Givebutter fund by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fundId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Givebutter fund ID."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Givebutter fund ID."
              }
            ],
            "description": "The Givebutter fund ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Givebutter fund."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "fund": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "fund",
          "raw"
        ],
        "description": "The normalized Givebutter fund response."
      }
    },
    {
      "id": "givebutter.get_recurring_plan",
      "service": "givebutter",
      "name": "get_recurring_plan",
      "description": "Retrieve one Givebutter recurring plan by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recurringPlanId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Givebutter recurring plan ID."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Givebutter recurring plan ID."
              }
            ],
            "description": "The Givebutter recurring plan ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Givebutter recurring plan."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "recurringPlan": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "recurringPlan",
          "raw"
        ],
        "description": "The normalized Givebutter recurring plan response."
      }
    },
    {
      "id": "givebutter.get_transaction",
      "service": "givebutter",
      "name": "get_transaction",
      "description": "Retrieve one Givebutter transaction by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "transactionId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Givebutter transaction ID."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Givebutter transaction ID."
              }
            ],
            "description": "The Givebutter transaction ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Givebutter transaction."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "transaction": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "transaction",
          "raw"
        ],
        "description": "The normalized Givebutter transaction response."
      }
    },
    {
      "id": "givebutter.list_campaigns",
      "service": "givebutter",
      "name": "list_campaigns",
      "description": "List Givebutter campaigns with pagination and optional official filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Givebutter page number to request."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of Givebutter records to return per page."
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "A string query value."
                },
                {
                  "type": "number",
                  "description": "A numeric query value."
                },
                {
                  "type": "boolean",
                  "description": "A boolean query value."
                }
              ],
              "description": "A Givebutter query parameter value."
            },
            "description": "Additional official Givebutter query parameters for this list endpoint."
          }
        },
        "additionalProperties": false,
        "description": "Pagination and query parameters for listing Givebutter resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw JSON object returned by Givebutter."
            },
            "description": "Raw JSON objects returned by Givebutter."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Givebutter."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "campaigns",
          "links",
          "meta",
          "raw"
        ],
        "description": "The normalized Givebutter campaigns list response."
      }
    },
    {
      "id": "givebutter.list_chapters",
      "service": "givebutter",
      "name": "list_chapters",
      "description": "List Givebutter chapters with pagination and optional official filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Givebutter page number to request."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of Givebutter records to return per page."
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "A string query value."
                },
                {
                  "type": "number",
                  "description": "A numeric query value."
                },
                {
                  "type": "boolean",
                  "description": "A boolean query value."
                }
              ],
              "description": "A Givebutter query parameter value."
            },
            "description": "Additional official Givebutter query parameters for this list endpoint."
          }
        },
        "additionalProperties": false,
        "description": "Pagination and query parameters for listing Givebutter resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "chapters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw JSON object returned by Givebutter."
            },
            "description": "Raw JSON objects returned by Givebutter."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Givebutter."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "chapters",
          "links",
          "meta",
          "raw"
        ],
        "description": "The normalized Givebutter chapters list response."
      }
    },
    {
      "id": "givebutter.list_contacts",
      "service": "givebutter",
      "name": "list_contacts",
      "description": "List Givebutter contacts with pagination and optional official filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Givebutter page number to request."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of Givebutter records to return per page."
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "A string query value."
                },
                {
                  "type": "number",
                  "description": "A numeric query value."
                },
                {
                  "type": "boolean",
                  "description": "A boolean query value."
                }
              ],
              "description": "A Givebutter query parameter value."
            },
            "description": "Additional official Givebutter query parameters for this list endpoint."
          }
        },
        "additionalProperties": false,
        "description": "Pagination and query parameters for listing Givebutter resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw JSON object returned by Givebutter."
            },
            "description": "Raw JSON objects returned by Givebutter."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Givebutter."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "contacts",
          "links",
          "meta",
          "raw"
        ],
        "description": "The normalized Givebutter contacts list response."
      }
    },
    {
      "id": "givebutter.list_funds",
      "service": "givebutter",
      "name": "list_funds",
      "description": "List Givebutter funds with pagination and optional official filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Givebutter page number to request."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of Givebutter records to return per page."
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "A string query value."
                },
                {
                  "type": "number",
                  "description": "A numeric query value."
                },
                {
                  "type": "boolean",
                  "description": "A boolean query value."
                }
              ],
              "description": "A Givebutter query parameter value."
            },
            "description": "Additional official Givebutter query parameters for this list endpoint."
          }
        },
        "additionalProperties": false,
        "description": "Pagination and query parameters for listing Givebutter resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "funds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw JSON object returned by Givebutter."
            },
            "description": "Raw JSON objects returned by Givebutter."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Givebutter."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "funds",
          "links",
          "meta",
          "raw"
        ],
        "description": "The normalized Givebutter funds list response."
      }
    },
    {
      "id": "givebutter.list_recurring_plans",
      "service": "givebutter",
      "name": "list_recurring_plans",
      "description": "List Givebutter recurring plans with pagination and optional official filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Givebutter page number to request."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of Givebutter records to return per page."
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "A string query value."
                },
                {
                  "type": "number",
                  "description": "A numeric query value."
                },
                {
                  "type": "boolean",
                  "description": "A boolean query value."
                }
              ],
              "description": "A Givebutter query parameter value."
            },
            "description": "Additional official Givebutter query parameters for this list endpoint."
          }
        },
        "additionalProperties": false,
        "description": "Pagination and query parameters for listing Givebutter resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "recurringPlans": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw JSON object returned by Givebutter."
            },
            "description": "Raw JSON objects returned by Givebutter."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Givebutter."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "recurringPlans",
          "links",
          "meta",
          "raw"
        ],
        "description": "The normalized Givebutter recurring plans list response."
      }
    },
    {
      "id": "givebutter.list_transactions",
      "service": "givebutter",
      "name": "list_transactions",
      "description": "List Givebutter transactions with pagination and optional official filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Givebutter page number to request."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of Givebutter records to return per page."
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "A string query value."
                },
                {
                  "type": "number",
                  "description": "A numeric query value."
                },
                {
                  "type": "boolean",
                  "description": "A boolean query value."
                }
              ],
              "description": "A Givebutter query parameter value."
            },
            "description": "Additional official Givebutter query parameters for this list endpoint."
          }
        },
        "additionalProperties": false,
        "description": "Pagination and query parameters for listing Givebutter resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw JSON object returned by Givebutter."
            },
            "description": "Raw JSON objects returned by Givebutter."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by Givebutter."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by Givebutter."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw JSON object returned by Givebutter."
          }
        },
        "additionalProperties": false,
        "required": [
          "transactions",
          "links",
          "meta",
          "raw"
        ],
        "description": "The normalized Givebutter transactions list response."
      }
    }
  ]
}
