{
  "service": "daffy",
  "displayName": "Daffy",
  "categories": [
    "Finance"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "DAFFY_API_KEY",
      "description": "Daffy API key sent with the X-Api-Key header. Create or revoke API keys in the API subsection under your Daffy profile settings: https://www.daffy.org/settings/api"
    }
  ],
  "homepageUrl": "https://www.daffy.org/",
  "actions": [
    {
      "id": "daffy.get_balance",
      "service": "daffy",
      "name": "get_balance",
      "description": "Get the balance for the Daffy account associated with the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for this Daffy action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "balance": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Daffy resource object."
          }
        },
        "additionalProperties": false,
        "required": [
          "balance"
        ],
        "description": "The Daffy balance response."
      }
    },
    {
      "id": "daffy.get_current_user",
      "service": "daffy",
      "name": "get_current_user",
      "description": "Get the Daffy user associated with the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for this Daffy action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Daffy resource object."
          }
        },
        "additionalProperties": false,
        "required": [
          "user"
        ],
        "description": "The Daffy current user response."
      }
    },
    {
      "id": "daffy.get_nonprofit",
      "service": "daffy",
      "name": "get_nonprofit",
      "description": "Get a Daffy nonprofit by EIN.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ein": {
            "type": "string",
            "minLength": 1,
            "description": "The nonprofit EIN used by Daffy."
          }
        },
        "additionalProperties": false,
        "required": [
          "ein"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nonprofit": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Daffy resource object."
          }
        },
        "additionalProperties": false,
        "required": [
          "nonprofit"
        ],
        "description": "The Daffy nonprofit response."
      }
    },
    {
      "id": "daffy.get_user",
      "service": "daffy",
      "name": "get_user",
      "description": "Get a Daffy user by username.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 1,
            "description": "The Daffy username."
          }
        },
        "additionalProperties": false,
        "required": [
          "username"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Daffy resource object."
          }
        },
        "additionalProperties": false,
        "required": [
          "user"
        ],
        "description": "The Daffy user response."
      }
    },
    {
      "id": "daffy.get_user_donation",
      "service": "daffy",
      "name": "get_user_donation",
      "description": "Get a specific Daffy donation for a specific user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Daffy user identifier."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Daffy user identifier."
              }
            ],
            "description": "The Daffy user identifier."
          },
          "donationId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Daffy donation identifier."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Daffy donation identifier."
              }
            ],
            "description": "The Daffy donation identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "userId",
          "donationId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "donation": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Daffy resource object."
          }
        },
        "additionalProperties": false,
        "required": [
          "donation"
        ],
        "description": "The Daffy user donation response."
      }
    },
    {
      "id": "daffy.list_contributions",
      "service": "daffy",
      "name": "list_contributions",
      "description": "List contributions for the Daffy account associated with the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Daffy result page to request."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for a paginated Daffy list action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of records returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "page": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The current page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "last": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The last page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The pagination metadata returned by Daffy."
          },
          "contributions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Daffy resource object."
            },
            "description": "The contributions returned by Daffy."
          }
        },
        "additionalProperties": false,
        "required": [
          "meta",
          "contributions"
        ],
        "description": "The Daffy contributions response."
      }
    },
    {
      "id": "daffy.list_donations",
      "service": "daffy",
      "name": "list_donations",
      "description": "List donations for the Daffy account associated with the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Daffy result page to request."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for a paginated Daffy list action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of records returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "page": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The current page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "last": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The last page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The pagination metadata returned by Daffy."
          },
          "donations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Daffy resource object."
            },
            "description": "The donations returned by Daffy."
          }
        },
        "additionalProperties": false,
        "required": [
          "meta",
          "donations"
        ],
        "description": "The Daffy donations response."
      }
    },
    {
      "id": "daffy.list_user_causes",
      "service": "daffy",
      "name": "list_user_causes",
      "description": "List causes associated with a Daffy user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Daffy user identifier."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Daffy user identifier."
              }
            ],
            "description": "The Daffy user identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "userId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "causes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Daffy resource object."
            },
            "description": "The causes returned by Daffy."
          }
        },
        "additionalProperties": false,
        "required": [
          "causes"
        ],
        "description": "The Daffy user causes response."
      }
    },
    {
      "id": "daffy.list_user_donations",
      "service": "daffy",
      "name": "list_user_donations",
      "description": "List Daffy donations for a specific user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Daffy user identifier."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The Daffy user identifier."
              }
            ],
            "description": "The Daffy user identifier."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Daffy result page to request."
          }
        },
        "additionalProperties": false,
        "required": [
          "userId"
        ],
        "description": "The input payload for listing Daffy user donations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of records returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "page": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The current page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "last": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The last page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The pagination metadata returned by Daffy."
          },
          "donations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Daffy resource object."
            },
            "description": "The donations returned by Daffy."
          }
        },
        "additionalProperties": false,
        "required": [
          "meta",
          "donations"
        ],
        "description": "The Daffy user donations response."
      }
    },
    {
      "id": "daffy.search_nonprofits",
      "service": "daffy",
      "name": "search_nonprofits",
      "description": "Search Daffy nonprofits with optional cause and pagination filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The search query used to filter Daffy nonprofits."
          },
          "causeId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Daffy cause identifier used to filter nonprofits."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Daffy result page to request."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for searching Daffy nonprofits."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of records returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "page": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The current page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "last": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The last page number returned by Daffy."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The pagination metadata returned by Daffy."
          },
          "nonprofits": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Daffy resource object."
            },
            "description": "The nonprofits returned by Daffy."
          }
        },
        "additionalProperties": false,
        "required": [
          "meta",
          "nonprofits"
        ],
        "description": "The Daffy nonprofit search response."
      }
    }
  ]
}
